summaryrefslogtreecommitdiff
path: root/infra/dgit-repos-server
diff options
context:
space:
mode:
Diffstat (limited to 'infra/dgit-repos-server')
-rwxr-xr-xinfra/dgit-repos-server20
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;