我正在通过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上的国家字符一起使用?
答案 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一起使用。