[PATCH] gitk: Add a visual tag for remote refs

This patch partly changes the background color for remote refs.
It makes it easy to quickly distinguish remote refs from local
developer branches.

I ignore remote HEADs, as these really should be drawn as
aliases to other heads. But there is no simple way to
detect that HEADs really are aliases for other refs via
"git-ls-remote".

Signed-off-by: Josef Weidendorfer <Josef.Weidendorfer@gmx.de>
Signed-off-by: Paul Mackerras <paulus@samba.org>
This commit is contained in:
Josef Weidendorfer 2006-04-18 23:53:07 +02:00 committed by Paul Mackerras
parent 61e56c8823
commit a970fcf249

14
gitk
View File

@ -274,10 +274,16 @@ proc readrefs {} {
match id path]} {
continue
}
if {[regexp {^remotes/.*/HEAD$} $path match]} {
continue
}
if {![regexp {^(tags|heads)/(.*)$} $path match type name]} {
set type others
set name $path
}
if {[regexp {^remotes/} $path match]} {
set type heads
}
if {$type == "tags"} {
set tagids($name) $id
lappend idtags($id) $name
@ -1702,6 +1708,14 @@ proc drawtags {id x xt y1} {
set xl [expr {$xl - $delta/2}]
$canv create polygon $x $yt $xr $yt $xr $yb $x $yb \
-width 1 -outline black -fill $col -tags tag.$id
if {[regexp {^(remotes/.*/|remotes/)} $tag match remoteprefix]} {
set rwid [font measure $mainfont $remoteprefix]
set xi [expr {$x + 1}]
set yti [expr {$yt + 1}]
set xri [expr {$x + $rwid}]
$canv create polygon $xi $yti $xri $yti $xri $yb $xi $yb \
-width 0 -fill "#ffddaa" -tags tag.$id
}
}
set t [$canv create text $xl $y1 -anchor w -text $tag \
-font $mainfont -tags tag.$id]