dm6: drop inode and digest suffixes
[dupemerge] / dm6
diff --git a/dm6 b/dm6
index 34bb654f41f9bf77c33e933557414e51e99c2a68..4cd11b02f43767f63a913cbaa7715c6fd553eecc 100755 (executable)
--- a/dm6
+++ b/dm6
@@ -9,7 +9,7 @@ use File::Temp;
 use File::stat;
 use MIME::Base64;
 
-# Copyright (C) 2010 Zygo Blaxell <dm5@mailtoo.hungrycats.org>
+# Copyright (C) 2010 Zygo Blaxell <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
@@ -41,7 +41,7 @@ sub usage {
 Usage: $0 link-dir
 Hashes a NUL-separated list of files on stdin into link-dir.
 
-Version: 20100513.0
+Version: 0.20100514
 USAGE
 }
 
@@ -104,22 +104,18 @@ sub prepare_parents {
        return "$parent/$suffix";
 }
 
-sub name_quad {
+sub name_ino {
        my ($int64) = @_;
-       my $packed = pack('Q', $int64);
+       my $packed = pack('Q>', $int64);
        $packed =~ s/^\0+//os;
        my $base64_packed = encode_base64($packed, '');
+       $base64_packed =~ y:/:_:;
        # Don't strip off the trailing padding since it makes the string
        # so short we end up just putting it back on again.
        # $base64_packed =~ s/=+$//os;
        return $base64_packed;
 }
 
-sub name_ino {
-       my ($ino) = @_;
-       return name_quad($ino) . 'I';
-}
-
 # ext3 cannot handle more than 32000 links to a file.  Leave some headroom.
 # Arguably this should be configurable, but the losses are miniscule and
 # the coding for option support is not.
@@ -175,7 +171,7 @@ while (<STDIN>) {
                        $digest =~ y:/:_:;
 
                        # Check link to digest
-                       my $digest_link = prepare_parents($link_dir, "${digest}D");
+                       my $digest_link = prepare_parents($link_dir, $digest);
                        print STDERR 'D';
                        my $digest_st = lstat($digest_link);
                        if ($digest_st) {