# [PATCH] gitk: Add a "Copy commit summary" command

5 messages from 2015-07-14 to 2015-07-16. Participants: dev+git@drbeat.li, Stefan Beller, Keller, Jacob E, Eric Sunshine, Jacob Keller.
Thread: https://gitlist.dev/t/39851

## dev+git@drbeat.li, 2015-07-14 16:42

Subject: [PATCH] gitk: Add a "Copy commit summary" command
Message-ID: <1436892150-24267-1-git-send-email-dev+git@drbeat.li>
URL: https://gitlist.dev/e/1436892150-24267-1-git-send-email-dev%2Bgit%40drbeat.li

```
From: Beat Bolli <dev+git@drbeat.li>

When referencing earlier commits in new commit messages or other text,
one of the established formats is

    commit <abbrev-sha> ("<summary>", <author-date>)

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 <dev+git@drbeat.li>
Cc: Paul Mackerras <paulus@samba.org>
---
 gitk-git/gitk | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/gitk-git/gitk b/gitk-git/gitk
index 9a2daf3..0612331 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]
+    set info $commitinfo($rowmenuid)
+    set commit [lindex $info 0]
+    set date [formatdate [lindex $info 2]]
+    set summary "[mc "commit"] $id (\"$commit\", $date)"
+
+    clipboard clear
+    clipboard append $summary
+}
+
 proc writecommit {} {
     global rowmenuid wrcomtop commitinfo wrcomcmd NS
 
-- 
2.1.4

```

## Stefan Beller, 2015-07-14 20:34

Subject: Re: [PATCH] gitk: Add a "Copy commit summary" command
Message-ID: <CAGZ79kaB-vrarcCztD_7x5M1_dHWwMy=6vQ5EHHsWTJTWEyhOA@mail.gmail.com>
URL: https://gitlist.dev/e/CAGZ79kaB-vrarcCztD_7x5M1_dHWwMy%3D6vQ5EHHsWTJTWEyhOA%40mail.gmail.com
In-Reply-To: <1436892150-24267-1-git-send-email-dev+git@drbeat.li>

```
On Tue, Jul 14, 2015 at 9:42 AM,  <dev+git@drbeat.li> wrote:
> From: Beat Bolli <dev+git@drbeat.li>
>
> When referencing earlier commits in new commit messages or other text,
> one of the established formats is
>
>     commit <abbrev-sha> ("<summary>", <author-date>)

That sounds like I would use it a lot! Thanks :)

>
> 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 <dev+git@drbeat.li>
> Cc: Paul Mackerras <paulus@samba.org>
> ---
>  gitk-git/gitk | 14 ++++++++++++++
>  1 file changed, 14 insertions(+)
>
> diff --git a/gitk-git/gitk b/gitk-git/gitk
> index 9a2daf3..0612331 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]
> +    set info $commitinfo($rowmenuid)
> +    set commit [lindex $info 0]
> +    set date [formatdate [lindex $info 2]]
> +    set summary "[mc "commit"] $id (\"$commit\", $date)"
> +
> +    clipboard clear
> +    clipboard append $summary
> +}
> +
>  proc writecommit {} {
>      global rowmenuid wrcomtop commitinfo wrcomcmd NS
>
> --
> 2.1.4
> --
> To unsubscribe from this list: send the line "unsubscribe git" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

```

## Keller, Jacob E, 2015-07-15 22:24

Subject: Re: [PATCH] gitk: Add a "Copy commit summary" command
Message-ID: <1436999097.12921.2.camel@intel.com>
URL: https://gitlist.dev/e/1436999097.12921.2.camel%40intel.com
In-Reply-To: <CAGZ79kaB-vrarcCztD_7x5M1_dHWwMy=6vQ5EHHsWTJTWEyhOA@mail.gmail.com>

