diff options
author | Josef Weidendorfer <Josef.Weidendorfer@gmx.de> | 2006-04-18 23:53:07 +0200 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2006-04-25 22:44:47 +1000 |
commit | a970fcf249534ca21ad721b289402c135722a24c (patch) | |
tree | 1c83bb5cb51a75cce2232970051f5d314884a039 /gitk | |
parent | gitk: Let git-rev-list do the argument list parsing (diff) | |
download | tgif-a970fcf249534ca21ad721b289402c135722a24c.tar.xz |
[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>
Diffstat (limited to 'gitk')
-rwxr-xr-x | gitk | 14 |
1 files changed, 14 insertions, 0 deletions
@@ -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] |