Jeff King <peff@xxxxxxxx> writes: > On Mon, Jul 12, 2021 at 11:47:23AM -0700, Junio C Hamano wrote: > >> Jeff King <peff@xxxxxxxx> writes: >> >> > I don't think fully-qualifying refs is a complete solution, though. The >> > common use case for --end-of-options is that you're passing along names >> > from somewhere else, and you don't know how to qualify them. E.g., in: >> > >> > git rev-list --end-of-options "$rev" -- >> > >> > you need to behave differently if you got "1234abcd" versus "foo" versus >> > "refs/heads/foo". >> >> I suspect that you can prefix "^^" unconditionally, just like --not >> can be emulated away by unconditionally prefixing "^". > > That would be clever, but I think we only parse a single "^": > > $ git rev-list ^HEAD > [no output] > $ git rev-list ^^HEAD > fatal: bad revision '^^HEAD' > > $ git rev-parse ^HEAD > ^d486ca60a51c9cb1fe068803c3f540724e95e83a > $ git rev-parse ^^HEAD > ^^HEAD > fatal: ambiguous argument '^^HEAD': unknown revision or path not in the working tree. > > -Peff ;-) Surprised.