Mercurial > public > mercurial-scm > hg
comparison mercurial/scmutil.py @ 24628:a0b47885a1c5
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.
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Sat, 04 Apr 2015 17:19:16 -0400 |
parents | 56fff44cce98 |
children | 21e1ece30f8c |
comparison
equal
deleted
inserted
replaced
24627:f33236c9b025 | 24628:a0b47885a1c5 |
---|---|
443 raise OSError(err.errno, _('could not symlink to %r: %s') % | 443 raise OSError(err.errno, _('could not symlink to %r: %s') % |
444 (src, err.strerror), linkname) | 444 (src, err.strerror), linkname) |
445 else: | 445 else: |
446 self.write(dst, src) | 446 self.write(dst, src) |
447 | 447 |
448 def join(self, path): | 448 def join(self, path, *insidef): |
449 if path: | 449 if path: |
450 return os.path.join(self.base, path) | 450 return os.path.join(self.base, path, *insidef) |
451 else: | 451 else: |
452 return self.base | 452 return self.base |
453 | 453 |
454 opener = vfs | 454 opener = vfs |
455 | 455 |
473 self._filter = filter | 473 self._filter = filter |
474 | 474 |
475 def __call__(self, path, *args, **kwargs): | 475 def __call__(self, path, *args, **kwargs): |
476 return self.vfs(self._filter(path), *args, **kwargs) | 476 return self.vfs(self._filter(path), *args, **kwargs) |
477 | 477 |
478 def join(self, path): | 478 def join(self, path, *insidef): |
479 if path: | 479 if path: |
480 return self.vfs.join(self._filter(path)) | 480 return self.vfs.join(self._filter(self.vfs.reljoin(path, *insidef))) |
481 else: | 481 else: |
482 return self.vfs.join(path) | 482 return self.vfs.join(path) |
483 | 483 |
484 filteropener = filtervfs | 484 filteropener = filtervfs |
485 | 485 |