From 0e933ed9b8a751d70623f72fbee98ad77af7578c Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Fri, 28 Dec 2018 10:16:11 +0000 Subject: init: allow --skip of old epochs for -V2 repos This allows archivists to publish incomplete archives with newer mail while allowing "0.git" (or "1.git" and so on) epochs to be added-after-the-fact (without affecting "git clone" followers). A reindex will be necessary for Xapian and SQLite to catch up once the old epochs are added; but the reindexing code is also capable of tolerating missing epochs. --- script/public-inbox-init | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'script/public-inbox-init') diff --git a/script/public-inbox-init b/script/public-inbox-init index 1aec799c..39f7497f 100755 --- a/script/public-inbox-init +++ b/script/public-inbox-init @@ -17,8 +17,10 @@ sub x { system(@_) and die join(' ', @_). " failed: $?\n" } sub usage { print STDERR "Usage: $usage\n"; exit 1 } my $version = undef; my $indexlevel = undef; +my $skip; my %opts = ( 'V|version=i' => \$version, 'L|indexlevel=s' => \$indexlevel, + 'S|skip=i' => \$skip, ); GetOptions(%opts) or usage(); my $name = shift @ARGV or usage(); @@ -97,6 +99,10 @@ if (-f "$mainrepo/inbox.lock") { $version = 1 unless defined $version; +if ($version == 1 && defined $skip) { + die "--skip is only supported for -V2 repos\n"; +} + if ($version >= 2) { require PublicInbox::V2Writable; require PublicInbox::Inbox; @@ -107,7 +113,7 @@ if ($version >= 2) { -primary_address => $address[0], }; $ibx = PublicInbox::Inbox->new($ibx); - PublicInbox::V2Writable->new($ibx, 1)->init_inbox(0); + PublicInbox::V2Writable->new($ibx, 1)->init_inbox(0, $skip); } elsif ($version == 1) { x(qw(git init -q --bare), $mainrepo); -- cgit v1.2.3-24-ge0c7