```
On Tue, 2015-07-14 at 13:34 -0700, Stefan Beller wrote:
> On Tue, Jul 14, 2015 at 9:42 AM,  <dev+git@drbeat.li> wrote:
> > From: Beat Bolli <dev+git@drbeat.li>
> > 
> > When referencing earlier commits in new commit messages or other 
> > text,
> > one of the established formats is
> > 
> >     commit <abbrev-sha> ("<summary>", <author-date>)
> 
> That sounds like I would use it a lot! Thanks :)
> 

Yep, quite useful. Also, the kernel suggests using it as a tag like so

Fixes: <abbrev-sha> ("summary")

I really like this :)

Regards,
Jake

> > 
> > 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 <dev+git@drbeat.li>
> > Cc: Paul Mackerras <paulus@samba.org>
> > ---
> >  gitk-git/gitk | 14 ++++++++++++++
> >  1 file changed, 14 insertions(+)
> > 
> > diff --git a/gitk-git/gitk b/gitk-git/gitk
> > index 9a2daf3..0612331 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]
> > +    set info $commitinfo($rowmenuid)
> > +    set commit [lindex $info 0]
> > +    set date [formatdate [lindex $info 2]]
> > +    set summary "[mc "commit"] $id (\"$commit\", $date)"
> > +
> > +    clipboard clear
> > +    clipboard append $summary
> > +}
> > +
> >  proc writecommit {} {
> >      global rowmenuid wrcomtop commitinfo wrcomcmd NS
> > 
> > --
> > 2.1.4
> > --
> > To unsubscribe from this list: send the line "unsubscribe git" in
> > the body of a message to majordomo@vger.kernel.org
> > More majordomo info at  http://vger.kernel.org/majordomo-info.html
> --
> To unsubscribe from this list: send the line "unsubscribe git" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
```

## Eric Sunshine, 2015-07-15 23:58

Subject: Re: [PATCH] gitk: Add a "Copy commit summary" command
Message-ID: <CAPig+cTf3WDHf++Ck-SXgY4LRm7WRLLk2BvewUQZktfdpHL4BA@mail.gmail.com>
URL: https://gitlist.dev/e/CAPig%2BcTf3WDHf%2B%2BCk-SXgY4LRm7WRLLk2BvewUQZktfdpHL4BA%40mail.gmail.com
In-Reply-To: <1436999097.12921.2.camel@intel.com>

```
On Wed, Jul 15, 2015 at 6:24 PM, Keller, Jacob E
<jacob.e.keller@intel.com> wrote:
> On Tue, 2015-07-14 at 13:34 -0700, Stefan Beller wrote:
>> On Tue, Jul 14, 2015 at 9:42 AM,  <dev+git@drbeat.li> wrote:
>> > From: Beat Bolli <dev+git@drbeat.li>
>> >
>> > When referencing earlier commits in new commit messages or other
>> > text,
>> > one of the established formats is
>> >
>> >     commit <abbrev-sha> ("<summary>", <author-date>)
>>
>> That sounds like I would use it a lot! Thanks :)
>>
>
> Yep, quite useful. Also, the kernel suggests using it as a tag like so
>
> Fixes: <abbrev-sha> ("summary")

Dropping the literal word "commit" would make this use-case more
convenient, as well as the typical use-case when composing commit
messages: "Since <abrrev-sha1> ("blah", <date>), foobar.c has
flabble-nabbered the wonka-doodle..."

```

## Jacob Keller, 2015-07-16 00:59

Subject: Re: [PATCH] gitk: Add a "Copy commit summary" command
Message-ID: <CA+P7+xrKc_t6_ntc0jFoHJgYrira74+swqy5kFuuFn_gC9Ft2Q@mail.gmail.com>
URL: https://gitlist.dev/e/CA%2BP7%2BxrKc_t6_ntc0jFoHJgYrira74%2Bswqy5kFuuFn_gC9Ft2Q%40mail.gmail.com
In-Reply-To: <CAPig+cTf3WDHf++Ck-SXgY4LRm7WRLLk2BvewUQZktfdpHL4BA@mail.gmail.com>

```
Agreed. I haven't seen "commit" used much in the past, and you can
easily type that out as it is.

On Wed, Jul 15, 2015 at 4:58 PM, Eric Sunshine <sunshine@sunshineco.com> wrote:
> On Wed, Jul 15, 2015 at 6:24 PM, Keller, Jacob E
> <jacob.e.keller@intel.com> wrote:
>> On Tue, 2015-07-14 at 13:34 -0700, Stefan Beller wrote:
>>> On Tue, Jul 14, 2015 at 9:42 AM,  <dev+git@drbeat.li> wrote:
>>> > From: Beat Bolli <dev+git@drbeat.li>
>>> >
>>> > When referencing earlier commits in new commit messages or other
>>> > text,
>>> > one of the established formats is
>>> >
>>> >     commit <abbrev-sha> ("<summary>", <author-date>)
>>>
>>> That sounds like I would use it a lot! Thanks :)
>>>
>>
>> Yep, quite useful. Also, the kernel suggests using it as a tag like so
>>
>> Fixes: <abbrev-sha> ("summary")
>
> Dropping the literal word "commit" would make this use-case more
> convenient, as well as the typical use-case when composing commit
> messages: "Since <abrrev-sha1> ("blah", <date>), foobar.c has
> flabble-nabbered the wonka-doodle..."
> --
> To unsubscribe from this list: send the line "unsubscribe git" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

```
