Junio C Hamano <gitster@xxxxxxxxx> writes: > "Kristoffer Haugsbakk" <kristofferhaugsbakk@xxxxxxxxxxxx> writes: > >> I tried `git reflog drop`[1] and it can deal with a branch like >> `branch`. It doesn’t need to be told `refs/heads/branch`. > > That sounds like a bug to me. So `git reflog drop` `git reflog delete` and `git reflog expire` use `repo_dwim_log()` to resolve the provided reference. And `repo_dwim_log()` uses the following `ref_rev_parse_rules` to resolve the reference. static const char *ref_rev_parse_rules[] = { "%.*s", "refs/%.*s", "refs/tags/%.*s", "refs/heads/%.*s", "refs/remotes/%.*s", "refs/remotes/%.*s/HEAD", NULL }; Which means we do a best case resolution of a given reference, but the function also checks for ambiguity and warns for it.
Attachment:
signature.asc
Description: PGP signature