X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?p=dupemerge;a=blobdiff_plain;f=faster-dupemerge;h=2c85685b7056ba3c55abb05df99d84faf7aa34bb;hp=ef86fbb4898306a0d0805cf49679c3758424120e;hb=5d6afd72794a9be8dcf2040fd4cad7fb1ad75cd6;hpb=f58c1c6b10b0d913ea800ad7440b52d12a89ac52 diff --git a/faster-dupemerge b/faster-dupemerge index ef86fbb..2c85685 100755 --- a/faster-dupemerge +++ b/faster-dupemerge @@ -4,7 +4,7 @@ use Fcntl qw(:DEFAULT :flock); use File::Compare; use File::Temp; -# Copyright (C) 2002-2010 Zygo Blaxell +# Copyright (C) 2002-2012 Zygo Blaxell # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -161,7 +161,8 @@ hard links). --timestamps mtime may be different for identical files - --skip-compare skip byte-by-byte file comparisons + --skip-compare skip byte-by-byte file comparisons, + compare only file hashes --skip-hash[=N] skip calculation of hash function on files larger than N bytes (default 1M). @@ -174,6 +175,12 @@ hard links). --verbose report files as they are considered --zeros hard-link zero-length files too + +--skip-compare and --skip-hash can be combined, in which case a file is +either hashed (if it is below the --skip-hash size threshold) or compared +(if it is above), but never both. + +Version: 0.20120103 USAGE } @@ -242,7 +249,7 @@ while ($#ARGV >= 0) { } } -@directories or usage; +@directories or usage($0); if (defined($lock_file) && !$dry_run) { sysopen(LOCK_FILE, $lock_file, O_CREAT|O_RDONLY, 0666) or die "open: $lock_file: $!"; @@ -665,7 +672,7 @@ if ($humane) { sub space_numbers { my ($num) = @_; - 1 while $num =~ s/(\d)(\d\d\d)( \d\d\d)*$/$1 $2$3/os; + 1 while $num =~ s/(\d)(\d\d\d)((?: \d\d\d)*)$/$1 $2$3/os; $num = ' ' x ($max_num_len - length($num)) . $num; return $num; }