diff options
author | Eric Wong <e@80x24.org> | 2020-09-01 01:15:07 +0000 |
---|---|---|
committer | Eric Wong <e@80x24.org> | 2020-09-02 08:54:02 +0000 |
commit | 4c2bdcca098792bf1c7fb19d7779d05c436a2f78 (patch) | |
tree | 83c1a5ee5539e4d68921f024e068797f8abaa158 /script/public-inbox-convert | |
parent | ff1ceab79e0a9a4ad21e03d8d2eae15dee8c35c7 (diff) | |
download | public-inbox-4c2bdcca098792bf1c7fb19d7779d05c436a2f78.tar.gz |
Following "git init" as an example, we'll create every parent path up to the one specified, instead of attempting to continue on when Cwd::abs_path returns `undef'.
Diffstat (limited to 'script/public-inbox-convert')
-rwxr-xr-x | script/public-inbox-convert | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/script/public-inbox-convert b/script/public-inbox-convert index 017411fb..b61c743f 100755 --- a/script/public-inbox-convert +++ b/script/public-inbox-convert @@ -52,7 +52,9 @@ Cwd->import('abs_path'); require PublicInbox::Config; require PublicInbox::InboxWritable; -$old_dir = abs_path($old_dir); +my $abs = abs_path($old_dir); +die "failed to resolve $old_dir: $!\n" if (!defined($abs)); + my $cfg = PublicInbox::Config->new; my $old; $cfg->each_inbox(sub { @@ -72,6 +74,7 @@ if ($old) { } die "Only conversion from v1 inboxes is supported\n" if $old->version >= 2; +require File::Spec; require PublicInbox::Admin; my $detected = PublicInbox::Admin::detect_indexlevel($old); $old->{indexlevel} //= $detected; @@ -85,7 +88,7 @@ if ($opt->{'index'}) { } local %ENV = (%$env, %ENV) if $env; my $new = { %$old }; -$new->{inboxdir} = abs_path($new_dir); +$new->{inboxdir} = File::Spec->canonpath($new_dir); $new->{version} = 2; $new = PublicInbox::InboxWritable->new($new, { nproc => $opt->{jobs} }); $new->{-no_fsync} = 1 if !$opt->{fsync}; |