summaryrefslogtreecommitdiff
path: root/git-gui.sh
diff options
context:
space:
mode:
authorShawn O. Pearce <spearce@spearce.org>2007-07-27 06:30:15 (GMT)
committerShawn O. Pearce <spearce@spearce.org>2007-07-27 06:30:15 (GMT)
commit1e0a92fdf74caa0bf850f73e284818473c8f76e0 (patch)
tree1af01b4760d33c3ef5dafe6d37b0e3f6d165d61a /git-gui.sh
parentbc318ea86d3ecd4074ecde3122b1e65f84cf9996 (diff)
downloadgit-1e0a92fdf74caa0bf850f73e284818473c8f76e0.zip
git-1e0a92fdf74caa0bf850f73e284818473c8f76e0.tar.gz
git-1e0a92fdf74caa0bf850f73e284818473c8f76e0.tar.bz2
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>
Diffstat (limited to 'git-gui.sh')
-rwxr-xr-xgit-gui.sh5
1 files changed, 3 insertions, 2 deletions
diff --git a/git-gui.sh b/git-gui.sh
index a38293a..f87b955 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]} {