From: "Tal Kelrich via GitGitGadget" <gitgitgadget@gmail.com>
To: git@vger.kernel.org
Cc: Paul Mackerras <paulus@ozlabs.org>,
Tal Kelrich <hasturkun@gmail.com>,
Tal Kelrich <hasturkun@gmail.com>
Subject: [PATCH] gitk: new option to hide prefetch refs
Date: Tue, 24 Aug 2021 12:18:46 +0000 [thread overview]
Message-ID: <pull.1023.git.1629807526939.gitgitgadget@gmail.com> (raw)
From: Tal Kelrich <hasturkun@gmail.com>
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.
Signed-off-by: Tal Kelrich <hasturkun@gmail.com>
---
gitk: new option to hide prefetch refs
Adding a new option for gitk to ignore prefetch refs, as these clutter
the commit list on repositories with many branches.
This defaults to being enabled, as I would expect users usually wouldn't
want to see these.
It might have been better to allow gitk to read log.excludeDecoration
(or a gitk specific configured pattern) and use that to ignore refs, but
this was simpler for me to implement without knowing Tcl.
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-1023%2Fhasturkun%2Fgitk-ignore-prefetch-v1
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-1023/hasturkun/gitk-ignore-prefetch-v1
Pull-Request: https://github.com/gitgitgadget/git/pull/1023
gitk-git/gitk | 23 ++++++++++++++++-------
1 file changed, 16 insertions(+), 7 deletions(-)
diff --git a/gitk-git/gitk b/gitk-git/gitk
index 23d9dd1fe0d..4e44da517f2 100755
--- a/gitk-git/gitk
+++ b/gitk-git/gitk
@@ -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
base-commit: 225bc32a989d7a22fa6addafd4ce7dcd04675dbf
--
gitgitgadget
next reply other threads:[~2021-08-24 12:18 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-08-24 12:18 Tal Kelrich via GitGitGadget [this message]
2021-08-24 13:49 ` [PATCH] gitk: new option to hide prefetch refs Derrick Stolee
2021-08-24 18:46 ` Junio C Hamano
2021-08-24 21:47 ` Derrick Stolee
2024-03-05 19:45 ` [PATCH v3] " Tal Kelrich
2025-03-16 3:45 ` Johannes Schindelin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=pull.1023.git.1629807526939.gitgitgadget@gmail.com \
--to=gitgitgadget@gmail.com \
--cc=git@vger.kernel.org \
--cc=hasturkun@gmail.com \
--cc=paulus@ozlabs.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.