mirror of
https://github.com/elmindreda/duff.git
synced 2026-03-02 18:23:36 +01:00
418 lines
16 KiB
Plaintext
418 lines
16 KiB
Plaintext
Change log for duff
|
|
===================
|
|
|
|
Maintained since version 0.3.1.
|
|
|
|
2017-05-23 Camilla Löwy <elmindreda@elmindreda.org>
|
|
|
|
* configure.ac Makefile.am: Removed duplicate file entries.
|
|
|
|
2015-08-13 Camilla Löwy <elmindreda@elmindreda.org>
|
|
|
|
* duff.c duff.h duffdriver.c dufffile.c duffstring.c duffstring.h duffutil.c:
|
|
Changed indent width.
|
|
* duffdriver.c (process_path): Decreased nesting depth.
|
|
|
|
2013-09-13 Camilla Löwy <elmindreda@elmindreda.org>
|
|
|
|
* duffutil.c (set_digest_function): Changed to accept a string.
|
|
* duff.h duff.c duffutil.c: Made all digest function selection logic local to
|
|
util module.
|
|
|
|
2013-07-23 Camilla Löwy <elmindreda@elmindreda.org>
|
|
|
|
* dufffile.c (compare_files): Cleaned up devnode comparison logic.
|
|
|
|
2013-07-21 Camilla Löwy <elmindreda@elmindreda.org>
|
|
|
|
* dufffile.c duffutil.c: Removed superfluous casts of malloc and realloc.
|
|
|
|
2012-09-21 Camilla Löwy <elmindreda@elmindreda.org>
|
|
|
|
* duffdriver.c (follow_links_mode): Corrected type (credits to Michael
|
|
Tautschnig).
|
|
|
|
2012-09-07 Camilla Löwy <elmindreda@elmindreda.org>
|
|
|
|
* join-duplicates.sh: Removed redundant use of touch(1).
|
|
|
|
2012-03-30 Camilla Löwy <elmindreda@elmindreda.org>
|
|
|
|
* configure.ac: Enabled ISO Standard C.
|
|
|
|
* duff.h duffdriver.c: Corrected order of types and typedefs.
|
|
|
|
2012-02-19 Camilla Löwy <elmindreda@elmindreda.org>
|
|
|
|
* duffdriver.c (process_directory): Made asprintf error exit.
|
|
|
|
* duffstring.c (vasprintf): Simplified allocation.
|
|
* duffstring.c (vasprintf): Made internal buffer overflow an error.
|
|
|
|
* join-duplicates.sh: Added missing IFS clearing.
|
|
|
|
2012-02-15 Camilla Löwy <elmindreda@elmindreda.org>
|
|
|
|
* duff.h duffutil.c (init_digest): Renamed from digest_init.
|
|
* duff.h duffutil.c (update_digest): Renamed from digest_update.
|
|
* duff.h duffutil.c (finish_digest): Renamed from digest_finish.
|
|
|
|
* duff.1: Updated language on the different modes.
|
|
* duff.1: Updated examples.
|
|
* join-duplicates.sh: Fixed a few duff invocation bugs.
|
|
|
|
2012-02-13 Camilla Löwy <elmindreda@elmindreda.org>
|
|
|
|
* duff.1: Added documentation for -u flag.
|
|
* duff.h (DUPLICATE): Renamed from REPORTED.
|
|
* duffdriver.c (process_uniques): Added function.
|
|
* duffdriver.c (process_args): Added logic for -u flag.
|
|
* duff.c (main, usage): Added -u flag for listing unique instead of duplicate
|
|
files.
|
|
|
|
2012-02-12 Camilla Löwy <elmindreda@elmindreda.org>
|
|
|
|
* duffutil.c duff.h (PATH_SIZE_STEP): Added constant macro.
|
|
|
|
* duff.1: Added documentation for -D flag.
|
|
* dufffile.c (compare_files): Added logic for -D flag.
|
|
* duff.c (main, usage): Added -D flag for limiting clusters to a single device.
|
|
|
|
* duff.1: Various clarifications.
|
|
|
|
2012-01-28 Camilla Löwy <elmindreda@elmindreda.org>
|
|
|
|
* dufffile.c (compare_files): Removed superflous physical_flag test.
|
|
* duff.h dufffile.c (init_file_list): Renamed from file_list_init.
|
|
* duff.h dufffile.c (alloc_file): Renamed from file_list_alloc.
|
|
* duff.h dufffile.c (file_list_empty): Renamed from empty_file_list.
|
|
* duff.h dufffile.c (free_entry_list): Renamed from file_list_free.
|
|
* duffdriver.c dufffile.c duffutil.c: Put non-static functions on top.
|
|
|
|
* duffdriver.c (process_clusters): Initialized cluster index.
|
|
|
|
* duffdriver.c (report_cluster): Made use of get_field_terminator.
|
|
* duffutil.c (read_path): Made use of get_field_terminator.
|
|
* duffutil.c (get_field_terminator): Added function.
|
|
* duffutil.c (read_path): Removed limit on path length, updated signature.
|
|
|
|
2012-01-27 Camilla Löwy <elmindreda@elmindreda.org>
|
|
|
|
* dufffile.c (compare_entry_contents): Made warnings take -q into account.
|
|
* dufffile.c (get_file_sample): Tagged file INVALID on read error.
|
|
* dufffile.c (compare_file_digests): Replaced for-loop with memcmp.
|
|
* dufffile.c (get_file_sample, get_file_digest): Replaced pointer checks with
|
|
status checks.
|
|
* duff.h (Status): Added SAMPLED and HASHED values.
|
|
* duffdriver.c (process_clusters): Added test for whether base item has entered
|
|
INVALID state.
|
|
* dufffile.c (get_file_sample, get_file_digest): Removed duplicate check for
|
|
INVALID state.
|
|
|
|
2012-01-25 Camilla Löwy <elmindreda@elmindreda.org>
|
|
|
|
* duff.h (Status): Removed unused DUPLICATE status.
|
|
|
|
* duffdriver.c (process_file): Removed read permission check on files (credits
|
|
to Kamal Mostafa).
|
|
|
|
2012-01-24 Camilla Löwy <elmindreda@elmindreda.org>
|
|
|
|
* duff.h (HASH_BITS): Increased to 10.
|
|
|
|
* duffdriver.c (print_terminator): Added function.
|
|
|
|
* duff.h duffdriver.c dufffile.c (file_list_*): Renamed from entry_list_*.
|
|
* duff.h duffdriver.c dufffile.c (free_file): Renamed from free_entry.
|
|
* duff.h duffdriver.c dufffile.c (init_file): Renamed from fill_entry.
|
|
* duff.h duffdriver.c dufffile.c duffutil.c (FileList): Renamed from EntryList.
|
|
* duff.h duffdriver.c dufffile.c duffutil.c (File): Renamed from Entry.
|
|
* dufffile.c: Renamed from duffentry.c.
|
|
* duffdriver.c (has_recorded_directory): Renamed from has_recursed_directory.
|
|
* duffdriver.c (DirList): Added array of Dir structs.
|
|
* duffdriver.c (Dir): Renamed from Directory and removed list link.
|
|
* duff.h duffdriver.c: Moved Directory to duffdriver.
|
|
* duffdriver.c (process_directory): Renamed from recurse_directory.
|
|
* duff.h (EntryList): Renamed from List.
|
|
|
|
* duffentry.c (get_entry_sample, get_entry_digest, compare_entry_contents):
|
|
Improved error reporting.
|
|
|
|
* duff.h duffentry.c: Added BUFFER_SIZE macro for size of read buffers.
|
|
|
|
* duff.1: Improved grammar for -z flag.
|
|
|
|
* duff.1: Clarified language for -e flag.
|
|
|
|
* duff.1: Fixed statement claiming digests are calculated in thorough mode.
|
|
|
|
2012-01-23 Camilla Löwy <elmindreda@elmindreda.org>
|
|
|
|
* duffdriver.c (process_args, process_clusters): Moved freeing of entries to
|
|
directly after each bucket has been processed.
|
|
|
|
* duffdriver.c (process_clusters): Renamed from report_clusters.
|
|
|
|
* duffdriver.c: Moved from single to BUCKET_COUNT entry lists, indexed by size.
|
|
|
|
* duffdriver.c (process_args): Added function.
|
|
* duffdriver.c (process_path, report_clusters): Made private to duffdriver.
|
|
* duff.c duffdriver.c: Moved argument processing to duffdriver.
|
|
|
|
* duffentry.c (fill_entry): Renamed function from make_entry.
|
|
* duffdriver.c (free_entry_list): Removed function.
|
|
* duffdriver.c: Replaced doubly linked lists with List.
|
|
* duffutil.c (entry_list_init, entry_list_alloc, entry_list_empty,
|
|
entry_list_free): Added entry list functions.
|
|
* duffutil.c (link_entry, unlink_entry): Removed functions.
|
|
* duff.h (List): Added linear entry list struct and typedef.
|
|
* duff.h (Entry): Removed list links.
|
|
|
|
* duff.c (main): Saved header digest use before processing entries.
|
|
* duff.c (header_uses_digest): Added global flag.
|
|
* duffentry.c (report_cluster): Ensured that first cluster entry has digest.
|
|
* duffentry.c (compare_entries): Added more early-out cases.
|
|
* duffentry.c (get_entry_digest): Stopped reading empty files.
|
|
* duffentry.c (generate_entry_digest): Added function.
|
|
* duffentry.c (get_entry_digest): Hash sample if it contains entire file.
|
|
|
|
* duffutil.c (error, warning): Prefixed program name to output.
|
|
|
|
* duffutil.c (set_digest_function): Added function.
|
|
* duffutil.c (digest_init): Added function.
|
|
* duffutil.c (digest_update): Added function.
|
|
* duffutil.c (digest_finish): Added function.
|
|
* duff.c duffutil.c duffentry.c: Moved all calls to sha to duffutil.
|
|
* duff.c duffutil.c duffentry.c: Made digest_function private to duffutil.
|
|
|
|
* duff.1 duff.c: Changed default sampling limit to zero.
|
|
|
|
2012-01-22 Camilla Löwy <elmindreda@elmindreda.org>
|
|
|
|
* duff.c duff.h duffentry.c: Changed sampling to read (up to) the first
|
|
SAMPLE_SIZE bytes (credits to Kamal Mostafa).
|
|
* duff.c: Clarified help for -H and -L flags.
|
|
* duff.c: Added list of supported digest functions to help for -d flag.
|
|
|
|
2012-01-20 Camilla Löwy <elmindreda@elmindreda.org>
|
|
|
|
* duff.1: Added missing -type f to example (credits to Stephan Hegel).
|
|
|
|
2012-01-19 Camilla Löwy <elmindreda@elmindreda.org>
|
|
|
|
* duff.h: Tagged functions error and warning with GCC attributes.
|
|
* duff.1: Clarified default sampling limit.
|
|
* duffdriver.c: Renamed cluster index variable to index.
|
|
|
|
2012-01-18 Camilla Löwy <elmindreda@elmindreda.org>
|
|
|
|
* duff.1: Clarified language regarding -t and %d.
|
|
* duff.1: Made the output of examples human-readable.
|
|
|
|
2012-01-16 Camilla Löwy <elmindreda@elmindreda.org>
|
|
|
|
* duff.1: Added new cluster header to description of -f flag.
|
|
* duff.c (main): Added error if thorough mode output uses digest (credits to
|
|
Kamal Mostafa and Mika Kuoppala).
|
|
* duff.c (main): Added non-digest default cluster header for thorough mode.
|
|
* duffutil.c duff.h: Added function cluster_header_uses_digest.
|
|
|
|
2011-04-11 Camilla Löwy <elmindreda@elmindreda.org>
|
|
|
|
* duff.c (main): Made cluster header translatable.
|
|
* duffutil.c (error): Changed exit status to EXIT_FAILURE.
|
|
* duffdriver.c (process_path): Split file processing into process_file function.
|
|
* duffdriver.c (process_file): Reverted to old behaviour of skipping block devices.
|
|
|
|
2011-04-10 gettextize <bug-gnu-gettext@gnu.org>
|
|
|
|
* Makefile.am (SUBDIRS): Add po.
|
|
(ACLOCAL_AMFLAGS): New variable.
|
|
(EXTRA_DIST): Add config.rpath, m4/ChangeLog.
|
|
* configure.ac (AC_OUTPUT): Add po/Makefile.in.
|
|
|
|
2011-04-10 Camilla Löwy <elmindreda@elmindreda.org>
|
|
|
|
* duff.c duff.h duffdriver.c duffentry.c: Changed gettext macro to _.
|
|
* gettext.h: Added file to lib directory.
|
|
* duff.c (usage): Improved grammar in help text.
|
|
* duff.c duff.h duffdriver.c duffentry.c: Enabled use of gettext.
|
|
* duff.c duff.h duffdriver.c duffentry.c duffutil.c
|
|
duffstring.c: Moved to use autoconf large file support detection.
|
|
|
|
2010-08-15 Camilla Löwy <elmindreda@elmindreda.org>
|
|
|
|
* duff.c (usage): Annotated strings for i18n.
|
|
* duff.c (main): Made digest function name comparison case-insensitive.
|
|
|
|
2009-09-21 Camilla Löwy <elmindreda@elmindreda.org>
|
|
|
|
* duff.h: Added enum typedefs.
|
|
|
|
2009-09-20 Camilla Löwy <elmindreda@elmindreda.org>
|
|
|
|
* duff.c (version, usage, bugs): Changed to output to stdout.
|
|
|
|
2009-09-19 Camilla Löwy <elmindreda@elmindreda.org>
|
|
|
|
* bootstrap.sh: Added instruction to run configure.
|
|
* duffentry.c (get_entry_digest): Removed broken optimization.
|
|
* duff.1: Added note on file modification.
|
|
* duff.h: Added struct typedefs.
|
|
|
|
2009-08-09 Camilla Löwy <elmindreda@elmindreda.org>
|
|
|
|
* duffdriver.c (recurse_directory): Added error handling for asprintf.
|
|
* duffentry.c (get_entry_samples): Added error handling for fread.
|
|
* duffutil.c (error, warning): Added error handling for asprintf.
|
|
* duff.c (usage): Clarified wording of help text.
|
|
|
|
2009-01-16 Camilla Löwy <elmindreda@elmindreda.org>
|
|
|
|
* duff.c (read_path, kill_trailing_slashes): Moved functions into duffutil.c.
|
|
* duff.h: Added declarations for read_path and kill_trailing_slashes.
|
|
* duff.c (version): Annotated strings for i18n.
|
|
|
|
2009-01-05 Camilla Löwy <elmindreda@elmindreda.org>
|
|
|
|
* duff.c (main): Moved option default values into source file.
|
|
* duff.c (main) (usage): Renamed -c flag to -d.
|
|
|
|
2009-01-04 Camilla Löwy <elmindreda@elmindreda.org>
|
|
|
|
* duff.c duffdriver.c duffentry.c duffstring.c duffutil.c: Annotated strings for i18n.
|
|
* duff.c (main): Added call to setlocale(3).
|
|
|
|
2009-01-03 Camilla Löwy <elmindreda@elmindreda.org>
|
|
|
|
* sha256.c: Added file.
|
|
* sha256.h: Added file.
|
|
* sha384.c: Added file.
|
|
* sha384.h: Added file.
|
|
* sha512.c: Added file.
|
|
* sha512.h: Added file.
|
|
* duffutil.c (print_message_digest): Added function.
|
|
* duffutil.c (print_cluster_header): Added call to print_message_digest.
|
|
* duffentry.c (get_entry_digest): Added support for digest function selection.
|
|
* duffentry.c (get_entry_digest_sha1) (get_entry_digest_sha256)
|
|
(get_entry_digest_sha384) (get_entry_digest_sha512): Added function.
|
|
* duff.c (main) (usage): Added -c option for selecting digest function.
|
|
* duff.h: Added digest function enumeration.
|
|
|
|
* duff.c duffdriver.c duffentry.c duffstring.c duffutil.c: Made off_t 64-bit on glibc.
|
|
|
|
2006-10-07 Camilla Löwy <elmindreda@elmindreda.org>
|
|
|
|
* duff.c (main): Always kill trailing slashes (and in a nicer way).
|
|
* duff.c (kill_trailing_slashes): Added function.
|
|
* duff.c (main) (read_path): Don't kill newlines for -0 option.
|
|
|
|
2006-09-29 Camilla Löwy <elmindreda@elmindreda.org>
|
|
|
|
* duff.c (main) (usage): Added -0 option (credits to Clemens Lucas Fries).
|
|
* duff.c (read_path): Added function.
|
|
* duffdriver.c (report_clusters): Added -0 option (credits to Clemens Lucas Fries).
|
|
* duffutil.c (print_cluster_header): Removed newline termination.
|
|
|
|
2006-01-11 Camilla Löwy <elmindreda@elmindreda.org>
|
|
|
|
* duffdriver.c (stat_file): Added parenthesis to remove warning.
|
|
|
|
2006-01-09 Camilla Löwy <elmindreda@elmindreda.org>
|
|
|
|
* duff.h (copy_entry): Removed unused function.
|
|
* duffentry.c (copy_entry): Removed unused function.
|
|
|
|
* duffdriver.c (process_path): Only check access for non-empty files.
|
|
* duffentry.c (get_entry_samples)
|
|
(get_entry_checksum): Only open and read from non-empty files.
|
|
|
|
* join-duplicates.sh: Removed logging, added some error checking and mktemp.
|
|
|
|
2006-01-08 Camilla Löwy <elmindreda@elmindreda.org>
|
|
|
|
* join-duplicates.sh: Added file (credits to Ross Newell).
|
|
|
|
2006-01-07 Camilla Löwy <elmindreda@elmindreda.org>
|
|
|
|
* duffentry.c (get_entry_samples): Fixed seek bug (credits to Alexander Bostrom).
|
|
|
|
* duffdriver.c (stat_file): Removed collection of symlinks to files.
|
|
|
|
* duff.h: Added enum for symlink dereferencing modes.
|
|
* duffdriver.c (stat_file): Implemented symlink dereferencing modes.
|
|
* duffdriver.c (process_path, recurse_directory)
|
|
(stat_file): Added recursion depth tracking.
|
|
* duff.c (main, usage): Added -H option for following only symlinks listed as arguments.
|
|
|
|
* duff.c (main): Reordered options for better clarity.
|
|
|
|
* duff.c (main): Improved warnings for -l option.
|
|
|
|
2006-01-04 Camilla Löwy <elmindreda@elmindreda.org>
|
|
|
|
* duffentry.c (compare_entries): Removed code for -z option.
|
|
* duffdriver.c (stat_file): Do not collect empty files when using -z option.
|
|
|
|
* duffdriver.c (report_clusters): Fixed unlink bug.
|
|
* duffdriver.c (report_clusters): All entries are now freed by the cluster search phase.
|
|
|
|
2006-01-03 Camilla Löwy <elmindreda@elmindreda.org>
|
|
|
|
* duff.h: Added inode and device fields to struct Entry (credits to Ross Newell).
|
|
* duffdriver.c (process_path): Implemented physical mode (credits to Ross Newell).
|
|
* duff.c (main, usage): Added -p option for physical mode.
|
|
|
|
* duff.h: Added backlink to struct Entry.
|
|
* duffentry.c (unlink_entry, link_entry): Added functions.
|
|
* duffentry.c (make_entry): Added storing of device and inode fields.
|
|
* duffdriver.c: Moved to using doubly-linked entries.
|
|
|
|
2005-12-14 Camilla Löwy <elmindreda@elmindreda.org>
|
|
|
|
* duffdriver.c (stat_file): Eliminated duplicate stat call for -L option.
|
|
|
|
* duffdriver.c (stat_file): Added inital sketch for symlink-aware -e option.
|
|
|
|
2005-12-01 Camilla Löwy <elmindreda@elmindreda.org>
|
|
|
|
* duffutil.c (print_cluster_header): Fixed bug when printing off_t values on Mac OS X.
|
|
|
|
* duffdriver.c: Added includes for building on Solaris.
|
|
* duff.c: Added includes for building on Solaris.
|
|
|
|
2005-11-28 Camilla Löwy <elmindreda@elmindreda.org>
|
|
|
|
* duffdriver.c (has_recursed_directory)
|
|
(record_directory): Added primitive directory loop detection.
|
|
* duffutil.c: Added hash function for device/inode pair.
|
|
* duff.h: Added struct Directory for recording of recursed directories.
|
|
|
|
* duffdriver.c: Added several additional TODO items.
|
|
|
|
2005-11-27 Camilla Löwy <elmindreda@elmindreda.org>
|
|
|
|
* duffdriver.c (report_clusters): Added freeing of entries.
|
|
|
|
* duffentry.c (compare_entries): Added code for -z option.
|
|
|
|
* duff.c (main): Added file name reading from stdin.
|
|
|
|
2005-11-26 Camilla Löwy <elmindreda@elmindreda.org>
|
|
|
|
* duff.c (main, usage): Added -z option for ignoring empty files.
|
|
|
|
* duff.c: Moved primary driver logic into duffdriver.c.
|
|
* duffdriver.c: Created new file for primary driver logic.
|
|
|
|
2005-11-24 Camilla Löwy <elmindreda@elmindreda.org>
|
|
|
|
* duff.c: Added missing 't' to the getopt string (credits to Richard Levitte).
|
|
|
|
* duffentry.c (compare_entries): Fixed bug in ordering of phases.
|
|
|
|
2005-11-23 Camilla Löwy <elmindreda@elmindreda.org>
|
|
|
|
* duff.c (usage): Fixed typo in -t option (credits to Patrik Jarnefelt).
|
|
|