2 # Copyright (C) 2016-2018 all contributors <meta@public-inbox.org>
3 # License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt>
6 use Getopt::Long qw/:config gnu_getopt no_ignore_case auto_abbrev/;
8 use PublicInbox::InboxWritable;
9 use PublicInbox::V2Writable;
10 use PublicInbox::Import;
12 my $usage = "usage: $0 NAME EMAIL DIR <MBOX\n";
15 my $variant = 'mboxrd';
17 'n|dry-run' => \$dry_run,
18 'V|version=i' => \$version,
19 'F|format=s' => \$variant,
21 GetOptions(%opts) or die $usage;
22 if ($variant ne 'mboxrd' && $variant ne 'mboxo') {
23 die "Unsupported mbox variant: $variant\n";
25 my $name = shift or die $usage; # git
26 my $email = shift or die $usage; # git@vger.kernel.org
27 my $mainrepo = shift or die $usage; # /path/to/v2/repo
29 mainrepo => $mainrepo,
32 -primary_address => $email,
33 filter => 'PublicInbox::Filter::Vger',
35 $ibx = PublicInbox::Inbox->new($ibx);
38 PublicInbox::V2Writable->new($ibx, 1)->init_inbox(0);
40 system(qw(git init --bare -q), $mainrepo) == 0 or die;
43 $ibx = PublicInbox::InboxWritable->new($ibx);
45 $ibx->import_mbox(\*STDIN, $variant);