From: Raphaël Gallais-Pou Date: Tue, 19 Mar 2024 19:45:49 GMT Subject: Re: [PATCH] gitk: add "Hightlight commit name" menu entry Message-ID: In-Reply-To: <20240130085308.5440-1-rgallaispou@gmail.com> Hi, Gentle ping since I haven't received any reviews or comment on this patch. :) Do you guys actually take patches for the gitk tool ? I feel like there is not much features added on this. Regards, Raphaël Le 30/01/2024 à 09:53, Raphael Gallais-Pou a écrit : > When working with diverged branches, some patches can appear several times > on different branches without having the need to merge those branches. > On the other hand you may have to port a specific patch on another > branch you are working on. The search with a SHA1 cannot be applied here > since they would differ. > > This patch adds an entry in the main context menu to highlight every > instance of a commit. > > Signed-off-by: Raphael Gallais-Pou > --- > gitk-git/gitk | 23 ++++++++++++++++++++--- > 1 file changed, 20 insertions(+), 3 deletions(-) > > diff --git a/gitk-git/gitk b/gitk-git/gitk > index 7a087f123d..4b15230a16 100755 > --- a/gitk-git/gitk > +++ b/gitk-git/gitk > @@ -2672,6 +2672,7 @@ proc makewindow {} { > {mc "Make patch" command mkpatch} > {mc "Create tag" command mktag} > {mc "Copy commit reference" command copyreference} > + {mc "Highlight commit name" command highlightcommitname} > {mc "Write commit to file" command writecommit} > {mc "Create new branch" command mkbranch} > {mc "Cherry-pick this commit" command cherrypick} > @@ -9002,13 +9003,13 @@ proc rowmenu {x y id} { > if {$id ne $nullid && $id ne $nullid2} { > set menu $rowctxmenu > if {$mainhead ne {}} { > - $menu entryconfigure 8 -label [mc "Reset %s branch to here" $mainhead] -state normal > + $menu entryconfigure 9 -label [mc "Reset %s branch to here" $mainhead] -state normal > } else { > - $menu entryconfigure 8 -label [mc "Detached head: can't reset" $mainhead] -state disabled > + $menu entryconfigure 9 -label [mc "Detached head: can't reset" $mainhead] -state disabled > } > - $menu entryconfigure 10 -state $mstate > $menu entryconfigure 11 -state $mstate > $menu entryconfigure 12 -state $mstate > + $menu entryconfigure 13 -state $mstate > } else { > set menu $fakerowmenu > } > @@ -9481,6 +9482,22 @@ proc copyreference {} { > clipboard append $reference > } > > +proc highlightcommitname {} { > + global rowmenuid autosellen findstring gdttype > + > + set format "%s" > + set cmd [list git show -s --pretty=format:$format --date=short] > + if {$autosellen < 40} { > + lappend cmd --abbrev=$autosellen > + } > + set reference [eval exec $cmd $rowmenuid] > + set findstring $reference > + set gdttype [mc "containing:"] > + > + clipboard clear > + clipboard append $reference > +} > + > proc writecommit {} { > global rowmenuid wrcomtop commitinfo wrcomcmd NS >