summaryrefslogtreecommitdiff
path: root/lib/commit.tcl
diff options
context:
space:
mode:
authorJohannes Sixt <j6t@kdbg.org>2024-11-09 14:37:45 +0100
committerJohannes Sixt <j6t@kdbg.org>2024-11-09 14:37:45 +0100
commite5033898da23b6e2f6b77320bd0aa613595a50a1 (patch)
treec2ce469a136a6e435eb8175b93a5d5bd7bb70762 /lib/commit.tcl
parent492550155aec3113a4d3d2232c3f259f83737478 (diff)
parent90934966bbac07d8d480b5257ba50945f0ec45c8 (diff)
Merge branch 'ob/strip-comments-on-commit'
* ob/strip-comments-on-commit: git-gui: strip commit messages less aggressively git-gui: strip comments and consecutive empty lines from commit messages
Diffstat (limited to 'lib/commit.tcl')
-rw-r--r--lib/commit.tcl11
1 files changed, 10 insertions, 1 deletions
diff --git a/lib/commit.tcl b/lib/commit.tcl
index 11379f8ad3..208dc2817c 100644
--- a/lib/commit.tcl
+++ b/lib/commit.tcl
@@ -207,8 +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.