vfs: make it possible to pass multiple path elements to join
authorMatt Harbison <matt_harbison@yahoo.com>
Sat, 04 Apr 2015 17:19:16 -0400
changeset 24628 a0b47885a1c5
parent 24627 f33236c9b025
child 24629 8dc2533f03ef
vfs: make it possible to pass multiple path elements to join os.path.join(), localrepo.join() and localrepo.wjoin() allow passing multiple path elements; vfs.join() should be as convenient.
mercurial/scmutil.py
--- a/mercurial/scmutil.py	Sat Apr 04 15:43:00 2015 -0400
+++ b/mercurial/scmutil.py	Sat Apr 04 17:19:16 2015 -0400
@@ -445,9 +445,9 @@
         else:
             self.write(dst, src)
 
-    def join(self, path):
+    def join(self, path, *insidef):
         if path:
-            return os.path.join(self.base, path)
+            return os.path.join(self.base, path, *insidef)
         else:
             return self.base
 
@@ -475,9 +475,9 @@
     def __call__(self, path, *args, **kwargs):
         return self.vfs(self._filter(path), *args, **kwargs)
 
-    def join(self, path):
+    def join(self, path, *insidef):
         if path:
-            return self.vfs.join(self._filter(path))
+            return self.vfs.join(self._filter(self.vfs.reljoin(path, *insidef)))
         else:
             return self.vfs.join(path)