{"thread":{"id":"13626","subject":"[PATCH 4/3] bisect: use a detached HEAD to bisect","startedAt":"2008-05-22T23:28:57Z","lastAt":"2008-05-26T01:11:22Z","messageCount":10,"participants":["Christian Couder","Junio C Hamano","Jon Loeliger","Linus Torvalds","Paul Mackerras","Jeff King"],"isPatch":true,"patchVersion":1,"patchTotal":3},"messages":[{"id":"77512","messageId":"20080523012857.acce6457.chriscool@tuxfamily.org","threadId":"13626","inReplyTo":null,"subject":"[PATCH 4/3] bisect: use a detached HEAD to bisect","fromName":"Christian Couder","fromEmail":"chriscool@tuxfamily.org","sentAt":"2008-05-22T23:28:57Z","receivedAt":"2008-05-22T23:28:57Z","isPatch":true,"sender":{"key":"christian.couder@gmail.com","avatar":"https://avatars.githubusercontent.com/u/208954?v=4"},"body":"When \"git bisect\" was first written, it was not possible to\ncheckout a detached HEAD. The detached feature appeared latter.\n\nThat's why before this patch the \"git bisect\" process used a\n\"bisect\" branch to checkout new revisions to be tested (and also\na \"new-bisect\" one to check if the checkouts could work).\n\nThis patch makes \"git bisect\" checkout revisions to be tested on\na detached HEAD. This simplifies the code a bit.\n\nThe tests to check that \"git bisect\" does not start if a\n\"bisect\" or a \"new-bisect\" branch exists are removed as they\nare not relevant any more.\n\nSigned-off-by: Christian Couder <chriscool@tuxfamily.org>\n---\n git-bisect.sh               |   53 ++++++++++++++++++++----------------------\n t/t6030-bisect-porcelain.sh |   38 +++++++++++++++---------------\n 2 files changed, 44 insertions(+), 47 deletions(-)\n\n\tThis patch should be applied on top of the series I just sent.\n\tBut it may be for after v1.5.6.\n\ndiff --git a/git-bisect.sh b/git-bisect.sh\nindex 57168b0..8ec8d04 100755\n--- a/git-bisect.sh\n+++ b/git-bisect.sh\n@@ -63,40 +63,39 @@ bisect_autostart() {\n \n bisect_start() {\n \t#\n-\t# Verify HEAD. If we were bisecting before this, reset to the\n-\t# top-of-line master first!\n+\t# Verify HEAD.\n \t#\n \thead=$(GIT_DIR=\"$GIT_DIR\" git symbolic-ref -q HEAD) ||\n \thead=$(GIT_DIR=\"$GIT_DIR\" git rev-parse --verify HEAD) ||\n \tdie \"Bad HEAD - I need a HEAD\"\n+\n \t#\n-\t# Check that we either already have BISECT_START, or that the\n-\t# branches bisect, new-bisect don't exist, to not override them.\n+\t# Check if we are bisecting.\n \t#\n-\ttest -s \"$GIT_DIR/BISECT_START\" ||\n-\t\tif git show-ref --verify -q refs/heads/bisect ||\n-\t\t    git show-ref --verify -q refs/heads/new-bisect; then\n-\t\t\tdie 'The branches \"bisect\" and \"new-bisect\" must not exist.'\n-\t\tfi\n \tstart_head=''\n-\tcase \"$head\" in\n-\trefs/heads/bisect)\n+\tif test -s \"$GIT_DIR/BISECT_START\"; then\n+\t\t# Reset to the rev from where we started.\n \t\tstart_head=$(cat \"$GIT_DIR/BISECT_START\")\n \t\tgit checkout \"$start_head\" || exit\n-\t\t;;\n-\trefs/heads/*|$_x40)\n-\t\t# This error message should only be triggered by cogito usage,\n-\t\t# and cogito users should understand it relates to cg-seek.\n-\t\t[ -s \"$GIT_DIR/head-name\" ] && die \"won't bisect on seeked tree\"\n-\t\tstart_head=\"${head#refs/heads/}\"\n-\t\t;;\n-\t*)\n-\t\tdie \"Bad HEAD - strange symbolic ref\"\n-\t\t;;\n-\tesac\n+\telse\n+\t\t# Get rev from where we start.\n+\t\tcase \"$head\" in\n+\t\trefs/heads/*|$_x40)\n+\t\t\t# This error message should only be triggered by\n+\t\t\t# cogito usage, and cogito users should understand\n+\t\t\t# it relates to cg-seek.\n+\t\t\t[ -s \"$GIT_DIR/head-name\" ] &&\n+\t\t\t\tdie \"won't bisect on seeked tree\"\n+\t\t\tstart_head=\"${head#refs/heads/}\"\n+\t\t\t;;\n+\t\t*)\n+\t\t\tdie \"Bad HEAD - strange symbolic ref\"\n+\t\t\t;;\n+\t\tesac\n+\tfi\n \n \t#\n-\t# Get rid of any old bisect state\n+\t# Get rid of any old bisect state.\n \t#\n \tbisect_clean_state\n \n@@ -118,7 +117,7 @@ bisect_start() {\n \t\tbreak\n \t\t;;\n \t    *)\n-\t\trev=$(git rev-parse --verify \"$arg^{commit}\" 2>/dev/null) || {\n+\t\trev=$(git rev-parse -q --verify \"$arg^{commit}\") || {\n \t\t    test $has_double_dash -eq 1 &&\n \t\t        die \"'$arg' does not appear to be a valid revision\"\n \t\t    break\n@@ -366,9 +365,7 @@ bisect_next() {\n \texit_if_skipped_commits \"$bisect_rev\"\n \n \techo \"Bisecting: $bisect_nr revisions left to test after this\"\n-\tgit branch -D new-bisect 2> /dev/null\n-\tgit checkout -q -b new-bisect \"$bisect_rev\" || exit\n-\tgit branch -M new-bisect bisect\n+\tgit checkout -q \"$bisect_rev\" || exit\n \tgit show-branch \"$bisect_rev\"\n }\n \n@@ -415,7 +412,7 @@ bisect_reset() {\n \n bisect_clean_state() {\n \t# There may be some refs packed during bisection.\n-\tgit for-each-ref --format='%(refname) %(objectname)' refs/bisect/\\* refs/heads/bisect |\n+\tgit for-each-ref --format='%(refname) %(objectname)' refs/bisect/\\* |\n \twhile read ref hash\n \tdo\n \t\tgit update-ref -d $ref $hash\ndiff --git a/t/t6030-bisect-porcelain.sh b/t/t6030-bisect-porcelain.sh\nindex c4f074d..0626544 100755\n--- a/t/t6030-bisect-porcelain.sh\n+++ b/t/t6030-bisect-porcelain.sh\n@@ -322,25 +322,6 @@ test_expect_success 'bisect starting with a detached HEAD' '\n \ttest $HEAD = $(cat .git/BISECT_START) &&\n \tgit bisect reset &&\n \ttest $HEAD = $(git rev-parse --verify HEAD)\n-\n-'\n-\n-test_expect_success 'bisect refuses to start if branch bisect exists' '\n-\tgit bisect reset &&\n-\tgit branch bisect &&\n-\ttest_must_fail git bisect start &&\n-\tgit branch -d bisect &&\n-\tgit checkout -b bisect &&\n-\ttest_must_fail git bisect start &&\n-\tgit checkout master &&\n-\tgit branch -d bisect\n-'\n-\n-test_expect_success 'bisect refuses to start if branch new-bisect exists' '\n-\tgit bisect reset &&\n-\tgit branch new-bisect &&\n-\ttest_must_fail git bisect start &&\n-\tgit branch -d new-bisect\n '\n \n test_expect_success 'bisect errors out if bad and good are mistaken' '\n@@ -350,6 +331,25 @@ test_expect_success 'bisect errors out if bad and good are mistaken' '\n \tgit bisect reset\n '\n \n+test_expect_success 'bisect does not create a \"bisect\" branch' '\n+\tgit bisect reset &&\n+\tgit bisect start $HASH7 $HASH1 &&\n+\tgit branch bisect &&\n+\trev_hash4=$(git rev-parse --verify HEAD) &&\n+\ttest \"$rev_hash4\" = \"$HASH4\" &&\n+\tgit branch -D bisect &&\n+\tgit bisect good &&\n+\tgit branch bisect &&\n+\trev_hash6=$(git rev-parse --verify HEAD) &&\n+\ttest \"$rev_hash6\" = \"$HASH6\" &&\n+\tgit bisect good > my_bisect_log.txt &&\n+\tgrep \"$HASH7 is first bad commit\" my_bisect_log.txt &&\n+\tgit bisect reset &&\n+\trev_hash6=$(git rev-parse --verify bisect) &&\n+\ttest \"$rev_hash6\" = \"$HASH6\" &&\n+\tgit branch -D bisect\n+'\n+\n #\n #\n test_done\n-- \n1.5.5.1.502.gb8b73.dirty\n"},{"id":"77522","messageId":"7v3ao9twfa.fsf@gitster.siamese.dyndns.org","threadId":"13626","inReplyTo":"20080523012857.acce6457.chriscool@tuxfamily.org","subject":"Re: [PATCH 4/3] bisect: use a detached HEAD to bisect","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2008-05-23T05:35:21Z","receivedAt":"2008-05-23T05:35:21Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Christian Couder <chriscool@tuxfamily.org> writes:\n\n> When \"git bisect\" was first written, it was not possible to\n> checkout a detached HEAD. The detached feature appeared latter.\n> ...\n> This patch makes \"git bisect\" checkout revisions to be tested on\n> a detached HEAD. This simplifies the code a bit.\n\nYay!!\n\nOne potential worry/downside is \"bisect visualize\".  Because <bisect>\nbranch was used for bisection, the _current_ commit has always been\nindicated with a label.  HEAD would not get any special label in gitk,\nwould it?\n"},{"id":"77529","messageId":"200805230908.24988.chriscool@tuxfamily.org","threadId":"13626","inReplyTo":"7v3ao9twfa.fsf@gitster.siamese.dyndns.org","subject":"Re: [PATCH 4/3] bisect: use a detached HEAD to bisect","fromName":"Christian Couder","fromEmail":"chriscool@tuxfamily.org","sentAt":"2008-05-23T07:08:24Z","receivedAt":"2008-05-23T07:08:24Z","isPatch":true,"sender":{"key":"christian.couder@gmail.com","avatar":"https://avatars.githubusercontent.com/u/208954?v=4"},"body":"Le vendredi 23 mai 2008, Junio C Hamano a écrit :\n> Christian Couder <chriscool@tuxfamily.org> writes:\n> > When \"git bisect\" was first written, it was not possible to\n> > checkout a detached HEAD. The detached feature appeared latter.\n> > ...\n> > This patch makes \"git bisect\" checkout revisions to be tested on\n> > a detached HEAD. This simplifies the code a bit.\n>\n> Yay!!\n>\n> One potential worry/downside is \"bisect visualize\".  Because <bisect>\n> branch was used for bisection, the _current_ commit has always been\n> indicated with a label.  HEAD would not get any special label in gitk,\n> would it?\n\nYou are probably right. I will have a look at that.\n\nThanks,\nChristian.\n"},{"id":"77557","messageId":"4836DF69.4060609@freescale.com","threadId":"13626","inReplyTo":"7v3ao9twfa.fsf@gitster.siamese.dyndns.org","subject":"Re: [PATCH 4/3] bisect: use a detached HEAD to bisect","fromName":"Jon Loeliger","fromEmail":"jdl@freescale.com","sentAt":"2008-05-23T15:14:49Z","receivedAt":"2008-05-23T15:14:49Z","isPatch":true,"sender":{"key":"jdl@jdl.com","avatar":"https://gravatar.com/avatar/75ce9a10b151acd2c28ec4ab2136dba7b2ff1634530bd04b155981a749d08a64?d=mp&s=160"},"body":"Junio C Hamano wrote:\n> Christian Couder <chriscool@tuxfamily.org> writes:\n> \n>> When \"git bisect\" was first written, it was not possible to\n>> checkout a detached HEAD. The detached feature appeared latter.\n>> ...\n>> This patch makes \"git bisect\" checkout revisions to be tested on\n>> a detached HEAD. This simplifies the code a bit.\n> \n> Yay!!\n> \n> One potential worry/downside is \"bisect visualize\".  Because <bisect>\n> branch was used for bisection, the _current_ commit has always been\n> indicated with a label.  HEAD would not get any special label in gitk,\n> would it?\n\nHrm.  This seems like a potential issue to me as I occasionally\ndo want to view where it is and possibly adjust it up or down a\nfew commits depending on context.\n\nPerhaps a \"git bisect addfoo\" sort of command is needed?  The goal\nwould be to \"add some form of {branch,label,tag}\" so it could be named,\nseen and possibly moved.\n\njdl\n"},{"id":"77558","messageId":"alpine.LFD.1.10.0805230823330.3081@woody.linux-foundation.org","threadId":"13626","inReplyTo":"7v3ao9twfa.fsf@gitster.siamese.dyndns.org","subject":"Re: [PATCH 4/3] bisect: use a detached HEAD to bisect","fromName":"Linus Torvalds","fromEmail":"torvalds@linux-foundation.org","sentAt":"2008-05-23T15:27:51Z","receivedAt":"2008-05-23T15:27:51Z","isPatch":true,"sender":{"key":"torvalds@linux-foundation.org","avatar":"https://avatars.githubusercontent.com/u/1024025?v=4"},"body":"\n\nOn Thu, 22 May 2008, Junio C Hamano wrote:\n> \n> One potential worry/downside is \"bisect visualize\".  Because <bisect>\n> branch was used for bisection, the _current_ commit has always been\n> indicated with a label.  HEAD would not get any special label in gitk,\n> would it?\n\nThis is a general problem in gitk. \n\nIt's worse than not showing a label, btw. If it doesn't realize what the \nHEAD is (and it won't), it also doesn't show the fake \"uncommitted \nchanges\" commit(s).\n\nTest by doing something like\n\n\tgit checkout HEAD^\n\techo \"Dummy change\" >> Makefile\n\tgitk\n\nand note the lack of both pointer to detached head and the lack of notice \nabout local uncommitted changes.\n\nPaul?\n\n\t\tLinus\n"},{"id":"77649","messageId":"18487.62245.59892.442935@cargo.ozlabs.ibm.com","threadId":"13626","inReplyTo":"alpine.LFD.1.10.0805230823330.3081@woody.linux-foundation.org","subject":"Re: [PATCH 4/3] bisect: use a detached HEAD to bisect","fromName":"Paul Mackerras","fromEmail":"paulus@samba.org","sentAt":"2008-05-24T10:51:17Z","receivedAt":"2008-05-24T10:51:17Z","isPatch":true,"sender":{"key":"paulus@samba.org","avatar":"https://avatars.githubusercontent.com/u/1606439?v=4"},"body":"Linus Torvalds writes:\n\n> This is a general problem in gitk. \n> \n> It's worse than not showing a label, btw. If it doesn't realize what the \n> HEAD is (and it won't), it also doesn't show the fake \"uncommitted \n> changes\" commit(s).\n\nI could make it show \"HEAD\" in a green box for a detached head easily\nenough.  That could be ambiguous if you had a branch called HEAD, I\nsuppose, but having a branch called HEAD would be deeply confusing\nanyway. :)  Do you have any alternative suggestion for how to display\na detached head?\n\nPaul.\n"},{"id":"77661","messageId":"alpine.LFD.1.10.0805240842360.3081@woody.linux-foundation.org","threadId":"13626","inReplyTo":"18487.62245.59892.442935@cargo.ozlabs.ibm.com","subject":"Re: [PATCH 4/3] bisect: use a detached HEAD to bisect","fromName":"Linus Torvalds","fromEmail":"torvalds@linux-foundation.org","sentAt":"2008-05-24T16:14:21Z","receivedAt":"2008-05-24T16:14:21Z","isPatch":true,"sender":{"key":"torvalds@linux-foundation.org","avatar":"https://avatars.githubusercontent.com/u/1024025?v=4"},"body":"\n\nOn Sat, 24 May 2008, Paul Mackerras wrote:\n> \n> I could make it show \"HEAD\" in a green box for a detached head easily\n> enough.  That could be ambiguous if you had a branch called HEAD, I\n> suppose, but having a branch called HEAD would be deeply confusing\n> anyway. :)  Do you have any alternative suggestion for how to display\n> a detached head?\n\nWell, it would be really nice if the \"active commit\" was always visible \nsome way.\n\nOf course, _usually_ it's just the top commit, and it's obvious that way \nwhich one is the checked-out one, but if you do \"gitk --all\" or just \ngenerally have multiple branches, right now it's hard to see what commit \nis the checked-out one, regardless of whether it's detached or not.\n\nI think \"HEAD\" in a green box would solve that too, but on the other hand, \nwe have a *lot* of boxes already. For people who mainly just track another \nrepo, you already have one box saying \"master\", and another one saying \n\"remotes/origin/master\", and adding yet *another* box saying HEAD that \njust points to the same commit will work, but do we really want that?\n\nI actually like the red circle for \"Local uncommitted changes\". Maybe we \ncan use a similar visual clue for \"currently checked out\". You already \npicked green for the \"added to the index\" case, so we have the three \nprimary RGB colors already used, but we could make it just be a deep \nyellow.\n\nOf course, maybe people hate lots of colos already, and something more \nakin to the text background thing that we use for the selected commit \nwould be better.\n\nI dunno. There's so many options.\n\nHere's a \"make it yellow\" patch.\n\n\t\tLinus\n----\n gitk-git/gitk |    7 ++++++-\n 1 files changed, 6 insertions(+), 1 deletions(-)\n\ndiff --git a/gitk-git/gitk b/gitk-git/gitk\nindex 9ab6dba..94ca826 100644\n--- a/gitk-git/gitk\n+++ b/gitk-git/gitk\n@@ -4841,7 +4841,8 @@ proc drawcmittext {id row col} {\n     global cmitlisted commitinfo rowidlist parentlist\n     global rowtextx idpos idtags idheads idotherrefs\n     global linehtag linentag linedtag selectedline\n-    global canvxmax boldrows boldnamerows fgcolor nullid nullid2\n+    global canvxmax boldrows boldnamerows fgcolor\n+    global HEAD nullid nullid2\n \n     # listed is 0 for boundary, 1 for normal, 2 for negative, 3 for left, 4 for right\n     set listed $cmitlisted($curview,$id)\n@@ -4849,6 +4850,8 @@ proc drawcmittext {id row col} {\n \tset ofill red\n     } elseif {$id eq $nullid2} {\n \tset ofill green\n+    } elseif {$id eq $HEAD} {\n+\tset ofill yellow\n     } else {\n \tset ofill [expr {$listed != 0 ? $listed == 2 ? \"gray\" : \"blue\" : \"white\"}]\n     }\n@@ -9886,6 +9889,8 @@ set viewperm(0) 0\n set viewargs(0) {}\n set viewargscmd(0) {}\n \n+set HEAD [exec git rev-parse HEAD]\n+\n set numcommits 0\n set loginstance 0\n set cmdlineok 0\n"},{"id":"77684","messageId":"20080525003755.GA11019@sigill.intra.peff.net","threadId":"13626","inReplyTo":"alpine.LFD.1.10.0805240842360.3081@woody.linux-foundation.org","subject":"Re: [PATCH 4/3] bisect: use a detached HEAD to bisect","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2008-05-25T00:37:56Z","receivedAt":"2008-05-25T00:37:56Z","isPatch":true,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Sat, May 24, 2008 at 09:14:21AM -0700, Linus Torvalds wrote:\n\n> I actually like the red circle for \"Local uncommitted changes\". Maybe we \n> can use a similar visual clue for \"currently checked out\". You already \n> picked green for the \"added to the index\" case, so we have the three \n> primary RGB colors already used, but we could make it just be a deep \n> yellow.\n>\n> [...]\n> \n> Here's a \"make it yellow\" patch.\n\nI kind of expected this to color the _ref_, not the commit bubble. That\nis, I think it is useful not just to see that \"this commit is pointed to\nby HEAD\" but that \"master is the currently checked out branch.\"\n\nOf course in the case of detached HEAD, we would have only the commit to\ncolor. But in that case a green box probably makes sense, since you\nprobably aren't going to have a bunch of other boxes pointing to it\n(at most, a tag name or remote tracking branch name).\n\nIOW,\n\n  1. If head points to a ref, color the background of that ref box\n     specially (yellow and green are taken. Red is probably a bit too\n     danger-implying.  Blue?)\n     ...\n     Hmm, actually it looks like we already bold the refname in that\n     case. I never noticed that until now. If I'm not the only one,\n     then maybe that is an argument for making the differentiation more\n     obvious.\n\n  2. If head is detached, add a green 'HEAD' box.\n\n-Peff\n"},{"id":"77726","messageId":"18490.280.325614.480038@cargo.ozlabs.ibm.com","threadId":"13626","inReplyTo":"alpine.LFD.1.10.0805240842360.3081@woody.linux-foundation.org","subject":"Re: [PATCH 4/3] bisect: use a detached HEAD to bisect","fromName":"Paul Mackerras","fromEmail":"paulus@samba.org","sentAt":"2008-05-26T00:15:20Z","receivedAt":"2008-05-26T00:15:20Z","isPatch":true,"sender":{"key":"paulus@samba.org","avatar":"https://avatars.githubusercontent.com/u/1606439?v=4"},"body":"Linus Torvalds writes:\n\n> Of course, _usually_ it's just the top commit, and it's obvious that way \n> which one is the checked-out one, but if you do \"gitk --all\" or just \n> generally have multiple branches, right now it's hard to see what commit \n> is the checked-out one, regardless of whether it's detached or not.\n\nIf it's not detached, the branch name is in bold, but evidently that's\neither not intuitive or not sufficiently distinct...\n\n> I think \"HEAD\" in a green box would solve that too, but on the other hand, \n> we have a *lot* of boxes already. For people who mainly just track another \n> repo, you already have one box saying \"master\", and another one saying \n> \"remotes/origin/master\", and adding yet *another* box saying HEAD that \n> just points to the same commit will work, but do we really want that?\n> \n> I actually like the red circle for \"Local uncommitted changes\". Maybe we \n> can use a similar visual clue for \"currently checked out\". You already \n> picked green for the \"added to the index\" case, so we have the three \n> primary RGB colors already used, but we could make it just be a deep \n> yellow.\n> \n> Of course, maybe people hate lots of colos already, and something more \n> akin to the text background thing that we use for the selected commit \n> would be better.\n> \n> I dunno. There's so many options.\n> \n> Here's a \"make it yellow\" patch.\n\nThanks.  I have checked in something similar, that also handles the\ncases where you update the graph and the head has moved, and when you\ndo a checkout or reset using the gitk menus.\n\nPaul.\n"},{"id":"77727","messageId":"7v4p8lhnt1.fsf@gitster.siamese.dyndns.org","threadId":"13626","inReplyTo":"18490.280.325614.480038@cargo.ozlabs.ibm.com","subject":"Re: [PATCH 4/3] bisect: use a detached HEAD to bisect","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2008-05-26T01:11:22Z","receivedAt":"2008-05-26T01:11:22Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Paul Mackerras <paulus@samba.org> writes:\n\n> Linus Torvalds writes:\n>\n>> Of course, _usually_ it's just the top commit, and it's obvious that way \n>> which one is the checked-out one, but if you do \"gitk --all\" or just \n>> generally have multiple branches, right now it's hard to see what commit \n>> is the checked-out one, regardless of whether it's detached or not.\n>\n> If it's not detached, the branch name is in bold, but evidently that's\n> either not intuitive or not sufficiently distinct...\n>\n>> I think \"HEAD\" in a green box would solve that too, but on the other hand, \n>> we have a *lot* of boxes already. For people who mainly just track another \n>> repo, you already have one box saying \"master\", and another one saying \n>> \"remotes/origin/master\", and adding yet *another* box saying HEAD that \n>> just points to the same commit will work, but do we really want that?\n>> \n>> I actually like the red circle for \"Local uncommitted changes\". Maybe we \n>> can use a similar visual clue for \"currently checked out\". You already \n>> picked green for the \"added to the index\" case, so we have the three \n>> primary RGB colors already used, but we could make it just be a deep \n>> yellow.\n>> \n>> Of course, maybe people hate lots of colos already, and something more \n>> akin to the text background thing that we use for the selected commit \n>> would be better.\n>> \n>> I dunno. There's so many options.\n>> \n>> Here's a \"make it yellow\" patch.\n>\n> Thanks.  I have checked in something similar, that also handles the\n> cases where you update the graph and the head has moved, and when you\n> do a checkout or reset using the gitk menus.\n\nThanks.  Will pull, but it will have to miss upcoming 1.5.6-rc0,\nunfortunately.\n"}]}