--- a/mercurial/subrepo.py Fri May 07 14:14:41 2010 -0500
+++ b/mercurial/subrepo.py Sat May 01 23:05:19 2010 +0200
@@ -5,7 +5,7 @@
# This software may be used and distributed according to the terms of the
# GNU General Public License version 2 or any later version.
-import errno, os, re, xml.dom.minidom, shutil
+import errno, os, re, xml.dom.minidom, shutil, urlparse, posixpath
from i18n import _
import config, util, node, error
hg = None
@@ -135,8 +135,12 @@
if '://' in parent:
if parent[-1] == '/':
parent = parent[:-1]
- return parent + '/' + source
- return os.path.join(parent, repo._subsource)
+ r = urlparse.urlparse(parent + '/' + source)
+ r = urlparse.urlunparse((r[0], r[1],
+ posixpath.normpath(r.path),
+ r[3], r[4], r[5]))
+ return r
+ return posixpath.normpath(os.path.join(parent, repo._subsource))
if push and repo.ui.config('paths', 'default-push'):
return repo.ui.config('paths', 'default-push', repo.root)
return repo.ui.config('paths', 'default', repo.root)