OSDN Git Service

git-prompt: fix reading files with windows line endings
authorRobert Abel <rabel@robertabel.eu>
Tue, 5 Dec 2017 23:39:12 +0000 (00:39 +0100)
committerJunio C Hamano <gitster@pobox.com>
Wed, 6 Dec 2017 18:08:13 +0000 (10:08 -0800)
commit041fe8fc83770f95b09db4aa9d9b3783789eab08
tree71992c4e864c96b6c98b7d6a6279c96f02690123
parent5501f500b22116166c892d632382c9d497da822c
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 <rabel@robertabel.eu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
contrib/completion/git-prompt.sh