我在Mac OS 10.6中使用git版本1.7.0。
如果我执行
echo "" > frëd # that's f r \xEB d
git ls-files --other 'f*'
我回来了
"fre\314\210d" # that's 14 characters including two \'s
而ls f*
报告
frëd # 4 characters, 5 bytes
这会导致Emacs中magit-status模式的行为不良。
我如何解决这个问题,并以相同的方式报告git ls-files ls没有解释文件名的字节?
- 大卫
答案 0 :(得分:5)
Git转义文件名,使其不包含任何难以解释的字符,如终端序列,常用分隔符,如换行符等。顺便说一下(gnu)ls
,但ls
更宽容。您可以使用-z
标志以零终止,机器可解析的格式获取原始名称。 Magit应该使用它(解析转义更脆弱),如果可以的话修补它。