[PATCH] Allow git-mergetool to handle paths with a leading space
- From
- Rogan Dawes <rogan@dawes.za.net>
- Date
- Jan 6, 2008, 09:25 UTC
- Message-ID
- <47809E7E.2090708@dawes.za.net>
Signed-off-by: Rogan Dawes <rogan@dawes.za.net>
--- 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