equal
deleted
inserted
replaced
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''' |