diff -r 7034365089bf -r 87e8440964a0 mercurial/localrepo.py --- a/mercurial/localrepo.py Fri Jul 06 18:45:26 2012 +0900 +++ b/mercurial/localrepo.py Fri Jul 06 18:45:27 2012 +0900 @@ -37,14 +37,14 @@ def __init__(self, baseui, path=None, create=False): repo.repository.__init__(self) - self.root = os.path.realpath(util.expandpath(path)) + self.wopener = scmutil.opener(path, expand=True) + self.wvfs = self.wopener + self.root = self.wvfs.base self.path = os.path.join(self.root, ".hg") self.origroot = path self.auditor = scmutil.pathauditor(self.root, self._checknested) self.opener = scmutil.opener(self.path) self.vfs = self.opener - self.wopener = scmutil.opener(self.root) - self.wvfs = self.wopener self.baseui = baseui self.ui = baseui.copy() # A list of callback to shape the phase if no data were found.