script to pre-build all commits in a git-bisect, and use them during testing
- From
Britton Kerin <britton.kerin@gmail.com>
- Date
- Feb 21, 2024, 22:57 UTC
- Message-ID
- <CAC4O8c-tgDQ42upWorMi3Cw+KdPoHT2YxvZEirt_dtjQXreXAw@mail.gmail.com>
Problem: it's annoying to have to build each commit when git-bisect'ing for something that isn't being tested automatically (so no git bisect run).
Solution: https://github.com/bkerin/git-batch-bisect
It has an interface almost exactly like native git-bisect so it's super easy to learn but it handles a couple additional commands to create worktrees for all the commits, parallel build, and test in them.
From the README:
git batch-bisect start bad_commit good_commit
git batch-bisect runinall 'autoreconf --install && ./configure && make'
git batch-bisect runincurrent ./test_program
git batch-bisect good
git batch-bisect runincurrent ./test_program
git batch-bisect bad
# etc.I'd be grateful for any feedback on this script. I don't actually bisect all that often, so it's only tested on one real-world project so far. I thought it might live in contrib someday if it's useful to anyone else.
Britton