[PATCH v4 2/2] git-prompt: fix reading files with windows line endings
- Date: Wed, 6 Dec 2017 00:39:12 +0100
- From: Robert Abel <rabel@xxxxxxxxxxxxx>
- Subject: [PATCH v4 2/2] git-prompt: fix reading files with windows line endings
If any of the files read by __git_eread have \r\n line endings, read
will only strip \n, leaving \r. This results in an ugly prompt, where
user@pc MINGW64 /path/to/repo (BARE:master)
the last parenthesis is printed over the beginning of the prompt like
)ser@pc MINGW64 /path/to/repo (BARE:master
This patch fixes the issue by changing the internal field separator
variable IFS to $'\r\n' before using the read builtin command.
Note that ANSI-C Quoting/POSIX Quoting ($'...') is supported by bash
as well as zsh, which are the current targets of git-prompt, cf.
Signed-off-by: Robert Abel <rabel@xxxxxxxxxxxxx>
contrib/completion/git-prompt.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/contrib/completion/git-prompt.sh b/contrib/completion/git-prompt.sh
index 41a471957a..983e419d2b 100644
@@ -283,7 +283,7 @@ __git_ps1_colorize_gitstring ()
# variable, in that order.
- test -r "$1" && read "$2" <"$1"
+ test -r "$1" && IFS=$'\r\n' read "$2" <"$1"
# __git_ps1 accepts 0 or 1 arguments (i.e., format string)