Skip to contentSkip to conversation

gitk: new option to hide prefetch refs

PATCH New Tal Kelrich 1 participant 1 message Aug 30, 2021 1 message not in the archive

lore
Share & tools
lore
#1 lore raw

PATCH v2 1/1 gitk: new option to hide prefetch refs

In reply to a message not in the archive

The maintenance 'prefetch' task creates refs that mirror remote refs, and in repositories with many branches this can clutter the commit list.

Add a new option to ignore any prefetch refs, enabled by default.

---
Changes since v1:
- Patch made relative to gitk tree.

 gitk | 23 ++++++++++++++++-------
 1 file changed, 16 insertions(+), 7 deletions(-)
gitk +0 -0
index 23d9dd1..4e44da5 100755

@@ -1780,6 +1780,7 @@ proc readrefs {} {
global selecthead selectheadid
global hideremotes
global tclencoding
+ global hideprefetch

foreach v {tagids idtags headids idheads otherrefids idotherrefs} {
unset -nocomplain $v
@@ -1814,6 +1815,7 @@ proc readrefs {} {
}
set tagids($name) $id
lappend idtags($id) $name
+ } elseif {[string match "prefetch/*" $name] && $hideprefetch} {
} else {
set otherrefids($name) $id
lappend idotherrefs($id) $name
@@ -11548,7 +11550,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 maxrefs web_browser
+ global hideremotes want_ttk have_ttk maxrefs web_browser hideprefetch

set page [create_prefs_page $notebook.general]

@@ -11572,6 +11574,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.hideprefetch -text [mc "Hide prefetch refs"] \
+ -variable hideprefetch
+ grid x $page.hideprefetch -sticky w

${NS}::label $page.ddisp -text [mc "Diff display options"] grid $page.ddisp - -sticky w -pady 10
@@ -11696,7 +11701,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 want_ttk have_ttk hideprefetch

set top .gitkprefs
set prefstop $top

@@ -11705,7 +11710,8 @@ proc doprefs {} {
         return
     }
     foreach v {maxwidth maxgraphpct showneartags showlocalchanges \
-                   limitdiffs tabstop perfile_attrs hideremotes want_ttk} {
+                   limitdiffs tabstop perfile_attrs hideremotes want_ttk \
+                   hideprefetch} {

set oldprefs($v) [set $v]
}
ttk_toplevel $top
@@ -11831,7 +11837,8 @@ proc prefscan {} {
global oldprefs prefstop

foreach v {maxwidth maxgraphpct showneartags showlocalchanges \

-                   limitdiffs tabstop perfile_attrs hideremotes want_ttk} {
+                   limitdiffs tabstop perfile_attrs hideremotes want_ttk \
+                   hideprefetch} {

global $v
set $v $oldprefs($v)
}
@@ -11845,7 +11852,7 @@ proc prefsok {} {
global oldprefs prefstop showneartags showlocalchanges global fontpref mainfont textfont uifont global limitdiffs treediffs perfile_attrs
- global hideremotes
+ global hideremotes hideprefetch

     catch {destroy $prefstop}
     unset prefstop
@@ -11891,7 +11898,8 @@ proc prefsok {} {
           $limitdiffs != $oldprefs(limitdiffs)} {
         reselectline
     }
-    if {$hideremotes != $oldprefs(hideremotes)} {
+    if {$hideremotes != $oldprefs(hideremotes) ||
+          $hideprefetch != $oldprefs(hideprefetch)} {
         rereadrefs
     }

}
@@ -12365,6 +12373,7 @@ set cmitmode "patch"
set wrapcomment "none"
set showneartags 1
set hideremotes 0
+set hideprefetch 1
set maxrefs 20
set visiblerefs {"master"}
set maxlinelen 200
@@ -12477,7 +12486,7 @@ set config_variables {
filesepbgcolor filesepfgcolor linehoverbgcolor linehoverfgcolor linehoveroutlinecolor mainheadcirclecolor workingfilescirclecolor indexcirclecolor circlecolors linkfgcolor circleoutlinecolor diffbgcolors
- web_browser
+ web_browser hideprefetch
}
foreach var $config_variables {
config_init_trace $var
--
2.33.0