# HG changeset patch # User Alexander Solovyov # Date 1260181905 -7200 # Node ID 17031fea4e954d7b486d881648f266b3edb8d4ca # Parent e0a0af140f2e1054026c6c12a7130c39d0cfabdb expand paths to local repository or bundle in appropriate classes This avoids problem with unexpanded paths when it's not possible to expand it at higher level (for example, if file:~/path/ is supplied as path in schemes). diff -r e0a0af140f2e -r 17031fea4e95 mercurial/bundlerepo.py --- a/mercurial/bundlerepo.py Tue May 11 20:13:52 2010 +0200 +++ b/mercurial/bundlerepo.py Mon Dec 07 12:31:45 2009 +0200 @@ -166,7 +166,7 @@ localrepo.localrepository.__init__(self, ui, self._tempparent) if path: - self._url = 'bundle:' + path + '+' + bundlename + self._url = 'bundle:' + util.expandpath(path) + '+' + bundlename else: self._url = 'bundle:' + bundlename diff -r e0a0af140f2e -r 17031fea4e95 mercurial/hg.py --- a/mercurial/hg.py Tue May 11 20:13:52 2010 +0200 +++ b/mercurial/hg.py Mon Dec 07 12:31:45 2009 +0200 @@ -15,8 +15,8 @@ import errno, os, shutil def _local(path): - return (os.path.isfile(util.drop_scheme('file', path)) and - bundlerepo or localrepo) + path = util.expandpath(util.drop_scheme('file', path)) + return (os.path.isfile(path) and bundlerepo or localrepo) def addbranchrevs(lrepo, repo, branches, revs): if not branches: diff -r e0a0af140f2e -r 17031fea4e95 mercurial/localrepo.py --- a/mercurial/localrepo.py Tue May 11 20:13:52 2010 +0200 +++ b/mercurial/localrepo.py Mon Dec 07 12:31:45 2009 +0200 @@ -24,7 +24,7 @@ def __init__(self, baseui, path=None, create=0): repo.repository.__init__(self) - self.root = os.path.realpath(path) + self.root = os.path.realpath(util.expandpath(path)) self.path = os.path.join(self.root, ".hg") self.origroot = path self.opener = util.opener(self.path) diff -r e0a0af140f2e -r 17031fea4e95 tests/test-schemes --- a/tests/test-schemes Tue May 11 20:13:52 2010 +0200 +++ b/tests/test-schemes Mon Dec 07 12:31:45 2009 +0200 @@ -7,6 +7,7 @@ [schemes] l = http://localhost:$HGPORT/ parts = http://{1}:$HGPORT/ +z = file:\$PWD/ EOF hg init test @@ -22,5 +23,8 @@ echo % check that {1} syntax works hg incoming --debug parts://localhost | sed 's/[0-9]//g' +echo % check that paths are expanded +PWD=`pwd` hg incoming z:// + echo % errors cat errors.log diff -r e0a0af140f2e -r 17031fea4e95 tests/test-schemes.out --- a/tests/test-schemes.out Tue May 11 20:13:52 2010 +0200 +++ b/tests/test-schemes.out Mon Dec 07 12:31:45 2009 +0200 @@ -9,4 +9,8 @@ sending heads command searching for changes no changes found +% check that paths are expanded +comparing with z:// +searching for changes +no changes found % errors