chiark / gitweb /
Infra: Add get-suites
[dgit.git] / infra / dgit-repos-server
index 5a87b891b4bc14e2e9b281fce3e476ec1ac23504..a6f57be64311ba3fea2d84462404b4fd2c16e29b 100755 (executable)
@@ -163,7 +163,8 @@ $SIG{__WARN__} = sub { die $_[0]; };
 # appropriate lock.
 #
 # If policy hook wants to run dgit (or something else in the dgit
-# package), it should use DGIT-LIVE-DIR/dgit (etc.)
+# package), it should use DGIT-LIVE-DIR/dgit (etc.), or if that is
+# ENOENT, use the installed version.
 
 
 use POSIX;
@@ -290,10 +291,11 @@ sub mkemptyrepo ($$) {
 sub mkrepo_fromtemplate ($) {
     my ($dir) = @_;
     my $template = "$dgitrepos/_template";
-    locksometree($template);
+    my $templatelock = locksometree($template);
     printdebug "copy template $template -> $dir\n";
     my $r = system qw(cp -a --), $template, $dir;
     !$r or die "create new repo $dir failed: $r $!";
+    close $templatelock;
 }
 
 sub movetogarbage () {
@@ -729,7 +731,7 @@ sub checktagnoreplay () {
        }
     } else {
        my $branch= server_branch($suite);
-       my $branchhead= git_get_ref($branch);
+       my $branchhead= git_get_ref(server_ref($suite));
        if (!length $branchhead) {
            # No such branch - NOFFCHECK was unnecessary.  Oh well.
            printdebug "checktagnoreplay - not FRESHREPO, new branch, ok\n";