]> Sergey Matveev's repositories - public-inbox.git/blobdiff - script/public-inbox-convert
No ext_urls
[public-inbox.git] / script / public-inbox-convert
index 3c627b793638cd30bc23f42bcbef1ebfe3ad8cf0..42955a482ed378bcfaea9d2f1df4909bca6a11a2 100755 (executable)
@@ -33,21 +33,22 @@ my $opt = {
        quiet => -1, compact => 0, maxsize => undef, fsync => 1,
        reindex => 1, # we always reindex
 };
-GetOptions($opt, qw(jobs|j=i index! help|h),
+GetOptions($opt, qw(jobs|j=i index! help|h C=s@),
                # index options
                qw(verbose|v+ rethread compact|c+ fsync|sync!
                indexlevel|index-level|L=s max_size|max-size=s
                batch_size|batch-size=s
-               sequential_shard|sequential-shard|seq-shard
+               sequential-shard|seq-shard
                )) or die $help;
 if ($opt->{help}) { print $help; exit 0 };
+require PublicInbox::Admin;
+PublicInbox::Admin::do_chdir(delete $opt->{C});
 my $old_dir = shift(@ARGV) // '';
 my $new_dir = shift(@ARGV) // '';
 die $help if (scalar(@ARGV) || $new_dir eq '' || $old_dir eq '');
 die "$new_dir exists\n" if -d $new_dir;
 die "$old_dir not a directory\n" unless -d $old_dir;
 
-require PublicInbox::Admin;
 require PublicInbox::Config;
 require PublicInbox::InboxWritable;
 
@@ -62,7 +63,6 @@ if (delete $old->{-unconfigured}) {
 }
 die "Only conversion from v1 inboxes is supported\n" if $old->version >= 2;
 
-require PublicInbox::Admin;
 my $detected = PublicInbox::Admin::detect_indexlevel($old);
 $old->{indexlevel} //= $detected;
 my $env;
@@ -179,7 +179,7 @@ if (my $old_mm = $old->mm) {
        $v2w->idx_init($opt);
        $v2w->{mm}->{dbh}->sqlite_backup_from_file($old_mm);
 
-       my $epoch0 = PublicInbox::Git->new($v2w->git_init(0));
+       my $epoch0 = PublicInbox::Git->new($v2w->{mg}->add_epoch(0));
        chop(my $cmt = $epoch0->qx(qw(rev-parse --verify), $head));
        $v2w->last_epoch_commit(0, $cmt);
 }