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

[PATCH 2/2 v2] git-gui - provide commit base to the hooks/pre-commit script

From
Mark Levedahl <mlevedahl@gmail.com>
Date
Jun 8, 2010, 02:56 UTC
Message-ID
<1275965763-18940-2-git-send-email-mlevedahl@gmail.com>
In-Reply-To
<1275965763-18940-1-git-send-email-mlevedahl@gmail.com>

If hooks/pre-commit acts based upon the changes to be checked in rather than just the resulting content, the script needs to know which commit to use. For a normal commit, this is HEAD, but when amending this is HEAD~1. So, this modifies commit.tcl to pass $1 as HEAD|HEAD~1 depending upon the commit type. Existing scripts are unaffected as they did not expect any argument so will silently ignore this extra bit of info.

Signed-off-by: Mark Levedahl <mlevedahl@gmail.com>
---
 git-gui/lib/commit.tcl |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)
diff --git a/git-gui/lib/commit.tcl b/git-gui/lib/commit.tcl
index 7f459cd..a62edc9 100644
--- a/git-gui/lib/commit.tcl
+++ b/git-gui/lib/commit.tcl
@@ -225,7 +225,13 @@ A good commit message has the following format:
 
 	# -- Run the pre-commit hook.
 	#
-	set fd_ph [githook_read pre-commit]
+	if {[string compare $commit_type "normal"] == 0} {
+		set against "HEAD"
+	} else {
+		set against "HEAD~1"
+	}
+
+	set fd_ph [githook_read pre-commit $against]
 	if {$fd_ph eq {}} {
 		commit_commitmsg $curHEAD $msg_p
 		return
-- 
1.7.1.269.g9fb6
Previous: Mark LevedahlNext: Mark Levedahl
Message 2 of 6 in “commit.c - provide base commit to the hooks/pre-commit script”
  1. 1/2 commit.c - provide base commit to the hooks/pre-commit scriptMark Levedahl, Jun 8, 2010
  2. 2/2 git-gui - provide commit base to the hooks/pre-commit scriptMark Levedahl, Jun 8, 2010
  3. Mark LevedahlJun 19, 2010
  4. Junio C HamanoJun 21, 2010
  5. Jeff KingJun 21, 2010
  6. Mark LevedahlJun 22, 2010

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.