On Mon, May 6, 2024 at 3:01 PM Junio C Hamano <gitster@xxxxxxxxx> wrote: > >> diff --git a/refs/files-backend.c b/refs/files-backend.c > >> index a098d14ea00..97473f377d1 100644 > >> --- a/refs/files-backend.c > >> +++ b/refs/files-backend.c > >> @@ -794,8 +794,10 @@ static int lock_raw_ref(struct files_ref_store *refs, > >> */ > >> if (refs_verify_refname_available( > >> refs->packed_ref_store, refname, > >> - extras, NULL, err)) > >> + extras, NULL, err)) { > >> + ret = TRANSACTION_NAME_CONFLICT; > >> goto error_return; > >> + } > >> } > >> > >> ret = 0; > >> > > > > Shouldn't we also do this change in `lock_ref_oid_basic` where we gather > > the same lock again for creating the reflog entry? > > An interesting question. Hi! Apologies but I'm not sure I follow - could you elaborate? I am not too familiar with the Git source code (or C language) but from looking at `lock_ref_oid_basic`, it looks like that function returns a lock struct and not an integer success/error code. I'm not sure how we would apply this change in that function as well?