From: Michael Haggerty Date: Mon, 09 Feb 2015 09:12:44 GMT Subject: [PATCH 8/8] reflog_expire(): lock symbolic refs themselves, not their referent Message-ID: <1423473164-6011-9-git-send-email-mhagger@alum.mit.edu> In-Reply-To: <1423473164-6011-1-git-send-email-mhagger@alum.mit.edu> When processing the reflog of a symbolic ref, hold the lock on the symbolic reference itself, not on the reference that it points to. Signed-off-by: Michael Haggerty --- refs.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/refs.c b/refs.c index 1b2a497..3fcf342 100644 --- a/refs.c +++ b/refs.c @@ -4037,7 +4037,7 @@ int reflog_expire(const char *refname, const unsigned char *sha1, * reference itself, plus we might need to update the * reference if --updateref was specified: */ - lock = lock_ref_sha1_basic(refname, sha1, NULL, 0, &type); + lock = lock_ref_sha1_basic(refname, sha1, NULL, REF_NODEREF, &type); if (!lock) return error("cannot lock ref '%s'", refname); if (!reflog_exists(refname)) { -- 2.1.4