RELEASE NOTES FOR DUPEFINDER 1.0.2
These notes apply to DupeFinder 1.0.2. Check http://www.monsterden.net/software/dupefinder for information on the latest release.
CHANGELOG
1.0.2
Fixed bug preventing file dialog from opening with newer versions of Qt. This bug prevented selecting search directories, renaming files, and saving reports.
Also fixed some bugs relating to symbolic links. For safety reasons symbolic links are ignored (if symbolic links were included in search results along with normal files it is possible that a user could delete the only true instance of a file while leaving only a symbolic link). Broken symbolic links (including self-referential symlinks), which previously cause the duplicate search to fail are now ignored. When run from the console DupeFinder will report a warning for any symbolic link encountered (valid or broken).
1.0.1
Fixes an issue in using Python interface code generated by older versions of pyuic (pre-3.14) with newer versions of PyQt (3.14 and later). Specifically a problem with QSizePolicy.setSizePolicy() that prevented the GUI from being shown is fixed in this update.
REQUIREMENTS
Python interpreter
Qt (GUI Toolkit)
PyQt (Python bindings for Qt)
md5sum utility
All of these components are available on most Linux, BSD, and UNIX systems capable of running the X Window System (X11). On most modern Linux desktop systems Python, Qt, and md5sum will be installed, but PyQt likely will not be (at least by default). Check with your distribution provider for a PyQt installation package.
DupeFinder has been tested with Python 2.3 and 2.4 and Qt 3.1 through 3.3. It will likely run on any system with Python 2.2 or later and/or older versions of Qt, but this has not been tested and so exact minimum requirements are not precisely known.
Running DupeFinder on Windows should be possible, but might require a lot of
effort unless most of the components are already in place for other
applications. Qt and PyQt for Windows are currently only available with a
commercial license. Python requires a separate install (available from
python.org or activestate.com). An md5sum utility is needed (one not tested by
the author is available from
http://downloads.activestate.com/contrib/md5sum/Windows/ ). Alternatively it is
probably possible to satisfy all of the dependencies through X11 on Cygwin.
INSTALLATION (all systems)
Simply unzip DupeFinder-src-1.0.2.tar.gz in an appropriate location. A directory "dupefinder" will be created containing the Python sources need to run the application.
To run DupeFinder like a "normal application", make a Start menu or desktop shortcut that executes the command
python <PATH TO DUPEFINDER>/DupeFinder.py if the Python interpreter is in your system's PATH, or
<PATH TO PYTHON>/python <PATH TO DUPEFINDER>/DupeFinder.py if Python is not in the PATH. Change the "/"s to "\"s on Windows systems.
Standalone binaries are not currently available for DupeFinder.
USAGE
Start DupeFinder by invoking your system's Python interpreter with the DupeFinder.py script as the parameter, as described in the INSTALLATION section.
Once running the application is fairly self-explanatory. All controls support tooltips for a brief explanation with the "What's This" button (on supported platforms/window managers) providing more in-depth information.
Useful Tips:
- Use file extension filters whenever possible, especially for large
directory structures, as this can drastically reduce the number of checksums
generated (which consumes nearly all of the time in a duplicates search).
- If you know ahead of time that all duplicates within a large directory
structure will only appear within smaller directories (e.g. directory A
contains sub-directories B, C and D, and files in B are only duplicates of
other files in B, etc.) consider performing separate searches on each
sub-directory instead of one full search on the entire directory structure.
This will dramatically reduce search time if there are many files with the
same file sizes but different data between the different directories.
- Use the keyboard to navigate quickly through the results viewer. Up and Down
arrows move between files, ENTER invokes the viewer dialog, and the SPACEBAR
marks/unmarks the current file for later batch deletion.
NOTE: although DupeFinder is intended to be run graphically and interactively, the FindDupFiles.py script can be run standalone from the console. It takes a root search directory followed by any number of file extension filters as command line arguments and outputs the identified duplicate file groups (in no particular order) to STDOUT. This output can be piped to a pager such as less for immediate inspection or redirected straight to a text file using the ">" shell operator (on UNIX-like systems) for logging/reporting.
BUGS AND KNOWN ISSUES
DupeFinder 1.0.2 has been fairly well tested, so there are few known serious bugs. minor bugs, limitations, or potentially lacking features that are known are described here:
- Unicode file names are not handled properly (duplicates will be found, but cannot be deleted)
- There is no way to limit directory search depth, all subdirectories are searched automatically
- Only one file viewer can be selected at a time
- There is no way to refresh the search results, so files which are moved or modified in any way are not updated (appropriate error messages are displayed if an attempt is made to view, rename, move or delete a file which no longer exists at the original name and location)
- DupeFinder does not attempt to determine if a file's data has changed between when the file was identified as a duplicate and when the command to delete it is made
Depending on user feedback and problem complexity, some of these features may be implemented in later releases.
LICENSE
DupeFinder is Free Software, and is licensed under the GPL (GNU Public License) version 2.0. See the LICENSE file for details.
AUTHOR
DupeFinder 1.0.2 is written and maintained by Matt Heinzen. Contact at arkaein@monsterden.net with any questions, suggestions, bug reports or patches for DupeFinder.
