FW: Alternative to 'git bisect visualize'?

From: Stuart MacDonald <hidden>
Date: 2016-06-15 22:43:04

I recently had a small discussion on LKML about a text-based
alternative to git bisect visualize. The email below was exactly what
I needed.

Would it be possible to have this series of steps wrapped up into a
new git command? Steps 1-3 and 5 are easily done with a shell script,
step 4 would be an ncurses- (menuconfig-) style app.

Ideally, I'd like to have
# git bisect visualize --mode=ncurses   (or =text)
which pops open a window with the list of GOOD..BAD commits with the
current commit centered vertically and highlighted. Keys or mousing
scrolls around and selects another commit, which is them confirmed and
the tree is reset to it.

..Stu

From: Paolo Ornati [mailto:ornati@fastwebnet.it] 
Sent: April 10, 2007 4:04 AM
To: Stuart MacDonald
Cc: linux-kernel@vger.kernel.org
Subject: Re: Alternative to 'git bisect visualize'?


On Mon, 9 Apr 2007 17:10:23 -0400
"Stuart MacDonald" [off-list ref] wrote:
quoted
My problem is that I don't have wish/tk installed. Is there a
text-based alternative to visualize that I can use? Or is there a
different method to locate a nearby commit?

The answer may involve something as simple as looking at some git
state; I am a git newbie, and reading the docs hasn't 
helped any, so I
quoted
won't be surprised to find out I'm overlooking something really
obvious.
I think this should work:

1) look at "git-bisect log" and take the last good/bad pair

2) "cat .git/refs/heads/bisect" to see where you are now

3) git-log --pretty=oneline GOOD..BAD

4) search for the current commit (found in #2) with "/CURRENT_COMMIT",
now move around and choose another commit to test

5) git-reset --hard COMMIT_TO_TEST


Example:

$ git-bisect start
$ git-bisect good v2.6.17
$ git-bisect bad v2.6.18
Bisecting: 3400 revisions left to test after this
[2a2ed2db353d949c06b6ef8b6913f65b39111eab] Merge 
git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild

# 2a2ed2db353d949c06b6ef8b6913f65b39111eab doesn't compile/boot ?

$ git-bisect log
git-bisect start
# good: [8ba130df4b67fa40878ccf80d54615132d24bc68] Linux v2.6.17
git-bisect good 8ba130df4b67fa40878ccf80d54615132d24bc68
# bad: [119248f4578ca60b09c20893724e10f19806e6f1] Linux v2.6.18. Arrr!

$ git-log --pretty=oneline 
8ba130df4b67fa40878ccf80d54615132d24bc68..119248f4578ca60b09c2
0893724e10f19806e6f1

search for "2a2ed2db353d949c06b6ef8b6913f65b39111eab":

aa4148cfc7b3b93eeaf755a7d14f10afaffe9a96 [PATCH] devfs: 
Remove devfs support from the serial subsystem
bdaf8529385d5126ef791e8f1914afff8cd59bcf [PATCH] devfs: 
Remove devfs from the init code
a29641883f57f36424e3219ae9ff48dd6cd34de0 [PATCH] devfs: 
Remove devfs from the partition code
5c3927dc3468f47b803c9e1bb82cbed2bbd411ab [PATCH] devfs: 
Remove devfs documentation from the kernel tree
d8deac5094988c7ad1127ee61f52c59a952fcabb [PATCH] devfs: 
Remove devfs from the kernel tree
5fd571cbc13db113bda26c20673e1ec54bfd26b4 [PATCH] Array 
overrun in drivers/infiniband/core/cma.c
09c0dc68625c06f5b1e786aad0d5369b592179e6 Revert "[PATCH] 
kthread: update loop.c to use kthread"
6e58f5c9a841e59233c5997df082e93329ea61e0 [ARM] 3656/1: 
S3C2412: Add S3C2412 and S3C2413 documenation
quoted
quoted
quoted
2a2ed2db353d949c06b6ef8b6913f65b39111eab Merge 
git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild
972d19e837833b93466c6f6a8ef2a7d653000aa3 Merge 
master.kernel.org:/pub/scm/linux/kernel/git/herbert/crypto-2.6
cdf4f383a4b0ffbf458f65380ecffbeee1f79841 Merge 
master.kernel.org:/pub/scm/linux/kernel/git/dtor/input
954b36d48b495afed2880320750858a2eae312c9 [PATCH] m68knommu: 
use configurable RAM setup page_offset.h
12ddae3348def8808fb755b23225b18fc4adfbe3 [PATCH] m68knommu: 
use configurable RAM setup in start up code
73e2fba8dc1e0a686073a5183be1a99e9285d2ac [PATCH] m68knommu: 
use configurable RAM setup in linker script
63e413d19db0018e443a43c6c7a482993edf79cf [PATCH] m68knommu: 
create configurable RAM setup
d2f386d7c182c1420f797093d67bb09a7251f113 [PATCH] m68knommu: 
remove unused vars from generic 68328 start code
2ae9cb6bd4c23616b229b135ea57a93a6a24e13a [PATCH] m68knommu: 
remove __ramvec from 68328/pilot start code

# pick another one...

$ git-reset --hard aa4148cfc7b3b93eeaf755a7d14f10afaffe9a96

-- 
	Paolo Ornati
	Linux 2.6.21-rc6-gc2481cc4 on x86_64
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help