Re: Allow git bisect to auto-skip
- From
Olliver Schinagl <oliver@schinagl.nl>
- Date
- Mar 24, 2024, 07:47 UTC
- Message-ID
- <7610ff9c-b0d4-494c-a963-19494df2f74e@schinagl.nl>
- In-Reply-To
- <4cf100aa-4239-4377-b20a-7c90443fb405@schinagl.nl>
On 23-03-2024 21:51, Olliver Schinagl wrote:
Show 28 quoted lines
> On 23-03-2024 19:43, Junio C Hamano wrote: >> Stefan Haller <lists@haller-berlin.de> writes: >> >>> On 22.03.24 23:31, Junio C Hamano wrote: >>>> It often is discovered that a commit >>>> breaks bisection after the fact and it is not feasible to rebase >>>> all the history after the commit. >>> >>> This reminds me of a similar problem with git blame, for which we have >>> the blame.ignoreRevsFile config to work around it. Couldn't there be a >>> similar mechanism for bisect, e.g. bisect.skipRevsFile? >> >> A Very good point. If a breakage of a commit is "this does not even >> build" kind of breakage, such a mechanism would be an excellent fit. >> >> But if a breakage is "only this particular test fails and we know >> the reason why it fails has nothing to do with the bug we are >> chasing", then compiling such a fixed list of commits, or pointing >> at such a list with a configuration variable, would not work very >> well, I am afraid. > > This changes my view of the issue a little bit. Building vs testing, > though in reality its the same of course. > > I can totally see that a user would need a special bisect script to > handle these cases 'this commit breaks test 54, 43 and 12; but the rest > work'. This is too specific to handle generically. Probably in using a > similar trick, store in the notes what works and does not work.
P.S. One (imo big) issue to me is, that notes aren't automatically fetched or pushed according to what I found so far online (haven't personally tested it yet).
If that is the case, this makes the feature to be used in combination with bisect much more difficult for the un-informed. having a `refs/notes/<bisect-or-like-related-name>` notes tree is great, but only if it gets automatically pulled.
I think this also might be the reason it is a very undervalued thing maybe?
Olliver
Show 9 quoted lines
> > I think it still stands that having a 'generic' way of telling bisect to > skip the entire commit is still reasonable. Kind of like how you can do > `git push -o ci.skip=true` with GitLab. > > Olliver > >> >> Thanks.