Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

unicode filenames on windows mercurial 2.5 (or future)

Tags:

mercurial

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?

like image 819
Nathan Avatar asked Sep 22 '12 02:09

Nathan


1 Answers

No, Mercurial still doesn't support transcoding of filenames. That is, it will checkin and checkout filenames as binary strings and you will experience problems if you need to move files between systems with incompatible filename encodings.

If everybody in your team is using Windows with the same code page, then you can use non-ASCII characters just fine. They'll be stored inside the repository in whatever code page you use, but everybody will be able to use the files.

If you need to move files between platforms, then stick to ASCII filenames for now.

There is a Windows UTF-8 plan in the works, and FUJIWARA Katsunori has been working on it, but it's not yet (September 2012) ready.

like image 68
Martin Geisler Avatar answered Oct 13 '22 10:10

Martin Geisler