threads / patch / 16744

patchfast-import: close pack before unlinking it

Subject: [PATCH] fast-import: close pack before unlinking it

## tl;dr

One message between Dec 15, 2008 and Dec 15, 2008. Diffs are folded; open one to read it.

replies: 0people: 1as markdown or json

Johannes Schindelin· Dec 15, 2008, 21:11 UTC · lore

This is sort of a companion patch to 4723ee9(Close files opened by lock_file() before unlinking.): on Windows, you cannot delete what is still open.

This makes test 9300-fast-import pass on Windows for me; quite a few fast-imports leave temporary packs until the test "blank lines not necessary after other commands" actually tests for the number of files in .git/objects/pack/, which has a few temporary packs now.

I guess that 8b4eb6b(Do not perform cross-directory renames when creating packs) was "responsible" for the breakage.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
---
 fast-import.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)
Show changes to fast-import.c +3 −1
diff --git a/fast-import.c b/fast-import.c
index 3276d5d..201d4ff 100644
--- a/fast-import.c
+++ b/fast-import.c
@@ -983,8 +983,10 @@ static void end_packfile(void)
 
 		pack_id++;
 	}
-	else
+	else {
+		close(old_p->pack_fd);
 		unlink(old_p->pack_name);
+	}
 	free(old_p);
 
 	/* We can't carry a delta across packfiles. */
-- 
1.6.1.rc3.368.g63acc

← back to recent threads