diff options
author | Ian Jackson <ijackson@chiark.greenend.org.uk> | 2015-03-21 11:55:13 +0000 |
---|---|---|
committer | Ian Jackson <ijackson@chiark.greenend.org.uk> | 2015-03-22 15:19:50 +0000 |
commit | 16f71298e0a7736a3833e44e4a9ebb356f919dc6 (patch) | |
tree | b9e4be97a9f6b11811352d81545495ea614182be | |
parent | 20f42b85b3fe5fc7e120fae26500298fececc5ad (diff) |
dgit-repos-server: Break out movetogarbage
-rwxr-xr-x | infra/dgit-repos-server | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/infra/dgit-repos-server b/infra/dgit-repos-server index 734fd71..ed27c0e 100755 --- a/infra/dgit-repos-server +++ b/infra/dgit-repos-server @@ -213,6 +213,15 @@ sub mkrepo_fromtemplate ($) { !$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 () { @@ -642,12 +651,7 @@ sub parseargsdispatch () { 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 $!; |