blob: ca5559e22080e8dd1c7b23b64abb486f1450d8cb (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
# Forks a project given by full path into group/user namespace
package Devscripts::Salsa::fork;
use strict;
use Devscripts::Output;
use Dpkg::IPC;
use Moo::Role;
with 'Devscripts::Salsa::checkout';
sub fork {
my ($self, $project) = @_;
unless ($project) {
ds_warn "Project to fork is missing";
return 1;
}
my $path = $self->main_path or return 1;
$self->api->fork_project($project, { namespace => $path });
my $p = $project;
$p =~ s#.*/##;
if ($self->checkout($p)) {
ds_warn "Failed to checkout $project";
return 1;
}
chdir $p;
spawn(
exec => [
qw(git remote add upstream),
$self->config->git_server_url . $project
],
wait_child => 1
);
return 0;
}
1;
|