git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH v3 2/2] git-prompt: fix reading files with windows line endings

From
Robert Abel <rabel@robertabel.eu>
Date
Dec 4, 2017, 23:49 UTC
Message-ID
<20171204234923.9600-2-rabel@robertabel.eu>
In-Reply-To
<20171204234923.9600-1-rabel@robertabel.eu>

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 setting the IFS to $'\r\n' for the read operation. Note that ANSI-C Quoting ($'...') is supported by bash as well as zsh, which are the current targets of git-prompt.sh, cf. <20171130010811.17369-1-szeder.dev@gmail.com>.

Signed-off-by: Robert Abel <rabel@robertabel.eu>
---
 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
--- a/contrib/completion/git-prompt.sh
+++ b/contrib/completion/git-prompt.sh
@@ -283,7 +283,7 @@ __git_ps1_colorize_gitstring ()
 # variable, in that order.
 __git_eread ()
 {
-	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)
-- 
2.13.0.windows.1
Previous: Robert AbelNext: SZEDER Gábor
Message 22 of 25 in “git-prompt: fix reading files with windows line endings”
  1. Robert AbelNov 28, 2017
  2. git-prompt: fix reading files with windows line endingsRobert Abel, Nov 28, 2017
  3. Johannes SchindelinNov 29, 2017
  4. Robert AbelNov 29, 2017
  5. Johannes SchindelinNov 30, 2017
  6. Robert AbelNov 30, 2017
  7. Johannes SchindelinNov 30, 2017
  8. Robert AbelNov 30, 2017
  9. Johannes SchindelinDec 1, 2017
  10. 1/2 git-prompt: make __git_eread intended use explicitRobert Abel, Dec 1, 2017
  11. 2/2 git-prompt: fix reading files with windows line endingsRobert Abel, Dec 1, 2017
  12. Johannes SchindelinDec 4, 2017
  13. Junio C HamanoDec 4, 2017
  14. Robert AbelDec 4, 2017
  15. Junio C HamanoDec 5, 2017
  16. Robert AbelDec 5, 2017
  17. Junio C HamanoDec 5, 2017
  18. Robert AbelDec 5, 2017
  19. 1/2 git-prompt: make __git_eread intended use explicitRobert Abel, Dec 5, 2017
  20. 2/2 git-prompt: fix reading files with windows line endingsRobert Abel, Dec 5, 2017
  21. 1/2 git-prompt: make __git_eread intended use explicitRobert Abel, Dec 4, 2017
  22. 2/2 git-prompt: fix reading files with windows line endingsRobert Abel, Dec 4, 2017
  23. SZEDER GáborNov 30, 2017
  24. Johannes SchindelinNov 30, 2017
  25. SZEDER GáborNov 30, 2017

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.