Re: Segfault: git show-branch --reflog refs/pullreqs/1
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Feb 21, 2024, 17:44 UTC
- Message-ID
- <xmqqv86hogpi.fsf@gitster.g>
- In-Reply-To
- <20240221084250.GA25385@coredump.intra.peff.net>
Jeff King <peff@peff.net> writes:
Show 5 quoted lines
> with an empty reflog file (added by that same commit). The code in > get_oid_basic() to parse reflogs doesn't suffer from the same bugs: it > checks up front that the reflog file exists, it preloads the output oid > with the current ref value, and it doesn't look at other fields (like > the reflog message).
It is a usability hack to allow foo@{0} to resolve successfully, instead of causing a failure, when there is no reflog entries for foo, I would think. As to the "show-branch -g", the intent is to see the recent evolution of the branch, so I am fine if we do not give any output when no reflog entries exist (i.e. "no evolution behind the current state---it just is"), or just one entry output for "foo@{0}" to say "there is only one recent state".
Even though it may feel wrong to successfully resolve foo@{0} when reflog for foo does not exist at the mechanical level (read: the implementors of reflog mechanism may find the usability hack a bad idea), I suspect at the end-user level it may be closer to what people expect out of foo@{0} (i.e. "give me the latest").
Thanks.