Re: git-visualize(1) plumbing equivalent
On Sat, Oct 3, 2026 at 11:13 AM Alejandro Colomar <alx@kernel.org> wrote:
Show 7 quoted lines
>
> Hi Ben,
>
> > Date: 2026-10-03 09:45:17-0400
> > From: "D. Ben Knoble" <ben.knoble@gmail.com>
> >
> > On Sat, Oct 3, 2026 at 6:13 AM Alejandro Colomar <alx@kernel.org> wrote:
Show 27 quoted lines
> > > 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