##// END OF EJS Templates
dirstate: normalize case of directory components...
Matt Mackall -
r16302:49b54f1a stable
parent child Browse files
Show More
@@ -82,6 +82,8 b' class dirstate(object):'
82 f = {}
82 f = {}
83 for name in self._map:
83 for name in self._map:
84 f[util.normcase(name)] = name
84 f[util.normcase(name)] = name
85 for name in self._dirs:
86 f[util.normcase(name)] = name
85 f['.'] = '.' # prevents useless util.fspath() invocation
87 f['.'] = '.' # prevents useless util.fspath() invocation
86 return f
88 return f
87
89
@@ -401,8 +403,16 b' class dirstate(object):'
401 if isknown or not os.path.lexists(os.path.join(self._root, path)):
403 if isknown or not os.path.lexists(os.path.join(self._root, path)):
402 folded = path
404 folded = path
403 else:
405 else:
404 folded = self._foldmap.setdefault(normed,
406 # recursively normalize leading directory components
405 util.fspath(normed, self._root))
407 # against dirstate
408 if '/' in normed:
409 d, f = normed.rsplit('/')
410 d = self._root + "/" + self._normalize(d, isknown)
411 folded = d + "/" + util.fspath(f, d)
412 else:
413 folded = util.fspath(normed, self._root)
414 self._foldmap[normed] = folded
415
406 return folded
416 return folded
407
417
408 def normalize(self, path, isknown=False):
418 def normalize(self, path, isknown=False):
General Comments 0
You need to be logged in to leave comments. Login now