URL-Checkout
view release on metacpan or search on metacpan
Checkout.pm view on Meta::CPAN
{ name => 'obs', pat => [qr{^(obs://|https://api\.(opensuse\.org|suse\.de)/(public/)?source/)}],
osc => ['osc'], co => ['co', '--current-dir', '--expand-link'],
desc => "OpenSUSE Build Service(obs): URLs starting with obs://, https://api.opensuse.org/, https://api.suse.de are handled by 'osc checkout'. Path components /public and /source are stripped, the remaining path components are Project, Package,...
cmd => sub { my ($url, $m) = @_;
my $api = $1 if $url =~ s{^\w+://([^/]+)/+}{};
$url =~ s{^(public/+)?sources?/+}{};
my $rev = $1 if $url =~ s{[\?&]rev=(\w+)}{};
$url =~ s{\?.*}{};
$url =~ s{:/}{:}g;
my @pp = split m{/+}, $url;
my @cmd = (@{$m->{osc}}, '-A', "https://$api", @{$m->{co}});
push @cmd, '-r', $rev if defined $rev;
## -S aka --server-side-source-service-files, what an ugly name!
return [ shell_quote(@cmd, '-S', @pp), shell_quote(@cmd, @pp)];
},
fake_home => { '.oscrc' => q{
[general]
apiurl = https://$api
( run in 0.470 second using v1.01-cache-2.11-cpan-71847e10f99 )