summaryrefslogtreecommitdiff
path: root/git-gui/lib/commit.tcl
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2021-03-01 17:22:18 (GMT)
committerJunio C Hamano <gitster@pobox.com>2021-03-01 17:22:18 (GMT)
commit90917373cd21f60ccd2636e067a0c2685d29d0d5 (patch)
treefb6e29771e3b5f132136931ff745fa461f0fd80f /git-gui/lib/commit.tcl
parentc0b27e3964b3300969660119fe12a863cfcae912 (diff)
parentb1056f60b63f1bc8226d01881bc829e171fc78bf (diff)
downloadgit-90917373cd21f60ccd2636e067a0c2685d29d0d5.zip
git-90917373cd21f60ccd2636e067a0c2685d29d0d5.tar.gz
git-90917373cd21f60ccd2636e067a0c2685d29d0d5.tar.bz2
Merge https://github.com/prati0100/git-gui
* https://github.com/prati0100/git-gui: git-gui: remove lines starting with the comment character git-gui: fix typo in russian locale
Diffstat (limited to 'git-gui/lib/commit.tcl')
-rw-r--r--git-gui/lib/commit.tcl18
1 files changed, 16 insertions, 2 deletions
diff --git a/git-gui/lib/commit.tcl b/git-gui/lib/commit.tcl
index 11379f8..23d67d4 100644
--- a/git-gui/lib/commit.tcl
+++ b/git-gui/lib/commit.tcl
@@ -141,6 +141,20 @@ proc setup_commit_encoding {msg_wt {quiet 0}} {
}
}
+proc strip_msg {msg} {
+ set cmd [concat [list | ] [_git_cmd stripspace] --strip-comments]
+ _trace_exec $cmd
+ set fd [open $cmd r+]
+ fconfigure $fd -translation binary -encoding utf-8
+
+ puts -nonewline $fd $msg
+ close $fd w
+ set result [read $fd]
+ close $fd
+
+ return $result
+}
+
proc commit_tree {} {
global HEAD commit_type file_states ui_comm repo_config
global pch_error
@@ -207,8 +221,8 @@ 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]]
- regsub -all -line {[ \t\r]+$} $msg {} msg
+ set msg [strip_msg [$ui_comm get 1.0 end]]
+
if {$msg eq {}} {
error_popup [mc "Please supply a commit message.