X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=faster-dupemerge;h=9c159eec69ac48863a4e392a258ba767822bab81;hb=e92b42b97ce1be0e2fc8accc46a2a944db923a2f;hp=9920a26bf2bb531bd2a22f2339b83c601aee2cb3;hpb=af4afacf460ad2f6c2eafe7632bb55f2060823c6;p=dupemerge diff --git a/faster-dupemerge b/faster-dupemerge index 9920a26..9c159ee 100755 --- a/faster-dupemerge +++ b/faster-dupemerge @@ -4,7 +4,7 @@ use Fcntl qw(:DEFAULT :flock); use File::Compare; use File::Temp; -# Copyright (C) 2003-2010 Zygo Blaxell +# Copyright (C) 2002-2010 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 @@ -340,10 +340,11 @@ hash_file: print STDERR "\t\tDigesting file $filename\n" if $debug; if ((-l $filename) || ! -f _) { warn "Bogon file " . tick_quote($filename); - $surprises++; + $input_bogons++; + delete $inode_to_file_name{$candidate}->{$filename}; next; } - eval { + eval { $digest = digest($filename); }; if ($@) { @@ -562,10 +563,10 @@ candidate_file: delete $inode_to_file_name{$candidate}; } } + print STDERR '.' if $progress; end_merge: - print STDERR '.' if $progress; print STDERR "Merge done.\n" if $debug; undef %inode_to_file_name; } @@ -578,12 +579,6 @@ while () { print STDERR "weak_key=$weak_key inode=$inode name=$name\n" if $debug; - unless (! (-l $name) && (-f _)) { - warn "Bogon file " . tick_quote($name); - $input_bogons++; - next; - } - $input_links++; merge_files if $weak_key ne $current_key; $current_key = $weak_key; @@ -642,6 +637,7 @@ if ($humane) { $stats_blob =~ s/([^\n]*\n[^\n]*? )(\s+)( [^\n]*\n)/$1 . ('.' x length($2)) . $3/oemg; +print STDERR "\n" if $progress; print STDERR $stats_blob; exit(0);