示例#1
0
    def _normalize(self, path, isknown, ignoremissing=False, exists=None):
        normed = util.normcase(path)
        folded = self._foldmap.get(normed, None)
        if folded is None:
            if isknown:
                folded = path
            else:
                if exists is None:
                    exists = os.path.lexists(os.path.join(self._root, path))
                if not exists:
                    # Maybe a path component exists
                    if not ignoremissing and '/' in path:
                        d, f = path.rsplit('/', 1)
                        d = self._normalize(d, isknown, ignoremissing, None)
                        folded = d + "/" + f
                    else:
                        # No path components, preserve original case
                        folded = path
                else:
                    # recursively normalize leading directory components
                    # against dirstate
                    if '/' in normed:
                        d, f = normed.rsplit('/', 1)
                        d = self._normalize(d, isknown, ignoremissing, True)
                        r = self._root + "/" + d
                        folded = d + "/" + util.fspath(f, r)
                    else:
                        folded = util.fspath(normed, self._root)
                    self._foldmap[normed] = folded

        return folded
    def _normalize(self, path, isknown, ignoremissing=False, exists=None):
        normed = util.normcase(path)
        folded = self._foldmap.get(normed, None)
        if folded is None:
            if isknown:
                folded = path
            else:
                if exists is None:
                    exists = os.path.lexists(os.path.join(self._root, path))
                if not exists:
                    # Maybe a path component exists
                    if not ignoremissing and '/' in path:
                        d, f = path.rsplit('/', 1)
                        d = self._normalize(d, isknown, ignoremissing, None)
                        folded = d + "/" + f
                    else:
                        # No path components, preserve original case
                        folded = path
                else:
                    # recursively normalize leading directory components
                    # against dirstate
                    if '/' in normed:
                        d, f = normed.rsplit('/', 1)
                        d = self._normalize(d, isknown, ignoremissing, True)
                        r = self._root + "/" + d
                        folded = d + "/" + util.fspath(f, r)
                    else:
                        folded = util.fspath(normed, self._root)
                    self._foldmap[normed] = folded

        return folded
示例#3
0
 def _normalize(self, path, knownpath):
     norm_path = os.path.normcase(path)
     fold_path = self._foldmap.get(norm_path, None)
     if fold_path is None:
         if knownpath or not os.path.exists(os.path.join(self._root, path)):
             fold_path = path
         else:
             fold_path = self._foldmap.setdefault(norm_path, util.fspath(path, self._root))
     return fold_path
示例#4
0
 def _normalize(self, path, knownpath):
     norm_path = os.path.normcase(path)
     fold_path = self._foldmap.get(norm_path, None)
     if fold_path is None:
         if knownpath or not os.path.exists(os.path.join(self._root, path)):
             fold_path = path
         else:
             fold_path = self._foldmap.setdefault(
                 norm_path, util.fspath(path, self._root))
     return fold_path
示例#5
0
文件: dirstate.py 项目: ezc/mercurial
 def _normalize(self, path, isknown):
     normed = os.path.normcase(path)
     folded = self._foldmap.get(normed, None)
     if folded is None:
         if isknown or not os.path.lexists(os.path.join(self._root, path)):
             folded = path
         else:
             folded = self._foldmap.setdefault(
                 normed, util.fspath(path, self._root))
     return folded
示例#6
0
 def _normalize(self, path, isknown):
     normed = os.path.normcase(path)
     folded = self._foldmap.get(normed, None)
     if folded is None:
         if isknown or not os.path.lexists(os.path.join(self._root, path)):
             folded = path
         else:
             folded = self._foldmap.setdefault(normed,
                             util.fspath(path, self._root))
     return folded
    def _normalize(self, path, isknown):
        normed = util.normcase(path)
        folded = self._foldmap.get(normed, None)
        if folded is None:
            if isknown or not os.path.lexists(os.path.join(self._root, path)):
                folded = path
            else:
                # recursively normalize leading directory components
                # against dirstate
                if '/' in normed:
                    d, f = normed.rsplit('/', 1)
                    d = self._normalize(d, isknown)
                    r = self._root + "/" + d
                    folded = d + "/" + util.fspath(f, r)
                else:
                    folded = util.fspath(normed, self._root)
                self._foldmap[normed] = folded

        return folded