Slightly older version of master from https://github.com/j6t/gitk

gitk: Add user preference to hide custom references #1

open opened by ilyagr.bsky.social targeting test from pr/16

External tools such as Jujutsu may add many references that are of no interest to the user. This preference hides them.

The non-custom refs are those that pass git's default decoration filter (see set_default_decoration_filter).

The preference is off by default, maintaining current behavior.

Signed-off-by: Ori Avtalion ori@avtalion.name

Labels

None yet.

Participants 1
AT URI
at://did:plc:jp6rly3c67o3zlwarw2ttafu/sh.tangled.repo.pull/3lvhz3l64ku22
+41 -40
Interdiff #2 #3
+41 -40
gitk
··· 1939 1939 set tagids($name) $id 1940 1940 lappend idtags($id) $name 1941 1941 } else { 1942 - set otherrefids($name) $id 1943 - lappend idotherrefs($id) $name 1942 + if [is_other_ref_visible $name] { 1943 + set otherrefids($name) $id 1944 + lappend idotherrefs($id) $name 1945 + } 1944 1946 } 1945 1947 } 1946 1948 catch {close $refd} ··· 2033 2035 set tagids($name) $id 2034 2036 lappend idtags($id) $name 2035 2037 } else { 2036 - if [is_other_ref_visible $name] { 2037 - set otherrefids($name) $id 2038 - lappend idotherrefs($id) $name 2039 - } 2038 + set otherrefids($name) $id 2039 + lappend idotherrefs($id) $name 2040 2040 } 2041 2041 } 2042 2042 catch {close $refd} ··· 11651 11651 -variable hideremotes 11652 11652 grid x $page.hideremotes -sticky w 11653 11653 11654 - ttk::entry $page.refstohide -textvariable refstohide 11655 - ttk::frame $page.refstohidef 11656 - ttk::label $page.refstohidef.l -text [mc "Refs to hide (space-separated)" ] 11657 - pack $page.refstohidef.l -side left 11658 - pack configure $page.refstohidef.l -padx 10 11659 - grid x $page.refstohidef $page.refstohide -sticky ew 11660 - 11661 11654 ttk::checkbutton $page.autocopy -text [mc "Copy commit ID to clipboard"] \ 11662 11655 -variable autocopy 11663 11656 grid x $page.autocopy -sticky w ··· 11705 11698 global NS maxwidth maxgraphpct showneartags showlocalchanges 11706 11699 global tabstop wrapcomment wrapdefault limitdiffs 11707 11700 global autocopy autoselect autosellen extdifftool perfile_attrs 11708 - global hideremotes want_ttk have_ttk maxrefs web_browser 11701 + global hideremotes refstohide want_ttk have_ttk maxrefs web_browser 11709 11702 11710 11703 set page [create_prefs_page $notebook.general] 11711 11704 ··· 11726 11719 -variable hideremotes 11727 11720 grid x $page.hideremotes -sticky w 11728 11721 11722 + ${NS}::entry $page.refstohide -textvariable refstohide 11723 + ${NS}::frame $page.refstohidef 11724 + ${NS}::label $page.refstohidef.l -text [mc "Refs to hide (space-separated)" ] 11725 + pack $page.refstohidef.l -side left 11726 + pack configure $page.refstohidef.l -padx 10 11727 + grid x $page.refstohidef $page.refstohide -sticky ew 11728 + 11729 11729 ${NS}::checkbutton $page.autocopy -text [mc "Copy commit ID to clipboard"] \ 11730 11730 -variable autocopy 11731 11731 grid x $page.autocopy -sticky w ··· 11872 11872 global oldprefs prefstop showneartags showlocalchanges 11873 11873 global uicolor bgcolor fgcolor ctext diffcolors selectbgcolor markbgcolor 11874 11874 global tabstop limitdiffs autoselect autosellen extdifftool perfile_attrs 11875 - global hideremotes want_ttk have_ttk wrapcomment wrapdefault 11875 + global hideremotes refstohide want_ttk have_ttk wrapcomment wrapdefault 11876 11876 11877 11877 set top .gitkprefs 11878 11878 set prefstop $top ··· 11881 11881 return 11882 11882 } 11883 11883 foreach v {maxwidth maxgraphpct showneartags showlocalchanges \ 11884 - limitdiffs tabstop perfile_attrs hideremotes want_ttk wrapcomment wrapdefault} { 11884 + limitdiffs tabstop perfile_attrs hideremotes refstohide \ 11885 + want_ttk wrapcomment wrapdefault} { 11885 11886 set oldprefs($v) [set $v] 11886 11887 } 11887 11888 ttk_toplevel $top ··· 11992 11993 $limitdiffs != $oldprefs(limitdiffs)} { 11993 11994 reselectline 11994 11995 } 11995 - if {$hideremotes != $oldprefs(hideremotes) || $refstohide != $oldprefs(refstohide)} { 11996 + if {$hideremotes != $oldprefs(hideremotes)} { 11996 11997 rereadrefs 11997 11998 } 11998 11999 if {$wrapcomment != $oldprefs(wrapcomment)} { ··· 12007 12008 global oldprefs prefstop 12008 12009 12009 12010 foreach v {maxwidth maxgraphpct showneartags showlocalchanges \ 12010 - limitdiffs tabstop perfile_attrs hideremotes want_ttk wrapcomment wrapdefault} { 12011 + limitdiffs tabstop perfile_attrs hideremotes refstohide \ 12012 + want_ttk wrapcomment wrapdefault} { 12011 12013 global $v 12012 12014 set $v $oldprefs($v) 12013 12015 } ··· 12021 12023 global oldprefs prefstop showneartags showlocalchanges 12022 12024 global fontpref mainfont textfont uifont 12023 12025 global limitdiffs treediffs perfile_attrs 12024 - global hideremotes wrapcomment wrapdefault 12026 + global hideremotes refstohide wrapcomment wrapdefault 12025 12027 global ctext 12026 12028 12027 12029 catch {destroy $prefstop} ··· 12068 12070 $limitdiffs != $oldprefs(limitdiffs)} { 12069 12071 reselectline 12070 12072 } 12071 - if {$hideremotes != $oldprefs(hideremotes)} { 12073 + if {$hideremotes != $oldprefs(hideremotes) || $refstohide != $oldprefs(refstohide)} { 12072 12074 rereadrefs 12073 12075 } 12074 12076 if {$wrapcomment != $oldprefs(wrapcomment)} { ··· 12369 12371 return $tcl_enc 12370 12372 } 12371 12373 12372 - proc is_other_ref_visible {ref} { 12373 - global refstohide 12374 - 12375 - if {$refstohide eq {}} { 12376 - return 1 12377 - } 12378 - 12379 - foreach pat [split $refstohide " "] { 12380 - if {$pat eq {}} continue 12381 - if {[string match $pat $ref]} { 12382 - return 0 12383 - } 12384 - } 12385 - 12386 - return 1 12387 - } 12388 - 12389 12374 ## For msgcat loading, first locate the installation location. 12390 12375 if { [info exists ::env(GITK_MSGSDIR)] } { 12391 12376 ## Msgsdir was manually set in the environment. ··· 12462 12447 return $tcl_enc 12463 12448 } 12464 12449 12450 + proc is_other_ref_visible {ref} { 12451 + global refstohide 12452 + 12453 + if {$refstohide eq {}} { 12454 + return 1 12455 + } 12456 + 12457 + foreach pat [split $refstohide " "] { 12458 + if {$pat eq {}} continue 12459 + if {[string match $pat $ref]} { 12460 + return 0 12461 + } 12462 + } 12463 + 12464 + return 1 12465 + } 12466 + 12465 12467 ## For msgcat loading, first locate the installation location. 12466 12468 if { [info exists ::env(GITK_MSGSDIR)] } { 12467 12469 ## Msgsdir was manually set in the environment. ··· 12493 12495 set wrapdefault "none" 12494 12496 set showneartags 1 12495 12497 set hideremotes 0 12496 - set refstohide "" 12497 12498 set sortrefsbytype 1 12498 12499 set maxrefs 20 12499 12500 set visiblerefs {"master"} ··· 12566 12567 set wrapdefault "none" 12567 12568 set showneartags 1 12568 12569 set hideremotes 0 12570 + set refstohide "" 12569 12571 set maxrefs 20 12570 12572 set visiblerefs {"master"} 12571 12573 set maxlinelen 200 ··· 12637 12639 mergecolors 12638 12640 perfile_attrs 12639 12641 reflinecolor 12640 - refstohide 12641 12642 remotebgcolor 12642 12643 selectbgcolor 12643 12644 showlocalchanges ··· 12673 12674 mainfont textfont uifont tabstop findmergefiles maxgraphpct maxwidth 12674 12675 cmitmode wrapcomment wrapdefault autocopy autoselect autosellen 12675 12676 showneartags maxrefs visiblerefs 12676 - hideremotes showlocalchanges datetimeformat limitdiffs uicolor want_ttk 12677 + hideremotes refstohide showlocalchanges datetimeformat limitdiffs uicolor want_ttk 12677 12678 bgcolor fgcolor uifgcolor uifgdisabledcolor colors diffcolors mergecolors 12678 12679 markbgcolor diffcontext selectbgcolor foundbgcolor currentsearchhitbgcolor 12679 12680 extdifftool perfile_attrs headbgcolor headfgcolor headoutlinecolor

History

4 rounds 0 comments
sign up or login to add to the discussion
1 commit
expand
gitk: Add user preference to hide specific references
merge conflicts detected
expand
  • gitk:11696
expand 0 comments
1 commit
expand
fix merge conflicts
expand 0 comments
1 commit
expand
gitk: Add user preference to hide specific references
expand 0 comments
1 commit
expand
gitk: Add user preference to hide custom references
expand 0 comments