Msysgit git svn字符编码

时间:2011-10-24 18:31:38

标签: git msysgit

我正在通过git svn命令集测试git(Windows上的msysgit,最新的1.7.7版本)SVN集成。当我注意到包含非ASCII字符(例如某些国家字符)的路径克隆错误时,一切似乎都工作得很好。反之亦然 - 如果我在git中添加文件并使用SVN rebase推送到SVN,则SVN仓库中的国家字符会被破坏。

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

有没有办法让msysgit(和TortoiseGit)与SVN相关的命令与Windows上的国家字符一起使用?

1 个答案:

答案 0 :(得分:1)

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

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

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