projects
/
dupemerge
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Digest::SHA: deprecate Digest::SHA1, bump version to 0.20120914 and copyright year...
[dupemerge]
/
faster-dupemerge
diff --git
a/faster-dupemerge
b/faster-dupemerge
index ef86fbb4898306a0d0805cf49679c3758424120e..62f4bc99c47b401bff653a252366eb9ef11e28e2 100755
(executable)
--- a/
faster-dupemerge
+++ b/
faster-dupemerge
@@
-4,7
+4,7
@@
use Fcntl qw(:DEFAULT :flock);
use File::Compare;
use File::Temp;
use File::Compare;
use File::Temp;
-# Copyright (C) 2002-201
0
Zygo Blaxell <faster-dupemerge@mailtoo.hungrycats.org>
+# Copyright (C) 2002-201
2
Zygo Blaxell <faster-dupemerge@mailtoo.hungrycats.org>
# 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
# 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
@@
-42,11
+42,11
@@
my $lost_bytes = 0;
my $surprises = 0;
eval '
my $surprises = 0;
eval '
- use Digest::SHA
1
qw(sha1 sha1_hex sha1_base64);
+ use Digest::SHA qw(sha1 sha1_hex sha1_base64);
';
if ($@) {
';
if ($@) {
- warn "Digest::SHA
1: $@\nUsing external md5sum program to generate hashes.\nPlease install Digest::SHA1 (libdigest-sha1-perl)
";
+ warn "Digest::SHA
: $@\nUsing external md5sum program to generate hashes.\nPlease install Digest::SHA
";
eval <<'DIGEST';
sub really_digest {
eval <<'DIGEST';
sub really_digest {
@@
-72,7
+72,7
@@
DIGEST
sub really_digest {
my ($filename) = (@_);
die "'$filename' is not a plain file" if (-l $filename) || ! (-f _);
sub really_digest {
my ($filename) = (@_);
die "'$filename' is not a plain file" if (-l $filename) || ! (-f _);
- my $ctx = Digest::SHA
1
->new;
+ my $ctx = Digest::SHA->new;
sysopen(FILE, $filename, O_RDONLY|O_NONBLOCK) or die "open: $filename: $!";
binmode(FILE); # FIXME: Necessary? Probably harmless...
$ctx->addfile(\*FILE);
sysopen(FILE, $filename, O_RDONLY|O_NONBLOCK) or die "open: $filename: $!";
binmode(FILE); # FIXME: Necessary? Probably harmless...
$ctx->addfile(\*FILE);
@@
-161,7
+161,8
@@
hard links).
--timestamps mtime may be different for identical files
--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).
--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
--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.20120914
USAGE
}
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: $!";
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) = @_;
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;
}
$num = ' ' x ($max_num_len - length($num)) . $num;
return $num;
}