]> git.ipfire.org Git - thirdparty/git.git/commit
completion: suppress unwanted unescaping of `read`
authorEdwin Kofler <edwin@kofler.dev>
Thu, 20 Apr 2023 22:38:00 +0000 (07:38 +0900)
committerJunio C Hamano <gitster@pobox.com>
Thu, 20 Apr 2023 22:47:38 +0000 (15:47 -0700)
commit197152098a257998b14e04b85b28216bd68f5b9c
tree27e65461de10a9a1aad05c62bb35f4b211b671cf
parent73876f4861cd3d187a4682290ab75c9dccadbc56
completion: suppress unwanted unescaping of `read`

The function `__git_eread`, which reads the first line from the file,
calls the `read` builtin without passing the flag option `-r`.  When
the `read` builtin is called without the flag `-r`, it processes the
backslash escaping in the text that it reads.  For this reason, it is
generally considered the best practice to always use the `read`
builtin with flag `-r` unless one intensionally processes the
backslash escaping.  For the present case in git-prompt.sh, in fact,
all the occurrences of the calls of `__git_eread` intend to read the
literal content of the first lines.

To make it read the first line literally, pass the flag `-r` to the
`read` builtin in the function `__git_eread`.

Signed-off-by: Edwin Kofler <edwin@kofler.dev>
Signed-off-by: Koichi Murase <myoga.murase@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
contrib/completion/git-prompt.sh