diff options
author | Shawn O. Pearce <spearce@spearce.org> | 2007-07-27 02:30:15 -0400 |
---|---|---|
committer | Shawn O. Pearce <spearce@spearce.org> | 2007-07-27 02:30:15 -0400 |
commit | 1e0a92fdf74caa0bf850f73e284818473c8f76e0 (patch) | |
tree | 1af01b4760d33c3ef5dafe6d37b0e3f6d165d61a | |
parent | git-gui: Remove usernames from absolute SSH urls during merging (diff) | |
download | tgif-1e0a92fdf74caa0bf850f73e284818473c8f76e0.tar.xz |
git-gui: Don't kill modified commit message buffer with merge templates
If the user is in the middle of a merge and has already started to
modify their commit message we were losing the user's changes when
they pressed 'Rescan' after resolving issues or making changes in
the working directory.
The problem here was our background timer that saves the commit
message buffer. It marks the commit message buffer as not being
modified when it writes it out to disk, so during the rescan we
assumed the buffer should be replaced with what we read from the
MERGE_MSG file. So we now only read these files from .git if we
have a valid backup file. Since we clear it on commit this will
only have an impact while the user is actively editing the current
commit.
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
-rwxr-xr-x | git-gui.sh | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/git-gui.sh b/git-gui.sh index a38293a347..f87b955fdb 100755 --- a/git-gui.sh +++ b/git-gui.sh @@ -829,8 +829,9 @@ proc rescan {after {honor_trustmtime 1}} { array unset file_states - if {![$ui_comm edit modified] - || [string trim [$ui_comm get 0.0 end]] eq {}} { + if {!$::GITGUI_BCK_exists && + (![$ui_comm edit modified] + || [string trim [$ui_comm get 0.0 end]] eq {})} { if {[string match amend* $commit_type]} { } elseif {[load_message GITGUI_MSG]} { } elseif {[load_message MERGE_MSG]} { |