!$r or die "create new repo $dir failed: $r $!";
}
+sub movetogarbage () {
+ my $garbagerepo = "$dgitrepos/_tmp/${package}_garbage";
+ acquiretree($garbagerepo,1);
+ rmtree $garbagerepo;
+ rename $realdestrepo, $garbagerepo
+ or $! == ENOENT
+ or die "rename repo $realdestrepo to $garbagerepo: $!";
+}
+
#----- git-receive-pack -----
sub fixmissing__git_receive_pack () {
my ($policy, $pollock) = policyhook(FRESHREPO,'check-package',$package);
if ($policy & FRESHREPO) {
- my $garbagerepo = "$dgitrepos/_tmp/${package}_garbage";
- acquiretree($garbagerepo,1);
- rmtree $garbagerepo;
- rename $realdestrepo, $garbagerepo
- or $! == ENOENT
- or die "rename repo $destrepo to $garbagerepo: $!";
+ movetogarbage;
}
close $pollock or die $!;