dm6: don't erase 'd' (digest) progress marks
[dupemerge] / dm6
diff --git a/dm6 b/dm6
index dbec0475301f71e49e7fdc90adff13ffc6978b92..dcc6663cd0dc302be25f88df1866f12311d6cd66 100755 (executable)
--- a/dm6
+++ b/dm6
@@ -41,7 +41,7 @@ sub usage {
 Usage: $0 link-dir
 Hashes a NUL-separated list of files on stdin into link-dir.
 
-Version: 0.20100518
+Version: 0.20100519
 USAGE
 }
 
@@ -168,7 +168,6 @@ while (<STDIN>) {
                        # Compute digest
                        print STDERR 'd';
                        my $digest = digest($file);
-                       print STDERR "\b";
 
                        # Base64 uses /, we prefer _
                        $digest =~ y:/:_:;
@@ -219,8 +218,8 @@ while (<STDIN>) {
 # Garbage collection
 print STDERR "\nGarbage collection in '$link_dir'...";
 chdir($link_dir) || die "chdir: $link_dir: $!";
-print STDERR "\nRemoving files with link count < 3...";
-system("find . -type f -links -3 -print0 | xargs -0rt rm -f") and die "system: exit status $?";
+print STDERR "\nRemoving files with link count < 3 and temporary links...";
+system('find . -type f \( -links -3 -o -name ".*" \) -print0 | xargs -0rt rm -f') and die "system: exit status $?";
 print STDERR "\nRemoving empty directories...";
 system("find . -type d -empty -print0 | xargs -0rt rmdir -p --ignore-fail-on-non-empty") and die "system: exit status $?";
 print STDERR "\nDone.\n";