git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
* [PATCH v4] gitk: Add a "Copy commit summary" command
@ 2015-07-18 11:15 Beat Bolli
  2015-07-21 10:19 ` Beat Bolli
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Beat Bolli @ 2015-07-18 11:15 UTC (permalink / raw)
  To: git; +Cc: Beat Bolli, Paul Mackerras

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

    <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.

The <abbrev-sha> is produced with the %h format specifier to make it
unique. Its length can be controlled with the gitk preference
"Auto-select SHA1 (length)", or, if this preference is set to its
default value (40), with the Git config setting core.abbrev.

Signed-off-by: Beat Bolli <dev+git@drbeat.li>
Cc: Paul Mackerras <paulus@samba.org>
---
Changes since v3:
- consider $autosellen for the --abbrev value

Changes since v2:
- call git show to produce a unique <abbrev-sha>
- use the short date format

Changes since v1:
- drop the "commit " literal in front of the <abbrev-sha>

Signed-off-by: Beat Bolli <dev+git@drbeat.li>
---
 gitk-git/gitk | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/gitk-git/gitk b/gitk-git/gitk
index 9a2daf3..d05169a 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,20 @@ proc mktaggo {} {
     mktagcan
 }
 
+proc copysummary {} {
+    global rowmenuid autosellen
+
+    set format "%h (\"%s\", %ad)"
+    set cmd [list git show -s --pretty=format:$format --date=short]
+    if {$autosellen < 40} {
+        lappend cmd --abbrev=$autosellen
+    }
+    set summary [eval exec $cmd $rowmenuid]
+
+    clipboard clear
+    clipboard append $summary
+}
+
 proc writecommit {} {
     global rowmenuid wrcomtop commitinfo wrcomcmd NS
 
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH v4] gitk: Add a "Copy commit summary" command
  2015-07-18 11:15 [PATCH v4] gitk: Add a "Copy commit summary" command Beat Bolli
@ 2015-07-21 10:19 ` Beat Bolli
  2015-07-21 10:28   ` Paul Mackerras
  2015-08-11 21:00 ` [PATCH] gitk: adjust the menu line numbers to compensate for the new entry Beat Bolli
  2015-08-13  7:37 ` [PATCH v4] gitk: Add a "Copy commit summary" command Paul Mackerras
  2 siblings, 1 reply; 7+ messages in thread
From: Beat Bolli @ 2015-07-21 10:19 UTC (permalink / raw)
  To: git, Paul Mackerras

Guys,

can I get a Yea or Nay for this patch?

Does it go in via Paul's gitk repo or directly through Junio?


Thanks,
Beat

On 18.07.15 13:15, Beat Bolli wrote:
> When referring to earlier commits in commit messages or other text, one
> of the established formats is
> 
>     <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.
> 
> The <abbrev-sha> is produced with the %h format specifier to make it
> unique. Its length can be controlled with the gitk preference
> "Auto-select SHA1 (length)", or, if this preference is set to its
> default value (40), with the Git config setting core.abbrev.
> 
> Signed-off-by: Beat Bolli <dev+git@drbeat.li>
> Cc: Paul Mackerras <paulus@samba.org>
> ---
> Changes since v3:
> - consider $autosellen for the --abbrev value
> 
> Changes since v2:
> - call git show to produce a unique <abbrev-sha>
> - use the short date format
> 
> Changes since v1:
> - drop the "commit " literal in front of the <abbrev-sha>
> 
> Signed-off-by: Beat Bolli <dev+git@drbeat.li>
> ---
>  gitk-git/gitk | 15 +++++++++++++++
>  1 file changed, 15 insertions(+)
> 
> diff --git a/gitk-git/gitk b/gitk-git/gitk
> index 9a2daf3..d05169a 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,20 @@ proc mktaggo {} {
>      mktagcan
>  }
>  
> +proc copysummary {} {
> +    global rowmenuid autosellen
> +
> +    set format "%h (\"%s\", %ad)"
> +    set cmd [list git show -s --pretty=format:$format --date=short]
> +    if {$autosellen < 40} {
> +        lappend cmd --abbrev=$autosellen
> +    }
> +    set summary [eval exec $cmd $rowmenuid]
> +
> +    clipboard clear
> +    clipboard append $summary
> +}
> +
>  proc writecommit {} {
>      global rowmenuid wrcomtop commitinfo wrcomcmd NS
>  
> 

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH v4] gitk: Add a "Copy commit summary" command
  2015-07-21 10:19 ` Beat Bolli
@ 2015-07-21 10:28   ` Paul Mackerras
  2015-07-21 10:30     ` Beat Bolli
  0 siblings, 1 reply; 7+ messages in thread
From: Paul Mackerras @ 2015-07-21 10:28 UTC (permalink / raw)
  To: Beat Bolli; +Cc: git

On Tue, Jul 21, 2015 at 12:19:23PM +0200, Beat Bolli wrote:
> Guys,
> 
> can I get a Yea or Nay for this patch?
> 
> Does it go in via Paul's gitk repo or directly through Junio?

I'll put it in.  It goes into my repo and from there into Junio's.
I'm on vacation and travelling this week, so please be patient.

Regards,
Paul.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH v4] gitk: Add a "Copy commit summary" command
  2015-07-21 10:28   ` Paul Mackerras
@ 2015-07-21 10:30     ` Beat Bolli
  0 siblings, 0 replies; 7+ messages in thread
From: Beat Bolli @ 2015-07-21 10:30 UTC (permalink / raw)
  To: Paul Mackerras; +Cc: git

