From c0698df0579a14270e491b2f1ffdfc39d3b86310 Mon Sep 17 00:00:00 2001 From: Pratyush Yadav Date: Thu, 4 Mar 2021 13:53:27 +0530 Subject: Revert "git-gui: remove lines starting with the comment character" This reverts commit b9a43869c9f96d3577d6f568c1bda1940c8f0e31. This commit causes breakage on macOS (10.13). It causes errors on startup and completely breaks the commit functionality. There are two main problems. First, it uses `string cat` which is not supported on older Tcl versions. Second, it does a half close of the bidirectional pipe to git-stripspace which is also not supported on older Tcl versions. Reported-by: Eric Sunshine Signed-off-by: Pratyush Yadav diff --git a/git-gui.sh b/git-gui.sh index 236bc4e..201524c 100755 --- a/git-gui.sh +++ b/git-gui.sh @@ -875,7 +875,6 @@ set default_config(merge.summary) false set default_config(merge.verbosity) 2 set default_config(user.name) {} set default_config(user.email) {} -set default_config(core.commentchar) "#" set default_config(gui.encoding) [encoding system] set default_config(gui.matchtrackingbranch) false @@ -3437,10 +3436,6 @@ proc trace_commit_type {varname args} { merge {set txt [mc "Merge Commit Message:"]} * {set txt [mc "Commit Message:"]} } - - set comment_char [get_config core.commentchar] - set txt [string cat $txt \ - [mc " (Lines starting with '$comment_char' will be ignored)"]] $ui_coml conf -text $txt } trace add variable commit_type write trace_commit_type diff --git a/lib/commit.tcl b/lib/commit.tcl index 23d67d4..11379f8 100644 --- a/lib/commit.tcl +++ b/lib/commit.tcl @@ -141,20 +141,6 @@ 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 @@ -221,8 +207,8 @@ You must stage at least 1 file before you can commit. # -- A message is required. # - set msg [strip_msg [$ui_comm get 1.0 end]] - + set msg [string trim [$ui_comm get 1.0 end]] + regsub -all -line {[ \t\r]+$} $msg {} msg if {$msg eq {}} { error_popup [mc "Please supply a commit message. -- cgit v0.10.2-6-g49f6