Signed-off-by: Rogan Dawes <rogan@xxxxxxxxxxxx>
---
I am working on a project which has the root directory constructed with
a leading space. i.e. ./ dir/. "read" skips the leading space char, and
ends up with an incorrect filename, which can then not be found. Setting
IFS=\n solves this problem.
Thanks to Mikachu and Tv on #git for assistance and suggestions.
Unfortunately, Thunderbird is not very easy to convince not to mangle
patches, so I am attaching the patch as well. Sorry.
diff --git a/git-mergetool.sh b/git-mergetool.sh
index 2f31fa2..8521ca3 100755
--- a/git-mergetool.sh
+++ b/git-mergetool.sh
@@ -394,7 +394,7 @@ if test $# -eq 0 ; then
exit 0
fi
echo Merging the files: $files
- git ls-files -u | sed -e 's/^[^ ]* //' | sort -u | while read i
+ git ls-files -u | sed -e 's/^[^ ]* //' | sort -u | while
IFS=\n read i
do
printf "\n"
merge_file "$i" < /dev/tty > /dev/tty
diff --git a/git-mergetool.sh b/git-mergetool.sh
index 2f31fa2..8521ca3 100755
--- a/git-mergetool.sh
+++ b/git-mergetool.sh
@@ -394,7 +394,7 @@ if test $# -eq 0 ; then
exit 0
fi
echo Merging the files: $files
- git ls-files -u | sed -e 's/^[^ ]* //' | sort -u | while read i
+ git ls-files -u | sed -e 's/^[^ ]* //' | sort -u | while IFS=\n read i
do
printf "\n"
merge_file "$i" < /dev/tty > /dev/tty