changeset 11154:17031fea4e95 stable

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).
author Alexander Solovyov <piranha@piranha.org.ua>
date Mon, 07 Dec 2009 12:31:45 +0200
parents e0a0af140f2e
children b203a95fe68b fdcf80f26604
files mercurial/bundlerepo.py mercurial/hg.py mercurial/localrepo.py tests/test-schemes tests/test-schemes.out
diffstat 5 files changed, 12 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- 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
 
--- 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:
--- 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)
--- 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
--- 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