Unicode support for non-unicode locales
Densetsu no Ero-sennin
densetsu.no.ero.sennin at gmail.com
Mon Oct 8 15:43:20 UTC 2007
On 8 October 2007 (Mon), Matt Mackall wrote:
> Does it make the corresponding changes to your project's Makefile,
> etc., as well? What happens if someone does a checkout in an
> ASCII/latin-1 locale?
>
> Filenames, just like their contents, are the users' data. Our mandate
> is to preserve that data exactly.
You are perfectly right here. The question is, what exactly has to be
preserved. I mean, filenames are not just byte sequences, but rather
sequences of letters, digits and other symbols, which are encoded in
different byte sequences, depending on the locale. By not taking this into
account, Mercurial CORRUPTS the data and produces incorrect filenames in
some cases.
As for Makefiles, it is make's fault, not Mercurial's. Make is simply not
designed to handle Unicode and therefore is subject to fail on non-ASCII
filenames. The workaround is restricting filenames to ASCII. But there is no
point in not supporting Unicode in Mercurial just because make and other
tools do not support it.
More information about the Mercurial-devel
mailing list