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
+38 -9
Diff #3
+38 -9
gitk
··· 1939 set tagids($name) $id 1940 lappend idtags($id) $name 1941 } else { 1942 - set otherrefids($name) $id 1943 - lappend idotherrefs($id) $name 1944 } 1945 } 1946 catch {close $refd} ··· 11696 global NS maxwidth maxgraphpct showneartags showlocalchanges 11697 global tabstop wrapcomment wrapdefault limitdiffs 11698 global autocopy autoselect autosellen extdifftool perfile_attrs 11699 - global hideremotes want_ttk have_ttk maxrefs web_browser 11700 11701 set page [create_prefs_page $notebook.general] 11702 ··· 11717 -variable hideremotes 11718 grid x $page.hideremotes -sticky w 11719 11720 ${NS}::checkbutton $page.autocopy -text [mc "Copy commit ID to clipboard"] \ 11721 -variable autocopy 11722 grid x $page.autocopy -sticky w ··· 11863 global oldprefs prefstop showneartags showlocalchanges 11864 global uicolor bgcolor fgcolor ctext diffcolors selectbgcolor markbgcolor 11865 global tabstop limitdiffs autoselect autosellen extdifftool perfile_attrs 11866 - global hideremotes want_ttk have_ttk wrapcomment wrapdefault 11867 11868 set top .gitkprefs 11869 set prefstop $top ··· 11872 return 11873 } 11874 foreach v {maxwidth maxgraphpct showneartags showlocalchanges \ 11875 - limitdiffs tabstop perfile_attrs hideremotes want_ttk wrapcomment wrapdefault} { 11876 set oldprefs($v) [set $v] 11877 } 11878 ttk_toplevel $top ··· 11998 global oldprefs prefstop 11999 12000 foreach v {maxwidth maxgraphpct showneartags showlocalchanges \ 12001 - limitdiffs tabstop perfile_attrs hideremotes want_ttk wrapcomment wrapdefault} { 12002 global $v 12003 set $v $oldprefs($v) 12004 } ··· 12012 global oldprefs prefstop showneartags showlocalchanges 12013 global fontpref mainfont textfont uifont 12014 global limitdiffs treediffs perfile_attrs 12015 - global hideremotes wrapcomment wrapdefault 12016 global ctext 12017 12018 catch {destroy $prefstop} ··· 12059 $limitdiffs != $oldprefs(limitdiffs)} { 12060 reselectline 12061 } 12062 - if {$hideremotes != $oldprefs(hideremotes)} { 12063 rereadrefs 12064 } 12065 if {$wrapcomment != $oldprefs(wrapcomment)} { ··· 12436 return $tcl_enc 12437 } 12438 12439 ## For msgcat loading, first locate the installation location. 12440 if { [info exists ::env(GITK_MSGSDIR)] } { 12441 ## Msgsdir was manually set in the environment. ··· 12539 set wrapdefault "none" 12540 set showneartags 1 12541 set hideremotes 0 12542 set maxrefs 20 12543 set visiblerefs {"master"} 12544 set maxlinelen 200 ··· 12645 mainfont textfont uifont tabstop findmergefiles maxgraphpct maxwidth 12646 cmitmode wrapcomment wrapdefault autocopy autoselect autosellen 12647 showneartags maxrefs visiblerefs 12648 - hideremotes showlocalchanges datetimeformat limitdiffs uicolor want_ttk 12649 bgcolor fgcolor uifgcolor uifgdisabledcolor colors diffcolors mergecolors 12650 markbgcolor diffcontext selectbgcolor foundbgcolor currentsearchhitbgcolor 12651 extdifftool perfile_attrs headbgcolor headfgcolor headoutlinecolor
··· 1939 set tagids($name) $id 1940 lappend idtags($id) $name 1941 } else { 1942 + if [is_other_ref_visible $name] { 1943 + set otherrefids($name) $id 1944 + lappend idotherrefs($id) $name 1945 + } 1946 } 1947 } 1948 catch {close $refd} ··· 11698 global NS maxwidth maxgraphpct showneartags showlocalchanges 11699 global tabstop wrapcomment wrapdefault limitdiffs 11700 global autocopy autoselect autosellen extdifftool perfile_attrs 11701 + global hideremotes refstohide want_ttk have_ttk maxrefs web_browser 11702 11703 set page [create_prefs_page $notebook.general] 11704 ··· 11719 -variable hideremotes 11720 grid x $page.hideremotes -sticky w 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 ${NS}::checkbutton $page.autocopy -text [mc "Copy commit ID to clipboard"] \ 11730 -variable autocopy 11731 grid x $page.autocopy -sticky w ··· 11872 global oldprefs prefstop showneartags showlocalchanges 11873 global uicolor bgcolor fgcolor ctext diffcolors selectbgcolor markbgcolor 11874 global tabstop limitdiffs autoselect autosellen extdifftool perfile_attrs 11875 + global hideremotes refstohide want_ttk have_ttk wrapcomment wrapdefault 11876 11877 set top .gitkprefs 11878 set prefstop $top ··· 11881 return 11882 } 11883 foreach v {maxwidth maxgraphpct showneartags showlocalchanges \ 11884 + limitdiffs tabstop perfile_attrs hideremotes refstohide \ 11885 + want_ttk wrapcomment wrapdefault} { 11886 set oldprefs($v) [set $v] 11887 } 11888 ttk_toplevel $top ··· 12008 global oldprefs prefstop 12009 12010 foreach v {maxwidth maxgraphpct showneartags showlocalchanges \ 12011 + limitdiffs tabstop perfile_attrs hideremotes refstohide \ 12012 + want_ttk wrapcomment wrapdefault} { 12013 global $v 12014 set $v $oldprefs($v) 12015 } ··· 12023 global oldprefs prefstop showneartags showlocalchanges 12024 global fontpref mainfont textfont uifont 12025 global limitdiffs treediffs perfile_attrs 12026 + global hideremotes refstohide wrapcomment wrapdefault 12027 global ctext 12028 12029 catch {destroy $prefstop} ··· 12070 $limitdiffs != $oldprefs(limitdiffs)} { 12071 reselectline 12072 } 12073 + if {$hideremotes != $oldprefs(hideremotes) || $refstohide != $oldprefs(refstohide)} { 12074 rereadrefs 12075 } 12076 if {$wrapcomment != $oldprefs(wrapcomment)} { ··· 12447 return $tcl_enc 12448 } 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 + 12467 ## For msgcat loading, first locate the installation location. 12468 if { [info exists ::env(GITK_MSGSDIR)] } { 12469 ## Msgsdir was manually set in the environment. ··· 12567 set wrapdefault "none" 12568 set showneartags 1 12569 set hideremotes 0 12570 + set refstohide "" 12571 set maxrefs 20 12572 set visiblerefs {"master"} 12573 set maxlinelen 200 ··· 12674 mainfont textfont uifont tabstop findmergefiles maxgraphpct maxwidth 12675 cmitmode wrapcomment wrapdefault autocopy autoselect autosellen 12676 showneartags maxrefs visiblerefs 12677 + hideremotes refstohide showlocalchanges datetimeformat limitdiffs uicolor want_ttk 12678 bgcolor fgcolor uifgcolor uifgdisabledcolor colors diffcolors mergecolors 12679 markbgcolor diffcontext selectbgcolor foundbgcolor currentsearchhitbgcolor 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