]> Sergey Matveev's repositories - public-inbox.git/commitdiff
import: (v2): write deletes to a separate '_' subdirectory
authorEric Wong (Contractor, The Linux Foundation) <e@80x24.org>
Mon, 19 Mar 2018 08:14:42 +0000 (08:14 +0000)
committerEric Wong (Contractor, The Linux Foundation) <e@80x24.org>
Mon, 19 Mar 2018 08:16:34 +0000 (08:16 +0000)
In the future, we may store "purged" content IDs or other
uncommon stuff under "_/" of the git tree.  This keeps the
top-level tree small and more amenable to deltafication.
This helps the the common case where "m" is most commonly
changed file at the top level.

Also, use 'D' instead of 'd' since it matches git's '--raw'
output format.

lib/PublicInbox/Import.pm
t/v2writable.t

index 94a49fe666f755a1b6da154548a2ea1acc9fe6de..6a640e2360674fce2491f76b21c0ea6ec39c735d 100644 (file)
@@ -208,7 +208,7 @@ sub remove {
        if (defined $path) {
                print $w "D $path\n\n" or wfail;
        } else {
-               print $w "M 100644 :$blob d\n\n" or wfail;
+               print $w "M 100644 :$blob _/D\n\n" or wfail;
        }
        $self->{nchg}++;
        (($self->{tip} = ":$commit"), $cur);
index a5c982e90be592c735870e28f11aeb4e41f1e1da..c6bcefd4f0e1833a0432211177b1e40a0815818b 100644 (file)
@@ -210,7 +210,7 @@ EOF
        is(scalar(@found), 0, 'no longer found in Xapian skeleton');
 
        my $after = $git0->qx(qw(log -1 --pretty=raw --raw -r --no-abbrev));
-       if ($after =~ m!( [a-f0-9]+ )A\td$!) {
+       if ($after =~ m!( [a-f0-9]+ )A\t_/D$!) {
                my $oid = $1;
                ok(index($before, $oid) > 0, 'no new blob introduced');
        } else {