Msysgit git svn字符编码



我正在通过git svn命令集测试git的(msysgit在Windows上,最新1.7.7版本)SVN集成。一切似乎都工作得很好,直到我注意到包含非ascii字符(例如一些国家字符)的路径克隆错误。反之亦然——如果我在git中添加一个文件,并使用SVN rebase将其推送到SVN,那么在SVN的repo中,国家字符就会被打乱。

我广泛地搜索,包括一些关于SO的问题,像这个,但我无法找到一个明确的解决方案。我知道有一个msysgit UTF-8分支,但它在今天基本上已经过时了,我甚至不确定这是否是正确的方法。

是否有一种方法可以使msysgit(和TortoiseGit)与svn相关的命令在Windows上使用国家字符?

除非最近发生了一些变化,否则msysgit没有适当的字符编码支持,因为它使用所谓的Windows文件函数的ANSI版本,这些版本仅限于CP1252这样的编码页。(不幸的是,msysgit项目问题跟踪器已被禁用,这使得很难确认情况是否仍然如此。)

要使其正常工作,它需要使用Windows函数的Unicode(即UTF-16)版本并适当地转换存储库文件名。

Cygwin 1.7确实根据Windows文件函数的Unicode版本实现了POSIX文件API,可以从UTF-8或其他编码进行转换。因此,Cygwin git和svn确实正确地支持非ascii字符,但我不知道它们是否可以与Tortoise一起使用。

最新更新