diff --git a/fast-import.c b/fast-import.c index a40b4ea2d0..1af543a6f5 100644 --- a/fast-import.c +++ b/fast-import.c @@ -946,9 +946,12 @@ static void unkeep_all_packs(void) static void end_packfile(void) { - if (!pack_data) + static int running; + + if (running || !pack_data) return; + running = 1; clear_delta_base_cache(); if (object_count) { struct packed_git *new_p; @@ -998,6 +1001,7 @@ static void end_packfile(void) } free(pack_data); pack_data = NULL; + running = 0; /* We can't carry a delta across packfiles. */ strbuf_release(&last_blob.data);