From bafd4084d8e78ef48205e6ce573f1bbe52a669a8 Mon Sep 17 00:00:00 2001 From: "Eric Wong (Contractor, The Linux Foundation)" Date: Mon, 19 Mar 2018 08:14:42 +0000 Subject: [PATCH] import: (v2): write deletes to a separate '_' subdirectory 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 | 2 +- t/v2writable.t | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/PublicInbox/Import.pm b/lib/PublicInbox/Import.pm index 94a49fe66..6a640e236 100644 --- a/lib/PublicInbox/Import.pm +++ b/lib/PublicInbox/Import.pm @@ -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); diff --git a/t/v2writable.t b/t/v2writable.t index a5c982e90..c6bcefd4f 100644 --- a/t/v2writable.t +++ b/t/v2writable.t @@ -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 { -- 2.47.3