diff options
author | Eric Wong <e@80x24.org> | 2021-09-12 07:47:12 +0000 |
---|---|---|
committer | Eric Wong <e@80x24.org> | 2021-09-12 07:48:56 +0000 |
commit | b45a1dffa647f6427d0c900fcc55753db7a1994c (patch) | |
tree | eafb5e666662bc65afd1aad33aeb203134b1efd7 /lib/PublicInbox/Admin.pm | |
parent | 02a0f3959b2e74f7217fcdca848822e7230acd6b (diff) | |
download | public-inbox-b45a1dffa647f6427d0c900fcc55753db7a1994c.tar.gz |
Setting up and maintaining git-only mirrors of v2 inboxes is complex since multiple commands are required to clone and fetch into epochs. Unlike grokmirror, these commands do not require any configuration. Instead, they rely on existing git config files and work like "git clone --mirror" and "git fetch", respectively. Like grokmirror, they use manifest.js.gz, but only on a per-inbox basis so users won't have to clone every inbox of a large instance nor edit config files to include/exclude inboxes they're interested in.
Diffstat (limited to 'lib/PublicInbox/Admin.pm')
-rw-r--r-- | lib/PublicInbox/Admin.pm | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/PublicInbox/Admin.pm b/lib/PublicInbox/Admin.pm index 2534958b..9ff59bca 100644 --- a/lib/PublicInbox/Admin.pm +++ b/lib/PublicInbox/Admin.pm @@ -372,4 +372,12 @@ sub index_prepare ($$) { $env; } +sub do_chdir ($) { + my $chdir = $_[0] // return; + for my $d (@$chdir) { + next if $d eq ''; # same as git(1) + chdir $d or die "cd $d: $!"; + } +} + 1; |