[PATCH 8/8] reflog_expire(): lock symbolic refs themselves, not their referent
- From
Michael Haggerty <mhagger@alum.mit.edu>
- Date
- Feb 9, 2015, 09:12 UTC
- 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 <mhagger@alum.mit.edu> --- 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