diff options
author | Eric Wong <e@80x24.org> | 2019-05-14 02:04:41 +0000 |
---|---|---|
committer | Eric Wong <e@80x24.org> | 2019-05-14 02:05:55 +0000 |
commit | fdfd7161a9257b70d65ab55dba4328b4960142d3 (patch) | |
tree | ce3fe2b0a13c62931f8e4b039f3f73c38561a8dd /script/public-inbox-init | |
parent | 7e2abe2d068367f2fcdf638a4482c953111df156 (diff) | |
download | public-inbox-fdfd7161a9257b70d65ab55dba4328b4960142d3.tar.gz |
Import initialization is a little strange from history, but we also can't change it too much because it's technically a public API which external code may rely on... And we may need to support v1 repos indefinitely. This should make it easier to write tests for both formats.
Diffstat (limited to 'script/public-inbox-init')
-rwxr-xr-x | script/public-inbox-init | 23 |
1 files changed, 10 insertions, 13 deletions
diff --git a/script/public-inbox-init b/script/public-inbox-init index 39f7497f..8bb78451 100755 --- a/script/public-inbox-init +++ b/script/public-inbox-init @@ -8,6 +8,7 @@ use warnings; my $usage = "public-inbox-init NAME REPO_DIR HTTP_URL ADDRESS [ADDRESS..]"; use Getopt::Long qw/:config gnu_getopt no_ignore_case auto_abbrev/; use PublicInbox::Config; +use PublicInbox::Inbox; use File::Temp qw/tempfile/; use File::Basename qw/dirname/; use File::Path qw/mkpath/; @@ -103,23 +104,19 @@ if ($version == 1 && defined $skip) { die "--skip is only supported for -V2 repos\n"; } +my $ibx = PublicInbox::Inbox->new({ + mainrepo => $mainrepo, + name => $name, + version => $version, + -primary_address => $address[0], +}); + if ($version >= 2) { require PublicInbox::V2Writable; - require PublicInbox::Inbox; - my $ibx = { - mainrepo => $mainrepo, - name => $name, - version => $version, - -primary_address => $address[0], - }; - $ibx = PublicInbox::Inbox->new($ibx); PublicInbox::V2Writable->new($ibx, 1)->init_inbox(0, $skip); } elsif ($version == 1) { - x(qw(git init -q --bare), $mainrepo); - - # set a reasonable default: - x(qw/git config/, "--file=$mainrepo/config", - 'repack.writeBitmaps', 'true'); + require PublicInbox::V1Writable; + PublicInbox::V1Writable->new($ibx, 1)->init_inbox(0, $skip); } else { die "Unsupported -V/--version: $version\n"; } |