X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=script%2Fpublic-inbox-clone;h=54059d036f8675cb89636a93e0440c9b84b87c86;hb=refs%2Fheads%2Fmaster;hp=ce4697f3917edd655a925561b71e11ea08c2664f;hpb=f6002395d2c62dfac2c6fbbd7e8428bb2467a036;p=public-inbox.git
diff --git a/script/public-inbox-clone b/script/public-inbox-clone
index ce4697f3..598979bc 100755
--- a/script/public-inbox-clone
+++ b/script/public-inbox-clone
@@ -2,8 +2,7 @@
# Copyright (C) all contributors
# License: AGPL-3.0+
# Wrapper to git clone remote public-inboxes
-use strict;
-use v5.10.1;
+use v5.12;
use Getopt::Long qw(:config gnu_getopt no_ignore_case auto_abbrev);
my $opt = {};
my $help = <{help}) { print $help; exit };
require PublicInbox::Admin; # loads Config
PublicInbox::Admin::do_chdir(delete $opt->{C});
@@ -35,12 +42,10 @@ defined($dst) or ($dst) = ($url =~ m!/([^/]+)/?\z!);
index($dst, "\n") >= 0 and die "`\\n' not allowed in `$dst'";
# n.b. this is still a truckload of code...
-require URI;
+require File::Spec;
require PublicInbox::LEI;
require PublicInbox::LeiExternal;
require PublicInbox::LeiMirror;
-require PublicInbox::LeiCurl;
-require PublicInbox::Lock;
$url = PublicInbox::LeiExternal::ext_canonicalize($url);
my $lei = bless {
@@ -52,8 +57,10 @@ open $lei->{3}, '.' or die "open . $!";
my $mrr = bless {
lei => $lei,
src => $url,
- dst => $dst,
+ dst => File::Spec->canonpath($dst),
}, 'PublicInbox::LeiMirror';
+
+$? = 0;
$mrr->do_mirror;
-$mrr->can('_wq_done_wait')->([$mrr, $lei], $$);
+$mrr->can('_wq_done_wait')->($$, $mrr, $lei);
exit(($lei->{child_error} // 0) >> 8);