Mercurial > public > mercurial-scm > hg-stable
comparison mercurial/util.py @ 15718:c604a3d1969d
icasefs: disuse length check against un-normcase()-ed filenames
this patch disuses length check against un-normcase()-ed filenames
gotten by "os.listdir()", because there is no assurance that
filesystem stores filenames normalized except in letter case, even
though some case insensitive filesystems (in some environment, for
some language setting) store them in such manner.
author | FUJIWARA Katsunori <foozy@lares.dti.ne.jp> |
---|---|
date | Sat, 24 Dec 2011 00:50:56 +0900 |
parents | f63e40047372 |
children | 1dd60426b061 |
comparison
equal
deleted
inserted
replaced
15717:9cf1620e1e75 | 15718:c604a3d1969d |
---|---|
620 called, for case-sensitive filesystems (simply because it's expensive). | 620 called, for case-sensitive filesystems (simply because it's expensive). |
621 | 621 |
622 The root should be normcase-ed, too. | 622 The root should be normcase-ed, too. |
623 ''' | 623 ''' |
624 def find(p, contents): | 624 def find(p, contents): |
625 lenp = len(p) | |
626 for n in contents: | 625 for n in contents: |
627 if lenp == len(n) and normcase(n) == p: | 626 if normcase(n) == p: |
628 return n | 627 return n |
629 return None | 628 return None |
630 | 629 |
631 seps = os.sep | 630 seps = os.sep |
632 if os.altsep: | 631 if os.altsep: |