[PATCH 00 of 11] a lot of patches concerning casefolding filesystems

Simon Heimberg simohe at besonet.ch
Tue Aug 11 12:55:15 CDT 2009

For those who prefer pulling to importing (like me):


It is the same as in the list. Pending:
correction for util.temprename (in patch #5)
quicker version for foldedpath for mac os X (in patch #6)

Dan pointed out that mac os X needs folding on case sensitive
filesystems too (example: Ä to Ä ).
Does Windows has case sensitive filesystems too? Maybe it is the same
there (example: A. to A)
IMHO it is simpler to fix this in a new series.


Am Freitag, den 07.08.2009, 21:42 +0200 schrieb Simon Heimberg:
> test-casefolding (extended) finally works on linux on hfs.
> On caseinsensitive filesystems,
> - it is not possible anymore to add A and a (with hg add or hg addremove or ...)
> - it is possible to rename a to A
> - it is even not possible to add 'Ä ' and 'Ä' on hfs or 'a' and 'a.' on ntfs or fat
> test-issue660 fails on linux with hfs, but it did this bofore
> it passes on linux with vfat
> test-casefolding fails with vfat because renaming with changing the case is not 
> possible (even not mv a zf1x; mv zf1x A)
> the other test pass
> testing on os x and windows is not done
> -----------------------------------------------------------------------------
> It is important to distinguish two path functions (name as in mercurial.util):
> - realpath, returns path as it is on the filesystem
> - foldedpath, returns the same path for all possible folded paths
>     (example for ntfs: return 'a' for 'a', 'A', 'a.', 'A.', ...)
> And it is important to use each of them in the right place (and only use them 
> on folding filesystems).
> There are simple versions of this functions in util. The improved versions for 
> some platforms are defined in posix and windows.
> Btw, it is not possible to read the real path on linux with
>   os.readlink('/proc/self/fd/%d' % myfile.fileno())
> This returns the path used for opening.
> Greetings
> Simon
> _______________________________________________
> Mercurial-devel mailing list
> Mercurial-devel at selenic.com
> http://selenic.com/mailman/listinfo/mercurial-devel

More information about the Mercurial-devel mailing list