8

First off, I am aware of Mercurial: Problem with non-ascii letters in filenames between Windows and Linux and What DVCS support Unicode filenames?. But they are old, and do not apply to the latest versions of mercurial.

They both mention the FixUtf8 extension - which does not work with the latest version of mercurial (2.3.1 as of this writing) and apparently has not worked since mercurial 2.0. In fact enabling that extension will prevent you from adding any files at all, even plain "vanilla" ascii filenames. The FixUtf8Extension appears to have been abandoned - it's last commit was in 2010.

I have been a happy mercurial user up until now, but I am now on an international project where support for non-ascii filenames is critical. I will have to look at alternate version control systems if this can't be addressed in mercurial.

Is there any support for unicode filenames at all with the latest versions of mercurial on Windows?

4

1 回答 1

6

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

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

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

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

于 2012-09-22T11:12:12.127 回答