pull --rebase: exit early when the working directory is dirty
[gitweb.git] / builtin-pack-refs.c
index 1923fb1914c910457d2a987d73915db365fef68d..1aaa76dd1fe42f56e25dac6c3ca0e787eb7b005e 100644 (file)
@@ -108,6 +108,12 @@ static int pack_refs(unsigned int flags)
                die("failed to write ref-pack file");
        if (fflush(cbdata.refs_file) || fsync(fd) || fclose(cbdata.refs_file))
                die("failed to write ref-pack file (%s)", strerror(errno));
+       /*
+        * Since the lock file was fdopen()'ed and then fclose()'ed above,
+        * assign -1 to the lock file descriptor so that commit_lock_file()
+        * won't try to close() it.
+        */
+       packed.fd = -1;
        if (commit_lock_file(&packed) < 0)
                die("unable to overwrite old ref-pack file (%s)", strerror(errno));
        if (cbdata.flags & PACK_REFS_PRUNE)