When a merge conflict occurs in a file with spaces in the filename, git-gui showed wrongly "LOCAL: deleted".
Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de>
---
Resending this patch, as i have not received any reply so far.
To reproduce the error with git 1.6.2.1.136.g8e24, i used the following commands:
mkdir spaces
cd spaces/
git init
echo "a" >file\ with\ spaces
git add file\ with\ spaces
git commit -m a .
git checkout -b b
echo "b" >file\ with\ spaces
git commit -m b .
git checkout master
echo "c" >file\ with\ spaces
git commit -m c .
git merge b
git gui
git gui doesn't show the conflict markers as it should, displaying "LOCAL: deleted" instead (but an older git-gui works as expected).
Jens
git-gui/lib/mergetool.tcl | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
Show changes to git-gui/lib/mergetool.tcl +1 −1
diff --git a/git-gui/lib/mergetool.tcl b/git-gui/lib/mergetool.tcl
index eb2b4b5..3e1b42b 100644
--- a/git-gui/lib/mergetool.tcl
+++ b/git-gui/lib/mergetool.tcl
@@ -88,7 +88,7 @@ proc merge_load_stages {path cont} {
set merge_stages(3) {}
set merge_stages_buf {}
- set merge_stages_fd [eval git_read ls-files -u -z -- $path]
+ set merge_stages_fd [eval git_read ls-files -u -z -- {$path}]
fconfigure $merge_stages_fd -blocking 0 -translation binary -encoding binary
fileevent $merge_stages_fd readable [list read_merge_stages $merge_stages_fd $cont]
--
1.6.2.1.215.g5d16f