From: Eric Wong (Contractor, The Linux Foundation) Date: Mon, 19 Mar 2018 08:14:42 +0000 (+0000) Subject: import: (v2): write deletes to a separate '_' subdirectory X-Git-Tag: v1.1.0-pre1~160 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=bafd4084d8e78ef48205e6ce573f1bbe52a669a8;p=thirdparty%2Fpublic-inbox.git 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. --- 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 {