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 minimum length can be controlled with the config setting
core.abbrev.
Signed-off-by: Beat Bolli <dev+git@xxxxxxxxx>
Reviewed-by: Eric Sunshine <sunshine@xxxxxxxxxxxxxx>
Reviewed-by: Johannes Sixt <j6t@xxxxxxxx>
Cc: Paul Mackerras <paulus@xxxxxxxxx>
---
Changes since v2:
- call git log to produce a unique <abbrev-sha>
- use the short date format
Changes since v1:
- drop the "commit " literal in front of the <abbrev-sha>
---
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
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html