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> --- gitk-git/gitk | 23 +++++++++++++++-------- 1 files changed, 15 insertions(+), 8 deletions(-) diff --git a/gitk-git/gitk b/gitk-git/gitk index d93bd99..274b46b 100755 --- a/gitk-git/gitk +++ b/gitk-git/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] @@ -2702,7 +2703,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 @@ -2725,6 +2726,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] @@ -10864,7 +10866,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] @@ -10887,6 +10889,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 @@ -10988,7 +10993,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 @@ -10997,7 +11002,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 @@ -11117,7 +11122,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) } @@ -11131,7 +11136,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 @@ -11177,7 +11182,8 @@ proc prefsok {} { $limitdiffs != $oldprefs(limitdiffs)} { reselectline } - if {$hideremotes != $oldprefs(hideremotes)} { + if {$hideremotes != $oldprefs(hideremotes) || + $hidetags != $oldprefs(hidetags)} { rereadrefs } } @@ -11601,6 +11607,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