summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLibravatar Shawn O. Pearce <spearce@spearce.org>2007-07-27 02:30:15 -0400
committerLibravatar Shawn O. Pearce <spearce@spearce.org>2007-07-27 02:30:15 -0400
commit1e0a92fdf74caa0bf850f73e284818473c8f76e0 (patch)
tree1af01b4760d33c3ef5dafe6d37b0e3f6d165d61a
parentgit-gui: Remove usernames from absolute SSH urls during merging (diff)
downloadtgif-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-xgit-gui.sh5
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]} {