chiark / gitweb /
git-cache-proxy: postpone chdir so Housekeeping lock and stamp and up in the right... debian/4.2.1__iwj3
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Mon, 11 Nov 2013 13:43:52 +0000 (13:43 +0000)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Mon, 11 Nov 2013 13:43:52 +0000 (13:43 +0000)
debian/changelog
scripts/git-cache-proxy

index 2c104e82b352ab78ff377cab837aca0119898d99..baf572caa0b51096587d539f97b4bcd0b18bae30 100644 (file)
@@ -1,3 +1,10 @@
+chiark-utils (4.2.1~~iwj3) unstable; urgency=low
+
+  * git-cache-proxy: postpone chdir so Housekeeping lock and stamp
+    and up in the right directory.
+
+ -- Ian Jackson <ijackson@chiark.greenend.org.uk>  Mon, 11 Nov 2013 13:43:47 +0000
+
 chiark-utils (4.2.1~~iwj2) unstable; urgency=low
 
   New utility:
 chiark-utils (4.2.1~~iwj2) unstable; urgency=low
 
   New utility:
index 4d55233a5f1a70d9cddd8efee5022e5ce3357a9c..d12bdb3a3c1c7de8c30d9a14a46883a7c52b0942 100755 (executable)
@@ -370,10 +370,10 @@ sub clonefetch () {
     servinfo "sharing";
     lockfile \*LOCK, $lock, LOCK_SH; # NB releases and relocks
 
     servinfo "sharing";
     lockfile \*LOCK, $lock, LOCK_SH; # NB releases and relocks
 
-    if (chdir $gitd) {
+    if (stat $gitd) {
        return 1;
     }
        return 1;
     }
-    $!==ENOENT or fail "chdir $gitd: $!";
+    $!==ENOENT or fail "stat $gitd: $!";
 
     # Well, err, someone must have taken the lock in between
     # and garbage collected it.  How annoying.
 
     # Well, err, someone must have taken the lock in between
     # and garbage collected it.  How annoying.
@@ -457,6 +457,9 @@ sub housekeepingcheck ($$) {
 
 sub runcommand () {
     servinfo "serving";
 
 sub runcommand () {
     servinfo "serving";
+
+    chdir $gitd or fail "chdir $gitd: $!";
+
     exec qw(git-upload-pack --strict --timeout=1000 .)
        or fail "exec git-upload-pack: $!";
 }
     exec qw(git-upload-pack --strict --timeout=1000 .)
        or fail "exec git-upload-pack: $!";
 }