windows: use upper() instead of lower() or os.path.normcase() stable
authorFUJIWARA Katsunori <foozy@lares.dti.ne.jp>
Fri, 16 Dec 2011 21:09:40 +0900
branchstable
changeset 15671 3c5e818ac679
parent 15670 d6c19cfa03ce
child 15672 2ebe3d0ce91d
windows: use upper() instead of lower() or os.path.normcase() this patch uses upper() instead of lower() or os.path.normcase() for case folding on Windows(NTFS), because lower-ing causes problems for some languages on it. see below for detail about problem of lower-ing: https://blogs.msdn.com/b/michkap/archive/2005/01/16/353873.aspx
hgext/win32mbcs.py
mercurial/windows.py
--- a/hgext/win32mbcs.py	Fri Dec 16 21:09:40 2011 +0900
+++ b/hgext/win32mbcs.py	Fri Dec 16 21:09:40 2011 +0900
@@ -127,7 +127,9 @@
 # NOTE: os.path.dirname() and os.path.basename() are safe because
 #       they use result of os.path.split()
 funcs = '''os.path.join os.path.split os.path.splitext
- os.path.splitunc os.path.normpath os.path.normcase os.makedirs
+ os.path.splitunc os.path.normpath os.makedirs
+ mercurial.windows.normcase
+ mercurial.util.normcase
  mercurial.util.endswithsep mercurial.util.splitpath mercurial.util.checkcase
  mercurial.util.fspath mercurial.util.pconvert mercurial.util.normpath
  mercurial.util.checkwinfilename mercurial.util.checkosfilename'''
--- a/mercurial/windows.py	Fri Dec 16 21:09:40 2011 +0900
+++ b/mercurial/windows.py	Fri Dec 16 21:09:40 2011 +0900
@@ -131,7 +131,8 @@
 def normpath(path):
     return pconvert(os.path.normpath(path))
 
-normcase = os.path.normcase
+def normcase(path):
+    return path.upper()
 
 def realpath(path):
     '''