From: Johannes Sixt Date: Thu, 16 Jul 2015 20:48:49 GMT Subject: Re: [PATCH v2] gitk: Add a "Copy commit summary" command Message-ID: <55A818B1.4000205@kdbg.org> In-Reply-To: <1437060565-4716-1-git-send-email-dev+git@drbeat.li> Am 16.07.2015 um 17:29 schrieb Beat Bolli: > When referring to earlier commits in commit messages or other text, one > of the established formats is > > ("", ) > > Add a "Copy commit summary" command to the context menu that puts this > text for the currently selected commit on the clipboard. This makes it > easy for our users to create well-formatted commit references. > > Signed-off-by: Beat Bolli > Cc: Paul Mackerras > --- > gitk-git/gitk | 14 ++++++++++++++ > 1 file changed, 14 insertions(+) > > diff --git a/gitk-git/gitk b/gitk-git/gitk > index 9a2daf3..72a2756 100755 > --- a/gitk-git/gitk > +++ b/gitk-git/gitk > @@ -2617,6 +2617,7 @@ proc makewindow {} { > {mc "Diff selected -> this" command {diffvssel 1}} > {mc "Make patch" command mkpatch} > {mc "Create tag" command mktag} > + {mc "Copy commit summary" command copysummary} > {mc "Write commit to file" command writecommit} > {mc "Create new branch" command mkbranch} > {mc "Cherry-pick this commit" command cherrypick} > @@ -9341,6 +9342,19 @@ proc mktaggo {} { > mktagcan > } > > +proc copysummary {} { > + global rowmenuid commitinfo > + > + set id [string range $rowmenuid 0 7] You abbreviate the commit name to 7 characters. This is too short for certain repositories to remain unique. In my group, it is customary to abbreviate to 8 charaters. This reduces the usefulness for my use. If you don't want to make this a configuration I would suggest to aim for a longer commit name as it is simpler to delete excess letters after pasting than to add back the missing ones. Except for this, I like the idea. > + set info $commitinfo($rowmenuid) > + set commit [lindex $info 0] > + set date [formatdate [lindex $info 2]] > + set summary "$id (\"$commit\", $date)" > + > + clipboard clear > + clipboard append $summary > +} > + > proc writecommit {} { > global rowmenuid wrcomtop commitinfo wrcomcmd NS > > -- Hannes