# HG changeset patch # User FUJIWARA Katsunori # Date 1365956535 -32400 # Node ID e75b72fffdfe296a5d1418ecf36baea7079338c6 # Parent a9c443b3b240d86569497b86b7bf74978716e054 vfs: split "expand" into "realpath"/"expandpath" to apply each separately Before this patch, vfs constructor applies both "util.expandpath()" and "os.path.realpath()" on "base" path, if "expand" is True. This patch splits it into "realpath" and "expandpath", to apply each functions separately: this splitting can allow to use vfs also where one of each is not needed. diff -r a9c443b3b240 -r e75b72fffdfe mercurial/localrepo.py --- a/mercurial/localrepo.py Fri Jan 18 15:54:09 2013 +0100 +++ b/mercurial/localrepo.py Mon Apr 15 01:22:15 2013 +0900 @@ -153,7 +153,7 @@ return self.requirements[:] def __init__(self, baseui, path=None, create=False): - self.wvfs = scmutil.vfs(path, expand=True) + self.wvfs = scmutil.vfs(path, expandpath=True, realpath=True) self.wopener = self.wvfs self.root = self.wvfs.base self.path = self.wvfs.join(".hg") diff -r a9c443b3b240 -r e75b72fffdfe mercurial/scmutil.py --- a/mercurial/scmutil.py Fri Jan 18 15:54:09 2013 +0100 +++ b/mercurial/scmutil.py Mon Apr 15 01:22:15 2013 +0900 @@ -263,9 +263,11 @@ This class is used to hide the details of COW semantics and remote file access from higher level code. ''' - def __init__(self, base, audit=True, expand=False): - if expand: - base = os.path.realpath(util.expandpath(base)) + def __init__(self, base, audit=True, expandpath=False, realpath=False): + if expandpath: + base = util.expandpath(base) + if realpath: + base = os.path.realpath(base) self.base = base self._setmustaudit(audit) self.createmode = None