3 # Initiate a re-mirror of a project
12 use Girocco
::Util
qw(noFatalsToBrowser);
13 BEGIN {noFatalsToBrowser
}
15 my $project = shift @ARGV || die "Please give project name on command line.";
17 my $p = Girocco
::Project
->load($project) || die "Project '$project' not found!";
20 die "Project '$project' is a push project, not a mirror project."
23 if ($p->{clone_in_progress
} && !$p->{clone_failed
}) {
24 die "Project '$project' already has a clone underway at this moment."
27 unlink($p->_clonefail_path);
28 unlink($p->_clonelog_path);
29 my $cp = $p->_clonep_path;
30 open X
, '>', $cp or die "failed to create $cp: $!";
33 my $sock = IO
::Socket
::UNIX
->new($Girocco::Config
::chroot.'/etc/taskd.socket') or die "cannot connect to taskd.socket: $!";
34 select((select($sock),$|=1)[0]);
35 $sock->print("clone ".$p->{name
}."\n");
36 # Just ignore reply, we are going to succeed anyway and the I/O
37 # would apparently get quite hairy.
42 print "Project '$project' remirror initiated.\n";