##// END OF EJS Templates
merge with stable
Matt Mackall -
r14730:f5765353 stable
parent child Browse files
Show More
@@ -0,0 +1,34 b''
1 import sys, os, __builtin__
2 from mercurial import util
3
4 def lowerwrap(scope, funcname):
5 f = getattr(scope, funcname)
6 def wrap(fname, *args, **kwargs):
7 d, base = os.path.split(fname)
8 try:
9 files = os.listdir(d or '.')
10 except OSError, inst:
11 files = []
12 if base in files:
13 return f(fname, *args, **kwargs)
14 for fn in files:
15 if fn.lower() == base.lower():
16 return f(os.path.join(d, fn), *args, **kwargs)
17 return f(fname, *args, **kwargs)
18 scope.__dict__[funcname] = wrap
19
20 def normcase(path):
21 return path.lower()
22
23 os.path.normcase = normcase
24
25 for f in 'file open'.split():
26 lowerwrap(__builtin__, f)
27
28 for f in "chmod chown open lstat stat remove unlink".split():
29 lowerwrap(os, f)
30
31 for f in "exists lexists".split():
32 lowerwrap(os.path, f)
33
34 lowerwrap(util, 'posixfile')
General Comments 0
You need to be logged in to leave comments. Login now