This commit is contained in:
Joey Hess 2023-04-07 13:13:16 -04:00
parent e6a4782b0c
commit 218cb6ab56
No known key found for this signature in database
GPG key ID: DB12DB0FF05F8F38

View file

@ -1,12 +1,24 @@
touch $(echo -e "\e[31mfoo\e[0m") touch $(echo -e "\e[31mfoo\e[0m")
git-annex add git-annex add
git-annex find git-annex whereis
That displays "foo" in red twice. Compare with behavior of git commands that That displays "foo" in red twice. Compare with behavior of git commands that
display that filename, which display it escaped. display that filename, which display it escaped.
git-annex should probably do the same (except in json output which is git-annex should probably do the same, when displaying filenames that it's
already escaped). working on or in messages.
`git-annex find` is an interesting case because it's expected to be
pipeable, and so should have raw filenames. Note that `find` actually
escapes such filenames when outputting to a terminal, but not a pipe.
It's possible that keys can also contain an escape sequence, eg in the
extension of a SHA-E key. So commands like `git-annex lookupkey`
and `git-annex find` that output keys might need to handle
that, when outputting to a terminal?
`git-annex metadata` could also contain an escape sequence. So could
`git-annex config --get`.
git porcelain also accepts the escaped form of files as input, necessary for git porcelain also accepts the escaped form of files as input, necessary for
round-tripping though. git-annex currently does not. (git plumbing doesn't round-tripping though. git-annex currently does not. (git plumbing doesn't