git-gui: Cleanup end-of-line whitespace in commit messages.
When committing changes its useless to have trailing whitespace on the end of a line within the commit message itself; this serves no purpose beyond wasting space in the repository. But it happens a lot on my Mac OS X system if I copy text out of a Terminal.app window and paste it into git-gui. We now clip any trailing whitespace from the commit buffer when loading it from a file, when saving it out to our backup file, or when making the actual commit object. I also fixed a bug where we lost the commit message buffer if you quit without editing the text region. This can happen if you quit and restart git-gui frequently in the middle of an editing session. Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
This commit is contained in:
parent
30b14ed390
commit
4e55d19a13
@ -428,6 +428,7 @@ proc load_message {file} {
|
||||
}
|
||||
set content [string trim [read $fd]]
|
||||
close $fd
|
||||
regsub -all -line {[ \r\t]+$} $content {} content
|
||||
$ui_comm delete 0.0 end
|
||||
$ui_comm insert end $content
|
||||
return 1
|
||||
@ -1046,6 +1047,7 @@ You must add 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
|
||||
if {$msg eq {}} {
|
||||
error_popup {Please supply a commit message.
|
||||
|
||||
@ -2984,12 +2986,13 @@ proc do_quit {} {
|
||||
#
|
||||
set save [gitdir GITGUI_MSG]
|
||||
set msg [string trim [$ui_comm get 0.0 end]]
|
||||
if {![string match amend* $commit_type]
|
||||
&& [$ui_comm edit modified]
|
||||
regsub -all -line {[ \r\t]+$} $msg {} msg
|
||||
if {(![string match amend* $commit_type]
|
||||
|| [$ui_comm edit modified])
|
||||
&& $msg ne {}} {
|
||||
catch {
|
||||
set fd [open $save w]
|
||||
puts $fd [string trim [$ui_comm get 0.0 end]]
|
||||
puts -nonewline $fd $msg
|
||||
close $fd
|
||||
}
|
||||
} else {
|
||||
|
Loading…
Reference in New Issue
Block a user