From: Eric Sunshine Date: Fri, 17 Jul 2015 17:17:33 GMT Subject: Re: [PATCH v3] gitk: Add a "Copy commit summary" command Message-ID: In-Reply-To: <205a18f7f8a7892a1fa63a91a84bfd9b@drbeat.li> On Fri, Jul 17, 2015 at 4:39 AM, Beat Bolli wrote: > 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. > > The is produced with the %h format specifier to make it > unique. Its minimum length can be controlled with the config setting > core.abbrev. > > Signed-off-by: Beat Bolli > Reviewed-by: Eric Sunshine > Reviewed-by: Johannes Sixt You should drop these Reviewed-by: footers, as they imply that the code was thoroughly digested and the implementation deemed correct. Hannes at least gave advice about abbreviation length and may deserve mention via a Helped-by: footer (if you take his advice and feel his contribution worthy); however, in my case, I merely made a very minor observation about the output format, not even worth a Helped-by: (and certainly not a Reviewed-by:). > Cc: Paul Mackerras > > --- > Changes since v2: > - call git log to produce a unique > - use the short date format > > Changes since v1: > - drop the "commit " literal in front of the > --- > gitk-git/gitk | 12 ++++++++++++ > 1 file changed, 12 insertions(+) > > diff --git a/gitk-git/gitk b/gitk-git/gitk > index 9a2daf3..4915f53 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,17 @@ proc mktaggo {} { > mktagcan > } > > +proc copysummary {} { > + global rowmenuid > + > + set format "%h (\"%s\", %ad)" > + set summary [exec git show -s --pretty=format:$format --date=short \ > + $rowmenuid] > + > + clipboard clear > + clipboard append $summary > +} > + > proc writecommit {} { > global rowmenuid wrcomtop commitinfo wrcomcmd NS > > -- > 2.4.0