On 21.07.15 12:28, Paul Mackerras wrote:
> On Tue, Jul 21, 2015 at 12:19:23PM +0200, Beat Bolli wrote:
>> Guys,
>>
>> can I get a Yea or Nay for this patch?
>>
>> Does it go in via Paul's gitk repo or directly through Junio?
> 
> I'll put it in.  It goes into my repo and from there into Junio's.
> I'm on vacation and travelling this week, so please be patient.

No problem, enjoy your vacation!

Beat

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH] gitk: adjust the menu line numbers to compensate for the new entry
  2015-07-18 11:15 [PATCH v4] gitk: Add a "Copy commit summary" command Beat Bolli
  2015-07-21 10:19 ` Beat Bolli
@ 2015-08-11 21:00 ` Beat Bolli
  2015-08-13  7:37 ` [PATCH v4] gitk: Add a "Copy commit summary" command Paul Mackerras
  2 siblings, 0 replies; 7+ messages in thread
From: Beat Bolli @ 2015-08-11 21:00 UTC (permalink / raw)
  To: git; +Cc: Beat Bolli, Paul Mackerras

The previous commit[1] added a new context menu entry. Therefore, the
line numbers of the folloeing entries need to be incremented when their
text or state is changed.

[1] <1437218139-7031-1-git-send-email-dev+git@drbeat.li>,
    http://article.gmane.org/gmane.comp.version-control.git/274161

Signed-off-by: Beat Bolli <dev+git@drbeat.li>
Cc: Paul Mackerras <paulus@samba.org>
---
Paul, feel free to squash this commit into my previous one.

Signed-off-by: Beat Bolli <dev+git@drbeat.li>
---
 gitk-git/gitk | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/gitk-git/gitk b/gitk-git/gitk
index d05169a..bc0e586 100755
--- a/gitk-git/gitk
+++ b/gitk-git/gitk
@@ -8877,13 +8877,13 @@ proc rowmenu {x y id} {
     if {$id ne $nullid && $id ne $nullid2} {
 	set menu $rowctxmenu
 	if {$mainhead ne {}} {
-	    $menu entryconfigure 7 -label [mc "Reset %s branch to here" $mainhead] -state normal
+	    $menu entryconfigure 8 -label [mc "Reset %s branch to here" $mainhead] -state normal
 	} else {
-	    $menu entryconfigure 7 -label [mc "Detached head: can't reset" $mainhead] -state disabled
+	    $menu entryconfigure 8 -label [mc "Detached head: can't reset" $mainhead] -state disabled
 	}
-	$menu entryconfigure 9 -state $mstate
 	$menu entryconfigure 10 -state $mstate
 	$menu entryconfigure 11 -state $mstate
+	$menu entryconfigure 12 -state $mstate
     } else {
 	set menu $fakerowmenu
     }
-- 
2.5.0.492.g918e48c

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH v4] gitk: Add a "Copy commit summary" command
  2015-07-18 11:15 [PATCH v4] gitk: Add a "Copy commit summary" command Beat Bolli
  2015-07-21 10:19 ` Beat Bolli
  2015-08-11 21:00 ` [PATCH] gitk: adjust the menu line numbers to compensate for the new entry Beat Bolli
@ 2015-08-13  7:37 ` Paul Mackerras
  2015-08-13 19:02   ` Beat Bolli
  2 siblings, 1 reply; 7+ messages in thread
From: Paul Mackerras @ 2015-08-13  7:37 UTC (permalink / raw)
  To: Beat Bolli; +Cc: git

On Sat, Jul 18, 2015 at 01:15:39PM +0200, Beat Bolli wrote:
> When referring to earlier commits in commit messages or other text, one
> of the established formats is
> 
>     <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.
> 
> The <abbrev-sha> is produced with the %h format specifier to make it
> unique. Its length can be controlled with the gitk preference
> "Auto-select SHA1 (length)", or, if this preference is set to its
> default value (40), with the Git config setting core.abbrev.
> 
> Signed-off-by: Beat Bolli <dev+git@drbeat.li>

Thanks, applied.

Paul.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH v4] gitk: Add a "Copy commit summary" command
  2015-08-13  7:37 ` [PATCH v4] gitk: Add a "Copy commit summary" command Paul Mackerras
@ 2015-08-13 19:02   ` Beat Bolli
  0 siblings, 0 replies; 7+ messages in thread
From: Beat Bolli @ 2015-08-13 19:02 UTC (permalink / raw)
  To: Paul Mackerras; +Cc: git

On 13.08.15 09:37, Paul Mackerras wrote:
> On Sat, Jul 18, 2015 at 01:15:39PM +0200, Beat Bolli wrote:
>> When referring to earlier commits in commit messages or other text, one
>> of the established formats is
>>
>>     <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.
>>
>> The <abbrev-sha> is produced with the %h format specifier to make it
>> unique. Its length can be controlled with the gitk preference
>> "Auto-select SHA1 (length)", or, if this preference is set to its
>> default value (40), with the Git config setting core.abbrev.
>>
>> Signed-off-by: Beat Bolli <dev+git@drbeat.li>
> 
> Thanks, applied.
> 
Please also apply the follow-up patch in this thread [1]. It fixes menu
entry numbers that were changed by this patch.

Thanks,
Beat


[1] http://article.gmane.org/gmane.comp.version-control.git/275729

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2015-08-13 19:03 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-07-18 11:15 [PATCH v4] gitk: Add a "Copy commit summary" command Beat Bolli
2015-07-21 10:19 ` Beat Bolli
2015-07-21 10:28   ` Paul Mackerras
2015-07-21 10:30     ` Beat Bolli
2015-08-11 21:00 ` [PATCH] gitk: adjust the menu line numbers to compensate for the new entry Beat Bolli
2015-08-13  7:37 ` [PATCH v4] gitk: Add a "Copy commit summary" command Paul Mackerras
2015-08-13 19:02   ` Beat Bolli

Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).