From: Ronnie Sahlberg Date: Tue, 21 Oct 2014 20:36:51 GMT Subject: [PATCH 06/15] refs.c: rollback the lockfile before we die() in repack_without_refs Message-ID: <1413923820-14457-7-git-send-email-sahlberg@google.com> In-Reply-To: <1413923820-14457-1-git-send-email-sahlberg@google.com> commit 3989c2a763c3b355785d609b3144c7935dffb273 upstream. Change-Id: I63a22da521ecc8eb60d7a8aaa5af666d2827a599 Signed-off-by: Ronnie Sahlberg Signed-off-by: Jonathan Nieder --- refs.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/refs.c b/refs.c index f43fef4..43df656 100644 --- a/refs.c +++ b/refs.c @@ -2702,8 +2702,10 @@ int repack_without_refs(struct string_list *without, struct strbuf *err) /* Remove any other accumulated cruft */ do_for_each_entry_in_dir(packed, 0, curate_packed_ref_fn, &refs_to_delete); for_each_string_list_item(ref_to_delete, &refs_to_delete) { - if (remove_entry(packed, ref_to_delete->string) == -1) + if (remove_entry(packed, ref_to_delete->string) == -1) { + rollback_packed_refs(); die("internal error"); + } } /* Write what remains */ -- 2.1.0.rc2.206.gedb03e5