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);