-$mainrepo = abs_path($mainrepo);
-
-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);
- my $v2w = PublicInbox::V2Writable->new($ibx, 1);
- $v2w->{parallel} = 0;
- $v2w->idx_init;
- $v2w->git_init(0);
- $v2w->done;
-} elsif ($version == 1) {
- x(qw(git init -q --bare), $mainrepo);
-
- # set a reasonable default:
- x(qw/git config/, "--file=$mainrepo/config",
- 'repack.writeBitmaps', 'true');
-} else {
- die "Unsupported -V/--version: $version\n";
+$inboxdir = abs_path($inboxdir);
+if (-f "$inboxdir/inbox.lock") {
+ if (!defined $version) {
+ $version = 2;
+ } elsif ($version != 2) {
+ die "$inboxdir is a -V2 repo, -V$version specified\n"
+ }
+} elsif (-d "$inboxdir/objects") {
+ if (!defined $version) {
+ $version = 1;
+ } elsif ($version != 1) {
+ die "$inboxdir is a -V1 repo, -V$version specified\n"
+ }
+}
+
+$version = 1 unless defined $version;
+
+if ($version == 1 && defined $skip_epoch) {
+ die "--skip-epoch is only supported for -V2 repos\n";