equal
deleted
inserted
replaced
3 # Copyright 2009-2010 Matt Mackall <mpm@selenic.com> |
3 # Copyright 2009-2010 Matt Mackall <mpm@selenic.com> |
4 # |
4 # |
5 # This software may be used and distributed according to the terms of the |
5 # This software may be used and distributed according to the terms of the |
6 # GNU General Public License version 2 or any later version. |
6 # GNU General Public License version 2 or any later version. |
7 |
7 |
8 import errno, os, re, xml.dom.minidom, shutil |
8 import errno, os, re, xml.dom.minidom, shutil, urlparse, posixpath |
9 from i18n import _ |
9 from i18n import _ |
10 import config, util, node, error |
10 import config, util, node, error |
11 hg = None |
11 hg = None |
12 |
12 |
13 nullstate = ('', '', 'empty') |
13 nullstate = ('', '', 'empty') |
133 return source |
133 return source |
134 parent = _abssource(repo._subparent, push) |
134 parent = _abssource(repo._subparent, push) |
135 if '://' in parent: |
135 if '://' in parent: |
136 if parent[-1] == '/': |
136 if parent[-1] == '/': |
137 parent = parent[:-1] |
137 parent = parent[:-1] |
138 return parent + '/' + source |
138 r = urlparse.urlparse(parent + '/' + source) |
139 return os.path.join(parent, repo._subsource) |
139 r = urlparse.urlunparse((r[0], r[1], |
|
140 posixpath.normpath(r.path), |
|
141 r[3], r[4], r[5])) |
|
142 return r |
|
143 return posixpath.normpath(os.path.join(parent, repo._subsource)) |
140 if push and repo.ui.config('paths', 'default-push'): |
144 if push and repo.ui.config('paths', 'default-push'): |
141 return repo.ui.config('paths', 'default-push', repo.root) |
145 return repo.ui.config('paths', 'default-push', repo.root) |
142 return repo.ui.config('paths', 'default', repo.root) |
146 return repo.ui.config('paths', 'default', repo.root) |
143 |
147 |
144 def subrepo(ctx, path): |
148 def subrepo(ctx, path): |