windows mercurial 2.5(或将来)上的unicode文件名

Nat*_*han 8 mercurial

首先,我知道Mercurial:Windows和Linux之间的文件名中的非ascii字母问题以及DVCS支持的Unicode文件名是什么?.但它们已经陈旧,并不适用于最新版本的mercurial.

他们都提到FixUtf8扩展 -这确实不是与善变的最新版本(2.3.1写这篇文章的)工作,显然是因为善变2.0没有奏效.事实上,启用该扩展将阻止您添加任何文件,甚至是简单的"vanilla"ascii文件名.FixUtf8Extension似乎已被放弃 - 它的最后一次提交是在2010年.

到目前为止,我一直是一个快乐的善变用户,但我现在正处于一个国际项目中,对非ascii文件名的支持至关重要.如果无法在mercurial中解决这个问题,我将不得不考虑备用版本控制系统.

在Windows上最新版本的mercurial是否支持unicode文件名?

Mar*_*ler 6

不,Mercurial仍然不支持文件名的转码.也就是说,它将签入和签出文件名作为二进制字符串,如果您需要在具有不兼容的文件名编码的系统之间移动文件,您将遇到问题.

如果团队中的每个人都在使用具有相同代码页的Windows,那么您可以使用非ASCII字符.它们将存储在您使用的任何代码页中的存储库中,但每个人都可以使用这些文件.

如果您需要在平台之间移动文件,那么现在就坚持使用ASCII文件名.

有一个Windows UTF-8计划正在进行中,FUJIWARA Katsunori一直在努力,但它还没有准备好(2012年9月).

  • 你说如果每个人都使用Windows我应该能够使用非ascii字符就好了.但是,我甚至无法在文件名中将带有(例如)中文字符的文件添加到本地存储库.从tortoisHg,它出现了所有?字符,并尝试添加它会导致"[错误123]文件名,目录名称或卷标语法不正确:'C:\\ projects \\ utf8test \\ ???.txt'".从命令行,如果我运行`hg add*.txt`,我得到"???.txt:文件名,目录名或卷标语法不正确".所以即使Windows上的每个人都看起来不可行? (5认同)
  • 以下是Mercurial邮件列表中随后出现的主题的链接http://mercurial.808500.n3.nabble.com/Can-t-add-any-non-ascii-files-on-mercurial-for-Windows-td3992910. HTML (2认同)