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

[PATCH 2/2] git-gui: strip commit messages less aggressively

From
Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
Date
Aug 13, 2024, 09:06 UTC
Message-ID
<20240813090631.1133049-3-oswald.buddenhagen@gmx.de>
In-Reply-To
<20240813090631.1133049-1-oswald.buddenhagen@gmx.de>

We would strip all leading and trailing whitespace, which git commit does not. Let's be consistent here.

Signed-off-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
---
Cc: Johannes Sixt <j6t@kdbg.org>
Cc: Brian Lyles <brianmlyles@gmail.com>
Cc: Junio C Hamano <gitster@pobox.com>
Cc: Eric Sunshine <sunshine@sunshineco.com>
Cc: Sean Allred <allred.sean@gmail.com>
---
 git-gui/lib/commit.tcl | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/git-gui/lib/commit.tcl b/git-gui/lib/commit.tcl
index f00a634624..208dc2817c 100644
--- a/git-gui/lib/commit.tcl
+++ b/git-gui/lib/commit.tcl
@@ -207,12 +207,17 @@ You must stage at least 1 file before you can commit.
 
 	# -- A message is required.
 	#
-	set msg [string trim [$ui_comm get 1.0 end]]
+	set msg [$ui_comm get 1.0 end]
+	# Strip trailing whitespace
 	regsub -all -line {[ \t\r]+$} $msg {} msg
 	# Strip comment lines
 	regsub -all {(^|\n)#[^\n]*} $msg {\1} msg
+	# Strip leading empty lines
+	regsub {^\n*} $msg {} msg
 	# Compress consecutive empty lines
 	regsub -all {\n{3,}} $msg "\n\n" msg
+	# Strip trailing empty line
+	regsub {\n\n$} $msg "\n" msg
 	if {$msg eq {}} {
 		error_popup [mc "Please supply a commit message.
 
-- 
2.46.0.180.gb23db42a00
Previous: Oswald BuddenhagenNext: Oswald Buddenhagen
Message 2 of 4 in “Re: [BUG REPORT] git-gui invokes prepare-commit-msg hook incorrectly”
  1. 0/2 Re: [BUG REPORT] git-gui invokes prepare-commit-msg hook incorrectlyOswald Buddenhagen, Aug 13, 2024
  2. 2/2 git-gui: strip commit messages less aggressivelyOswald Buddenhagen, Aug 13, 2024
  3. 1/2 git-gui: strip comments and consecutive empty lines from commit messagesOswald Buddenhagen, Aug 13, 2024
  4. Johannes SixtAug 15, 2024

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.