Skip to content

Commit 041fe8f

Browse files
Tauwassergitster
authored andcommitted
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 instead of 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. contrib/completion/git-prompt.sh. Signed-off-by: Robert Abel <[email protected]> Signed-off-by: Junio C Hamano <[email protected]>
1 parent 5501f50 commit 041fe8f

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

contrib/completion/git-prompt.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -283,7 +283,7 @@ __git_ps1_colorize_gitstring ()
283283
# variable, in that order.
284284
__git_eread ()
285285
{
286-
test -r "$1" && read "$2" <"$1"
286+
test -r "$1" && IFS=$'\r\n' read "$2" <"$1"
287287
}
288288

289289
# __git_ps1 accepts 0 or 1 arguments (i.e., format string)

0 commit comments

Comments
 (0)