icasefs: use util.normcase() instead of str.lower() or os.path.normpath() stable
authorFUJIWARA Katsunori <foozy@lares.dti.ne.jp>
Mon, 12 Dec 2011 17:10:19 +0900
branchstable
changeset 15637 7f01ad702405
parent 15635 82f5e471792d
child 15655 5402fd9dd13e
child 15658 971c55ce03b8
icasefs: use util.normcase() instead of str.lower() or os.path.normpath()
mercurial/merge.py
mercurial/windows.py
--- a/mercurial/merge.py	Thu Dec 15 16:18:10 2011 +0100
+++ b/mercurial/merge.py	Mon Dec 12 17:10:19 2011 +0900
@@ -7,7 +7,7 @@
 
 from node import nullid, nullrev, hex, bin
 from i18n import _
-import scmutil, util, filemerge, copies, subrepo, encoding
+import scmutil, util, filemerge, copies, subrepo
 import errno, os, shutil
 
 class mergestate(object):
@@ -100,7 +100,7 @@
     "check for case folding collisions in the destination context"
     folded = {}
     for fn in mctx:
-        fold = encoding.lower(fn)
+        fold = util.normcase(fn)
         if fold in folded:
             raise util.Abort(_("case-folding collision between %s and %s")
                              % (fn, folded[fold]))
--- a/mercurial/windows.py	Thu Dec 15 16:18:10 2011 +0100
+++ b/mercurial/windows.py	Mon Dec 12 17:10:19 2011 +0900
@@ -140,7 +140,7 @@
     '''
     # TODO: There may be a more clever way to do this that also handles other,
     # less common file systems.
-    return os.path.normpath(os.path.normcase(os.path.realpath(path)))
+    return os.path.normpath(normcase(os.path.realpath(path)))
 
 def samestat(s1, s2):
     return False
@@ -216,17 +216,16 @@
 def statfiles(files):
     '''Stat each file in files and yield stat or None if file does not exist.
     Cluster and cache stat per directory to minimize number of OS stat calls.'''
-    ncase = os.path.normcase
     dircache = {} # dirname -> filename -> status | None if file does not exist
     for nf in files:
-        nf  = ncase(nf)
+        nf  = normcase(nf)
         dir, base = os.path.split(nf)
         if not dir:
             dir = '.'
         cache = dircache.get(dir, None)
         if cache is None:
             try:
-                dmap = dict([(ncase(n), s)
+                dmap = dict([(normcase(n), s)
                     for n, k, s in osutil.listdir(dir, True)])
             except OSError, err:
                 # handle directory not found in Python version prior to 2.5