From: D. Ben Knoble Date: Sat, 03 Oct 2026 17:10:43 GMT Subject: Re: git-visualize(1) plumbing equivalent Message-ID: In-Reply-To: On Sat, Oct 3, 2026 at 11:13 AM Alejandro Colomar wrote: > > Hi Ben, > > > Date: 2026-10-03 09:45:17-0400 > > From: "D. Ben Knoble" > > > > On Sat, Oct 3, 2026 at 6:13 AM Alejandro Colomar wrote: [snip] > > > Having read the documentation for git-bisect(1), visualize reads several > > > environment variables, and thus this code doesn't seem robust. What > > > would be the plumbing version of the while-loop condition? > > > > > > git bisect visualize --oneline \ > > > | wc -l \ > > > | xargs -I{} test {} -gt 1; > > > > > > The goal is to know whether git-bisect(1) has found a commit yet or not, > > > to stop looping. > > > > I think you are probably looking for the (size of the) set of commits > > between bisect/bad and all the bisect/good-* refs. So you might need > > to "git refs list" the good ones, and feed those as negated refs > > alongside bisect/bad to rev-list? > > Yup, this seems to work: > > git refs list | grep refs/bisect/ | sed '/good/s/^/^/' | cut -f1 -d' ' | xargs git rev-list > > > > > In the general case, that wouldn't account for skipped commits as I > > understand it, where multiple commits are left at the end of the > > bisect, but in your script it doesn't look like you skip any. > > Hmmmm. I'm now working on adding the ability to skip commits, so this > would be a problem. Do you have any idea on how to deal with that? Not offhand, sorry :/ I'm not totally sure how bisect represents that state. -- D. Ben Knoble