2015-08-14 35 views
5

我正在开发一个涉及Git中的英语和希伯来语的项目(Cygwin上的2.4.5)。在Git仓库中使用希伯来文我没有遇到任何问题。Git别名中的Unicode

因为我经常在希伯来语和英语之间来回切换,所以我在我的bashrc中为常用命令添加了别名,以便在我的设置为希伯来语时尝试输入它们时使用。例如

alias עןא=git 

(עןא不是混帐的翻译或音译;它不是一个词在所有这只是你得到什么,当你尝试键入“混帐”,但你的键盘设置为希伯来语。)。

但是,当我尝试采取下一步时,我遇到了问题。我添加别名到我的混帐配置:

[alias] 
    דאשאוד=status 

,然后尝试运行:

$ עןא דאשאוד 
    fatal: bad config file line 18 in /home/Heshy/.gitconfig 

(是的,דאשאוד=状态是第18行)

有没有什么办法让一个Git别名接受希伯来字母(通过.gitconfig或其他方式)?

+0

错误消息来自'git_parse_source()'函数,在config.h行414-477中。 https://github.com/git/git/blob/master/config.c#L414 –

+0

461行对'isalpha(c)'的调用可能是罪魁祸首。我怀疑唯一的解决办法是修改源代码。我不确定是否可以将其作为答案发布。 –

回答

0

我找到了自己的问题的答案,但它很丑。更好的答案仍然值得赞赏。

echo 'git status "[email protected]"' > /bin/git-דאשאוד 
chmod u+x /bin/git-דאשאוד 

它的作品...但有一个我不明白的错误消息。

$ git דאשאוד 
error: invalid key: pager.דאשאוד 
Untracked files: 
    (use "git add <file>..." to include in what will be committed) 

     testfile 

nothing added to commit but untracked files present (use "git add" to track) 

如果我改用git-someenglishname来调用文件,错误信息不会发生。

我也尝试了一些操作来清除错误信息。问题是,如果我把它放在/ bin/git-דאשאוד中,消息仍然存在。我认为这是因为错误消息是由调用git本身产生的,而不是调用git-דאשאוד。

我想一个完整的解决方案是为git创建一个包装脚本(或者也许只是forעןא)来移除这些错误信息。这更丑陋。正如我所说,更好的答案仍然是非常受欢迎的。