about summary refs log tree commit homepage
path: root/script
diff options
context:
space:
mode:
authorEric Wong (Contractor, The Linux Foundation) <e@80x24.org>2018-03-29 20:17:18 +0000
committerEric Wong (Contractor, The Linux Foundation) <e@80x24.org>2018-03-29 20:17:48 +0000
commit11a7b5403d3d3dda8266efa374336ca344288cfe (patch)
tree12345d895d12eaaa43ae26b9cc9d7294616430e4 /script
parentaacd0f52d9f4ba6821ad34b30a123966958c7e0c (diff)
downloadpublic-inbox-11a7b5403d3d3dda8266efa374336ca344288cfe.tar.gz
And we do not want to start making confused repos if somebody
leaves out "-V2" the second time around.
Diffstat (limited to 'script')
-rwxr-xr-xscript/public-inbox-init17
1 files changed, 16 insertions, 1 deletions
diff --git a/script/public-inbox-init b/script/public-inbox-init
index 86cf8b56..d6a64826 100755
--- a/script/public-inbox-init
+++ b/script/public-inbox-init
@@ -15,7 +15,7 @@ use Cwd qw/abs_path/;
 
 sub x { system(@_) and die join(' ', @_). " failed: $?\n" }
 sub usage { print STDERR "Usage: $usage\n"; exit 1 }
-my $version = 1;
+my $version = undef;
 my %opts = ( 'V|version=i' => \$version );
 GetOptions(%opts) or usage();
 my $name = shift @ARGV or usage();
@@ -71,6 +71,21 @@ my $pfx = "publicinbox.$name";
 my @x = (qw/git config/, "--file=$pi_config_tmp");
 
 $mainrepo = abs_path($mainrepo);
+if (-f "$mainrepo/inbox.lock") {
+        if (!defined $version) {
+                $version = 2;
+        } elsif ($version != 2) {
+                die "$mainrepo is a -V2 repo, -V$version specified\n"
+        }
+} elsif (-d "$mainrepo/objects") {
+        if (!defined $version) {
+                $version = 1;
+        } elsif ($version != 1) {
+                die "$mainrepo is a -V1 repo, -V$version specified\n"
+        }
+}
+
+$version = 1 unless defined $version;
 
 if ($version >= 2) {
         require PublicInbox::V2Writable;