changeset 18945:e75b72fffdfe

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.
author FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
date Mon, 15 Apr 2013 01:22:15 +0900
parents a9c443b3b240
children 3d4f41eaae67
files mercurial/localrepo.py mercurial/scmutil.py
diffstat 2 files changed, 6 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- 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")
--- 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