From: Johan Herland Date: Tue, 16 Oct 2012 13:44:52 GMT Subject: [PATCH 3/5] delete_ref(): Remove the correct reflog when deleting symrefs Message-ID: <1350395094-11404-4-git-send-email-johan@herland.net> In-Reply-To: <1350395094-11404-1-git-send-email-johan@herland.net> When deleting a symref (e.g. HEAD), we would incorrectly remove the reflog of the dereferenced ref (e.g. .git/logs/refs/heads/master), insted of the symref's reflog (e.g. .git/logs/HEAD). This patch ensures that we remove the reflog that corresponds to the removed (sym)ref. Signed-off-by: Johan Herland --- refs.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/refs.c b/refs.c index df4fe20..f2508bf 100644 --- a/refs.c +++ b/refs.c @@ -1781,7 +1781,7 @@ int delete_ref(const char *refname, const unsigned char *sha1, int delopt) if (!delete_symref) ret |= repack_without_ref(refname); - unlink_or_warn(git_path("logs/%s", lock->ref_name)); + unlink_or_warn(git_path("logs/%s", refname)); invalidate_ref_cache(NULL); unlock_ref(lock); return ret; -- 1.7.12.1.609.g5cd6968