diff options
Diffstat (limited to 'infra/dgit-repos-server')
-rwxr-xr-x | infra/dgit-repos-server | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/infra/dgit-repos-server b/infra/dgit-repos-server index 3f9298f..2be40c5 100755 --- a/infra/dgit-repos-server +++ b/infra/dgit-repos-server @@ -323,6 +323,17 @@ sub movetogarbage () { or die "$garbagerepo $!"; } +sub policy_checkpackage () { + my $lfh = lockrealtree(); + + $policy = policyhook(FRESHREPO,'check-package',$package); + if ($policy & FRESHREPO) { + movetogarbage(); + } + + close $lfh; +} + #----- git-receive-pack ----- sub fixmissing__git_receive_pack () { @@ -839,14 +850,7 @@ sub mode_ssh () { reject "unknown method" unless $mainfunc; - my $lfh = lockrealtree(); - - $policy = policyhook(FRESHREPO,'check-package',$package); - if ($policy & FRESHREPO) { - movetogarbage; - } - - close $lfh; + policy_checkpackage(); if (stat_exists realdestrepo) { $destrepo = realdestrepo; |