Enable hiding of tags displayed in the tree as yellow labels. If a repository is used together with a system like Gerrit there may be quite a lot of tags used to control building and there may be hardly any place left for commit subjects. Signed-off-by: Łukasz Stelmach <stlman@xxxxxxxxx> --- Rebased onto Paul's repository. gitk | 23 +++++++++++++++-------- 1 files changed, 15 insertions(+), 8 deletions(-) diff --git a/gitk b/gitk index 379582a..46c1a7c 100755 --- a/gitk +++ b/gitk @@ -1754,7 +1754,7 @@ proc readrefs {} { global tagids idtags headids idheads tagobjid global otherrefids idotherrefs mainhead mainheadid global selecthead selectheadid - global hideremotes + global hideremotes hidetags foreach v {tagids idtags headids idheads otherrefids idotherrefs} { catch {unset $v} @@ -1776,6 +1776,7 @@ proc readrefs {} { set headids($name) $id lappend idheads($id) $name } elseif {[string match "tags/*" $name]} { + if {$hidetags} continue # this lets refs/tags/foo^{} overwrite refs/tags/foo, # which is what we want since the former is the commit ID set name [string range $name 5 end] @@ -2709,7 +2710,7 @@ proc savestuff {w} { global cmitmode wrapcomment datetimeformat limitdiffs global colors uicolor bgcolor fgcolor diffcolors diffcontext selectbgcolor global autoselect autosellen extdifftool perfile_attrs markbgcolor use_ttk - global hideremotes want_ttk + global hideremotes hidetags want_ttk if {$stuffsaved} return if {![winfo viewable .]} return @@ -2732,6 +2733,7 @@ proc savestuff {w} { puts $f [list set autosellen $autosellen] puts $f [list set showneartags $showneartags] puts $f [list set hideremotes $hideremotes] + puts $f [list set hidetags $hidetags] puts $f [list set showlocalchanges $showlocalchanges] puts $f [list set datetimeformat $datetimeformat] puts $f [list set limitdiffs $limitdiffs] @@ -10924,7 +10926,7 @@ proc create_prefs_page {w} { proc prefspage_general {notebook} { global NS maxwidth maxgraphpct showneartags showlocalchanges global tabstop limitdiffs autoselect autosellen extdifftool perfile_attrs - global hideremotes want_ttk have_ttk + global hideremotes hidetags want_ttk have_ttk set page [create_prefs_page $notebook.general] @@ -10947,6 +10949,9 @@ proc prefspage_general {notebook} { ${NS}::checkbutton $page.hideremotes -text [mc "Hide remote refs"] \ -variable hideremotes grid x $page.hideremotes -sticky w + ${NS}::checkbutton $page.hidetags -text [mc "Hide tag labels"] \ + -variable hidetags + grid x $page.hidetags -sticky w ${NS}::label $page.ddisp -text [mc "Diff display options"] grid $page.ddisp - -sticky w -pady 10 @@ -11048,7 +11053,7 @@ proc doprefs {} { global oldprefs prefstop showneartags showlocalchanges global uicolor bgcolor fgcolor ctext diffcolors selectbgcolor markbgcolor global tabstop limitdiffs autoselect autosellen extdifftool perfile_attrs - global hideremotes want_ttk have_ttk + global hideremotes hidetags want_ttk have_ttk set top .gitkprefs set prefstop $top @@ -11057,7 +11062,7 @@ proc doprefs {} { return } foreach v {maxwidth maxgraphpct showneartags showlocalchanges \ - limitdiffs tabstop perfile_attrs hideremotes want_ttk} { + limitdiffs tabstop perfile_attrs hideremotes hidetags want_ttk} { set oldprefs($v) [set $v] } ttk_toplevel $top @@ -11177,7 +11182,7 @@ proc prefscan {} { global oldprefs prefstop foreach v {maxwidth maxgraphpct showneartags showlocalchanges \ - limitdiffs tabstop perfile_attrs hideremotes want_ttk} { + limitdiffs tabstop perfile_attrs hideremotes hidetags want_ttk} { global $v set $v $oldprefs($v) } @@ -11191,7 +11196,7 @@ proc prefsok {} { global oldprefs prefstop showneartags showlocalchanges global fontpref mainfont textfont uifont global limitdiffs treediffs perfile_attrs - global hideremotes + global hideremotes hidetags catch {destroy $prefstop} unset prefstop @@ -11237,7 +11242,8 @@ proc prefsok {} { $limitdiffs != $oldprefs(limitdiffs)} { reselectline } - if {$hideremotes != $oldprefs(hideremotes)} { + if {$hideremotes != $oldprefs(hideremotes) || + $hidetags != $oldprefs(hidetags)} { rereadrefs } } @@ -11661,6 +11667,7 @@ set cmitmode "patch" set wrapcomment "none" set showneartags 1 set hideremotes 0 +set hidetags 0 set maxrefs 20 set maxlinelen 200 set showlocalchanges 1 -- 1.7.8.6 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html