Cra*_*een 23 git unicode mercurial dvcs bazaar
我有兴趣尝试分布式版本控制系统.git听起来很有希望,但我在git的Windows端口看到了一条说"不要使用非ASCII文件名"的注释.我现在找不到,但有这个链接.它现在让我脱离git,但我不知道其他选项是否更好.
支持非ASCII文件名对我的日本公司至关重要.我正在寻找一个内部存储文件名为Unicode的文件,而不是依赖于平台的编码,这会导致无休止的悲伤.所以:
请参阅同一存储库中的问题80.2009年,又出现了Git的邮件列表上的讨论(如1,2),其中Git的维护者朱尼奥·哈默诺问这方面的一些问题.我没有在这里.通过以建设性的方式加入线程,您可以帮助解决问题.
在Java实现JGit中,我们在创建文本元数据和文件名时总是使用UTF-8.这是唯一的方法,但有一些事情需要考虑.
Bazaar VCS在内部使用unicode文件名.它在Linux和Windows上都非常支持unicode.
在Linux上,我认为Mercurial只是编码系统的编码(如果我错了,请纠正我).因此,最好将Linux设置为UTF-8以实现跨平台兼容性.这是许多现代发行版的默认设置.
在Windows上,Mercurial(由于Python的字节串处理)使用系统代码页.这只是为了保证非ASCII字符的跨平台互操作性.
有一个名为fixutf8 for Windows 的外部创建的Mercurial扩展,它可以正确处理所有Unicode字符(甚至是当前代码页之外的字符),并在Mercurial存储库中将文件名编码为UTF-8.因此,只要Linux使用UTF-8编码,就可以实现与Linux的互操作.我上周尝试在我的Windows设置上启用它,并且在安装时遇到了一些问题.从那以后,一个问题得到解决.现在唯一的问题是二进制Mercurial发行版是用Python 2.4构建的,而fixutf8要求使用Python 2.5或更高版本构建Mercurial来加载fixutf8.我希望这将在不久的将来得到解决.
根据fixutf8网页,fixutf8似乎与Mercurial 2.0及更高版本不兼容.有关未来解决方案的详细信息,请参阅WindowsUTF8Plan.我不确定何时会实现这一点.
小智 8
2009年8月:
msysgit项目正在忙于修复Windows上对Git的UTF-8支持.它可能会在下一个版本中修复.
2012年2月更新
UTF-8即将推出msysgit,像这样的提交"更新UTF-8的设置"
从Git for Windows Google+页面:
Karsten Blees用于Windows的Git的UTF-8补丁现已合并为'
devel
'.
这意味着即将发布的版本将支持Unicode文件名!
2012年4月更新
它现在在mSysGit 1.7.10中发布.
请参阅Git for Windows Unicode支持页面.
归档时间: |
|
查看次数: |
4376 次 |
最近记录: |