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:
@ -428,6 +428,7 @@ proc load_message {file} {
|
|||||||
}
|
}
|
||||||
set content [string trim [read $fd]]
|
set content [string trim [read $fd]]
|
||||||
close $fd
|
close $fd
|
||||||
|
regsub -all -line {[ \r\t]+$} $content {} content
|
||||||
$ui_comm delete 0.0 end
|
$ui_comm delete 0.0 end
|
||||||
$ui_comm insert end $content
|
$ui_comm insert end $content
|
||||||
return 1
|
return 1
|
||||||
@ -1046,6 +1047,7 @@ You must add at least 1 file before you can commit.
|
|||||||
# -- A message is required.
|
# -- A message is required.
|
||||||
#
|
#
|
||||||
set msg [string trim [$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 {}} {
|
if {$msg eq {}} {
|
||||||
error_popup {Please supply a commit message.
|
error_popup {Please supply a commit message.
|
||||||
|
|
||||||
@ -2984,12 +2986,13 @@ proc do_quit {} {
|
|||||||
#
|
#
|
||||||
set save [gitdir GITGUI_MSG]
|
set save [gitdir GITGUI_MSG]
|
||||||
set msg [string trim [$ui_comm get 0.0 end]]
|
set msg [string trim [$ui_comm get 0.0 end]]
|
||||||
if {![string match amend* $commit_type]
|
regsub -all -line {[ \r\t]+$} $msg {} msg
|
||||||
&& [$ui_comm edit modified]
|
if {(![string match amend* $commit_type]
|
||||||
|
|| [$ui_comm edit modified])
|
||||||
&& $msg ne {}} {
|
&& $msg ne {}} {
|
||||||
catch {
|
catch {
|
||||||
set fd [open $save w]
|
set fd [open $save w]
|
||||||
puts $fd [string trim [$ui_comm get 0.0 end]]
|
puts -nonewline $fd $msg
|
||||||
close $fd
|
close $fd
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
Reference in New Issue
Block a user