Skip to content

Commit

Permalink
gitk: Select head of current branch by default
Browse files Browse the repository at this point in the history
Instead of selecting the first commit that appears, this makes gitk
select the currently checked out head, if the user hasn't explicitly
selected some other commit by the time it appears.  If the head hasn't
appeared by the time the graph is complete, then we select the first
real commit.

This applies both for graph updates and when the graph is being read
in initially.

Signed-off-by: Paul Mackerras <paulus@samba.org>
  • Loading branch information
Paul Mackerras committed Jan 13, 2008
1 parent 17529cf commit 3e76608
Showing 1 changed file with 15 additions and 20 deletions.
35 changes: 15 additions & 20 deletions gitk
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,7 @@ proc start_rev_list {view} {
global showlocalchanges commitinterest mainheadid
global progressdirn progresscoords proglastnc curview
global viewincl viewactive loginstance viewinstances
global pending_select mainheadid

set startmsecs [clock clicks -milliseconds]
set commitidx($view) 0
Expand Down Expand Up @@ -138,6 +139,7 @@ proc start_rev_list {view} {
set progressdirn 1
set progresscoords {0 0}
set proglastnc 0
set pending_select $mainheadid
}
}

Expand Down Expand Up @@ -170,7 +172,7 @@ proc updatecommits {} {
global curview viewargs viewfiles viewincl viewinstances
global viewactive viewcomplete loginstance tclencoding mainheadid
global varcid startmsecs commfd showneartags showlocalchanges leftover
global mainheadid
global mainheadid pending_select

set oldmainid $mainheadid
rereadrefs
Expand Down Expand Up @@ -228,6 +230,7 @@ proc updatecommits {} {
filerun $fd [list getcommitlines $fd $i $view]
incr viewactive($view)
set viewcomplete($view) 0
set pending_select $mainheadid
nowbusy $view "Reading"
if {$showneartags} {
getallcommits
Expand Down Expand Up @@ -2748,9 +2751,9 @@ proc showview {n} {
global numcommits viewcomplete
global selectedline currentid canv canvy0
global treediffs
global pending_select
global pending_select mainheadid
global commitidx
global selectedview selectfirst
global selectedview
global hlview selectedhlview commitinterest

if {$n == $curview} return
Expand Down Expand Up @@ -2812,7 +2815,6 @@ proc showview {n} {
setcanvscroll
set yf 0
set row {}
set selectfirst 0
if {$selid ne {} && [commitinview $selid $n]} {
set row [rowofcommit $selid]
# try to get the selected row in the same position on the screen
Expand All @@ -2827,14 +2829,18 @@ proc showview {n} {
drawvisible
if {$row ne {}} {
selectline $row 0
} elseif {$selid ne {}} {
set pending_select $selid
} elseif {$mainheadid ne {} && [commitinview $mainheadid $curview]} {
selectline [rowofcommit $mainheadid] 1
} elseif {!$viewcomplete($n)} {
if {$selid ne {}} {
set pending_select $selid
} else {
set pending_select $mainheadid
}
} else {
set row [first_real_row]
if {$row < $numcommits} {
selectline $row 0
} else {
set selectfirst 1
}
}
if {!$viewcomplete($n)} {
Expand Down Expand Up @@ -3440,7 +3446,6 @@ proc initlayout {} {
global numcommits canvxmax canv
global nextcolor
global colormap rowtextx
global selectfirst

set numcommits 0
set displayorder {}
Expand All @@ -3452,7 +3457,6 @@ proc initlayout {} {
set canvxmax [$canv cget -width]
catch {unset colormap}
catch {unset rowtextx}
set selectfirst 1
}

proc setcanvscroll {} {
Expand Down Expand Up @@ -3486,7 +3490,7 @@ proc visiblerows {} {
proc layoutmore {} {
global commitidx viewcomplete curview
global numcommits pending_select selectedline curview
global selectfirst lastscrollset commitinterest
global lastscrollset commitinterest

set canshow $commitidx($curview)
if {$canshow <= $numcommits && !$viewcomplete($curview)} return
Expand All @@ -3513,15 +3517,6 @@ proc layoutmore {} {
[commitinview $pending_select $curview]} {
selectline [rowofcommit $pending_select] 1
}
if {$selectfirst} {
if {[info exists selectedline] || [info exists pending_select]} {
set selectfirst 0
} else {
set l [first_real_row]
selectline $l 1
set selectfirst 0
}
}
}

proc doshowlocalchanges {} {
Expand Down

0 comments on commit 3e76608

Please sign in to comment.