about summary refs log tree commit homepage
path: root/script/public-inbox-init
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2019-05-14 02:04:41 +0000
committerEric Wong <e@80x24.org>2019-05-14 02:05:55 +0000
commitfdfd7161a9257b70d65ab55dba4328b4960142d3 (patch)
treece3fe2b0a13c62931f8e4b039f3f73c38561a8dd /script/public-inbox-init
parent7e2abe2d068367f2fcdf638a4482c953111df156 (diff)
downloadpublic-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-xscript/public-inbox-init23
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";
 }