From: Karthik Nayak Date: Mon, 28 Jul 2025 20:39:05 GMT Subject: Re: [PATCH v2 4/8] builtin/reflog: implement subcommand to write new entries Message-ID: In-Reply-To: Junio C Hamano writes: > "Kristoffer Haugsbakk" 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.