scmutil: add join method to opener to construct path relative to base
Useful when we only have the opener without the base path used when it was
constructed.
--- a/mercurial/scmutil.py Thu Mar 01 17:39:58 2012 +0200
+++ b/mercurial/scmutil.py Thu Mar 01 17:39:58 2012 +0200
@@ -211,7 +211,7 @@
if r:
raise util.Abort("%s: %r" % (r, path))
self.auditor(path)
- f = os.path.join(self.base, path)
+ f = self.join(path)
if not text and "b" not in mode:
mode += "b" # for that other OS
@@ -255,7 +255,7 @@
def symlink(self, src, dst):
self.auditor(dst)
- linkname = os.path.join(self.base, dst)
+ linkname = self.join(dst)
try:
os.unlink(linkname)
except OSError:
@@ -280,6 +280,9 @@
def audit(self, path):
self.auditor(path)
+ def join(self, path):
+ return os.path.join(self.base, path)
+
class filteropener(abstractopener):
'''Wrapper opener for filtering filenames with a function.'''