All of lore.kernel.org
 help / color / mirror / Atom feed
From: Max Kirillov <max@max630.net>
To: Paul Mackerras <paulus@samba.org>
Cc: git@vger.kernel.org
Subject: [PATCH] gitk: add visiblerefs option, which lists always shown branches
Date: Tue, 24 Jun 2014 08:19:44 +0300	[thread overview]
Message-ID: <20140624051944.GA14064@wheezy.local> (raw)

When many branches contain the commit, they used to be shown in
the form "A, B and many more", where A, B can be master of current
HEAD. But there are more which might be interesting to always know about.
For example, "origin/master".

The new option, visiblerefs, is stored in ~/.gitk. It contains a list
of references which are always shown before "and many more" if they
contain the commit. By default it is `{"master"}', which is compatible
with previous behavior.

Signed-off-by: Max Kirillov <max@max630.net>
---
 gitk | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/gitk b/gitk
index 41e5071..7ce6014 100755
--- a/gitk
+++ b/gitk
@@ -2787,7 +2787,7 @@ proc savestuff {w} {
     global mainheadcirclecolor workingfilescirclecolor indexcirclecolor
     global linkfgcolor circleoutlinecolor
     global autoselect autosellen extdifftool perfile_attrs markbgcolor use_ttk
-    global hideremotes want_ttk maxrefs
+    global hideremotes want_ttk maxrefs visiblerefs
     global config_file config_file_tmp
 
     if {$stuffsaved} return
@@ -2813,6 +2813,7 @@ proc savestuff {w} {
 	puts $f [list set autosellen $autosellen]
 	puts $f [list set showneartags $showneartags]
 	puts $f [list set maxrefs $maxrefs]
+	puts $f [list set visiblerefs $visiblerefs]
 	puts $f [list set hideremotes $hideremotes]
 	puts $f [list set showlocalchanges $showlocalchanges]
 	puts $f [list set datetimeformat $datetimeformat]
@@ -7033,7 +7034,7 @@ proc viewnextline {dir} {
 # add a list of tag or branch names at position pos
 # returns the number of names inserted
 proc appendrefs {pos ids var} {
-    global ctext linknum curview $var maxrefs mainheadid
+    global ctext linknum curview $var maxrefs visiblerefs mainheadid
 
     if {[catch {$ctext index $pos}]} {
 	return 0
@@ -7054,14 +7055,14 @@ proc appendrefs {pos ids var} {
     if {[llength $tags] > $maxrefs} {
 	# If we are displaying heads, and there are too many,
 	# see if there are some important heads to display.
-	# Currently this means "master" and the current head.
+	# Currently that are the current head and heads listed in $visiblerefs option
 	set itags {}
 	if {$var eq "idheads"} {
 	    set utags {}
 	    foreach ti $tags {
 		set hname [lindex $ti 0]
 		set id [lindex $ti 1]
-		if {($hname eq "master" || $id eq $mainheadid) &&
+		if {([lsearch -exact $visiblerefs $hname] != -1 || $id eq $mainheadid) &&
 		    [llength $itags] < $maxrefs} {
 		    lappend itags $ti
 		} else {
@@ -12043,6 +12044,7 @@ set wrapcomment "none"
 set showneartags 1
 set hideremotes 0
 set maxrefs 20
+set visiblerefs {"master"}
 set maxlinelen 200
 set showlocalchanges 1
 set limitdiffs 1
-- 
2.0.0.526.g5318336

                 reply	other threads:[~2014-06-24  5:27 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=20140624051944.GA14064@wheezy.local \
    --to=max@max630.net \
    --cc=git@vger.kernel.org \
    --cc=paulus@samba.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.