mercurial/hg.py
changeset 49692 ebb5e38fdafc
parent 49691 c0acf5440fe1
child 49693 c4731eee1c8f
equal deleted inserted replaced
49691:c0acf5440fe1 49692:ebb5e38fdafc
   229     presetupfuncs=None,
   229     presetupfuncs=None,
   230     intents=None,
   230     intents=None,
   231     createopts=None,
   231     createopts=None,
   232 ):
   232 ):
   233     """return a repository object for the specified path"""
   233     """return a repository object for the specified path"""
   234     peer = _peerorrepo(
   234     scheme = urlutil.url(path).scheme
       
   235     if scheme is None:
       
   236         scheme = b'file'
       
   237     cls = repo_schemes.get(scheme)
       
   238     if cls is None:
       
   239         if scheme in peer_schemes:
       
   240             raise error.Abort(_(b"repository '%s' is not local") % path)
       
   241         cls = LocalFactory
       
   242     repo = cls.instance(
   235         ui,
   243         ui,
   236         path,
   244         path,
   237         create,
   245         create,
   238         presetupfuncs=presetupfuncs,
       
   239         intents=intents,
   246         intents=intents,
   240         createopts=createopts,
   247         createopts=createopts,
   241     )
   248     )
   242     repo = peer.local()
   249     _setup_repo_or_peer(ui, repo, presetupfuncs=presetupfuncs)
   243     if not repo:
       
   244         raise error.Abort(
       
   245             _(b"repository '%s' is not local") % (path or peer.url())
       
   246         )
       
   247     return repo.filtered(b'visible')
   250     return repo.filtered(b'visible')
   248 
   251 
   249 
   252 
   250 def peer(uiorrepo, opts, path, create=False, intents=None, createopts=None):
   253 def peer(uiorrepo, opts, path, create=False, intents=None, createopts=None):
   251     '''return a repository peer for the specified path'''
   254     '''return a repository peer for the specified path'''