On Thu, Feb 22, 2024 at 12:22:52PM -0500, Jeff King wrote: > If none of this makes sense, it is because I am only now untangling what > is going on with 6436a20284. ;) I will try to polish my proposed patches > and hopefully that will explain it a bit more clearly (I may not get to > it until tomorrow though). OK, so here's what I came up with. One thing I did not realize, as I was writing my patches directly atop 6436a20284, is that we actually fixed the reflog message bug back in f2463490c4 (show-branch: show reflog message, 2021-12-02). And several tests have been added since then. So I gave up on trying to build on top of the source of the bug, and just rebased onto the tip of master. It should apply to recent "maint" as well, I'd think. [1/3]: Revert "refs: allow @{n} to work with n-sized reflog" [2/3]: get_oid_basic(): special-case ref@{n} for oldest reflog entry [3/3]: read_ref_at(): special-case ref@{0} for an empty reflog object-name.c | 9 ++++++ refs.c | 65 +++++++++++++++++++----------------------- refs.h | 15 +++++++++- t/t3202-show-branch.sh | 49 +++++++++++++++++++++---------- 4 files changed, 87 insertions(+), 51 deletions(-)