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: