git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH] git-gui: use commit message template

From
MSMartin Schön <martin.schoen@loewensteinmedical.de>
Date
Jul 2, 2018, 13:28 UTC
Message-ID
<20180702182521.EC55341BAC@mail.steuer-voss.de>

Use the file described by commit.template (if set) to show the commit message template, just like other GUIs.

Signed-off-by: Martin Sch??n <Martin.Schoen@loewensteinmedical.de>
---
 git-gui.sh     | 9 +++++++++
 lib/commit.tcl | 1 +
 2 files changed, 10 insertions(+)
diff --git a/git-gui.sh b/git-gui.sh
index 5bc21b8..6fc598d 100755
--- a/git-gui.sh
+++ b/git-gui.sh
@@ -1611,6 +1611,12 @@ proc run_prepare_commit_msg_hook {} {
 		fconfigure $fd_sm -encoding utf-8
 		puts -nonewline $fd_pcm [read $fd_sm]
 		close $fd_sm
+	} elseif {[file isfile [get_config commit.template]]} {
+		set pcm_source "template"
+		set fd_sm [open [get_config commit.template] r]
+		fconfigure $fd_sm -encoding utf-8
+		puts -nonewline $fd_pcm [read $fd_sm]
+		close $fd_sm
 	} else {
 		set pcm_source ""
 	}
@@ -1620,6 +1626,9 @@ proc run_prepare_commit_msg_hook {} {
 	set fd_ph [githook_read prepare-commit-msg \
 			[gitdir PREPARE_COMMIT_MSG] $pcm_source]
 	if {$fd_ph eq {}} {
+		if {$pcm_source eq "template"} {
+			load_message PREPARE_COMMIT_MSG
+		}
 		catch {file delete [gitdir PREPARE_COMMIT_MSG]}
 		return 0;
 	}
diff --git a/lib/commit.tcl b/lib/commit.tcl
index 83620b7..168f696 100644
--- a/lib/commit.tcl
+++ b/lib/commit.tcl
@@ -506,6 +506,7 @@ A rescan will be automatically started now.
 	unlock_index
 	reshow_diff
 	ui_status [mc "Created commit %s: %s" [string range $cmt_id 0 7] $subject]
+	rescan ui_ready
 }
 
 proc commit_postcommit_wait {fd_ph cmt_id} {
-- 
2.17.1
Next: Stefan Beller
Message 1 of 3 in “git-gui: use commit message template”
  1. git-gui: use commit message templateMartin Schön, Jul 2, 2018
  2. Stefan BellerJul 2, 2018
  3. AW: [PATCH] git-gui: use commit message templateSchoen, Martin, Jul 3, 2018

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.