[PATCH 1 of 4] icasefs: disuse length check against un-normcase()-ed filenames

FUJIWARA Katsunori foozy at lares.dti.ne.jp
Fri Dec 23 10:03:00 CST 2011


# HG changeset patch
# User FUJIWARA Katsunori <foozy at lares.dti.ne.jp>
# Date 1324655456 -32400
# Node ID c604a3d1969d174f7564bb045d62863995b7dabc
# Parent  9cf1620e1e75fc85f4b30cab7b3a0117c1ed44d1
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.

diff -r 9cf1620e1e75 -r c604a3d1969d mercurial/util.py
--- a/mercurial/util.py	Thu Dec 22 15:56:27 2011 -0600
+++ b/mercurial/util.py	Sat Dec 24 00:50:56 2011 +0900
@@ -622,9 +622,8 @@
     The root should be normcase-ed, too.
     '''
     def find(p, contents):
-        lenp = len(p)
         for n in contents:
-            if lenp == len(n) and normcase(n) == p:
+            if normcase(n) == p:
                 return n
         return None
 


More information about the Mercurial-devel mailing list