mercurial/subrepo.py
branchstable
changeset 13912 71ea5b2b9517
parent 13692 a7c9735307bd
child 13913 d3f90ff904b8
child 14025 1052b1421a48
equal deleted inserted replaced
13905:08d49b6b8d32 13912:71ea5b2b9517
   200         if parent:
   200         if parent:
   201             if '://' in parent:
   201             if '://' in parent:
   202                 if parent[-1] == '/':
   202                 if parent[-1] == '/':
   203                     parent = parent[:-1]
   203                     parent = parent[:-1]
   204                 r = urlparse.urlparse(parent + '/' + source)
   204                 r = urlparse.urlparse(parent + '/' + source)
   205                 r = urlparse.urlunparse((r[0], r[1],
   205                 if parent.startswith('ssh://'):
   206                                          posixpath.normpath(r[2]),
   206                     host, path = r[2][2:].split('/', 1)
       
   207                     r2 = '//%s/%s' % (host, posixpath.normpath(path))
       
   208                 else:
       
   209                     r2 = posixpath.normpath(r[2])
       
   210                 r = urlparse.urlunparse((r[0], r[1], r2,
   207                                          r[3], r[4], r[5]))
   211                                          r[3], r[4], r[5]))
   208                 return r
   212                 return r
   209             else: # plain file system path
   213             else: # plain file system path
   210                 return posixpath.normpath(os.path.join(parent, repo._subsource))
   214                 return posixpath.normpath(os.path.join(parent, repo._subsource))
   211     else: # recursion reached top repo
   215     else: # recursion reached top repo