From: Jeff King Date: Fri, 24 Oct 2025 18:52:09 GMT Subject: Re: [BUG] Strange git notes completion behaviour Message-ID: <20251024185209.GA3637589@coredump.intra.peff.net> In-Reply-To: <029f01dc4515$59ae09c0$0d0a1d40$@nexbridge.com> On Fri, Oct 24, 2025 at 02:38:05PM -0400, rsbecker@nexbridge.com wrote: > On October 24, 2025 1:47 PM, Jeff King wrote: > >On Fri, Oct 24, 2025 at 01:33:02PM -0400, rsbecker@nexbridge.com wrote: > > > >> What I found is this: > >> > >> Git drops into sane_execvp and converts the > >> > >> git notes show HEAD > >> > >> to > >> > >> git show 1aa950256829721750e809788e7b858db79a934a. > >> > >> When execvp is called, it immediately fails with a -12 - not returned, > >> just terminates. The -12 is an NonStop-specific execvp error > >> indicating the process failed because the object is invalid (strange > >> and likely an artifact rather than a real problem). > > > >When you say "object" here, you don't mean a Git object, but rather that > >execvp() could not run the "git" binary for some reason (so the "object" > >here is the on-disk executable)? Just making sure I understand. > > > >> When I use the arguments as presented to execvp via bash directly, I get: > >> > >> error: no note found for object > >1aa950256829721750e809788e7b858db79a934a. > >> > >> There is no commit with that hash. HEAD is actually > >> 3fc1917e0e69b23265f5c49f90fdb6f4ed98f4a3 > >> so git show is correctly failing. This is Indicating that notes is not > >> invoking git correctly. > > > >Are you sure you are running "git show" there and not "git notes show". > >Because 1aa950256 should be the blob that the note for HEAD points to, and thus > >does not itself have a note. And "git show" should not be looking up notes at all > >(and the "no note found" message is from builtin/notes.c). > > I am 100% sure that git notes show is running git show with the notes blob as above. Yes, I am, too. What I was asking is when you tried to replicate that using bash directly, how did you get a "no note found" message from "git show"? I.e., it sounds like you ran the wrong command. Or I am misunderstanding what you you meant by "When I use the arguments as presented to execvp via bash directly". -Peff