mirror of
https://github.com/facebook/sapling.git
synced 2024-10-07 15:27:13 +03:00
dispatch: convert non-list option parsed by _earlygetopt() to string
So we can easily compare it with the corresponding getopt() result. There's a minor behavior change. Before, "hg --cwd ''" failed with ENOENT. But with this patch, an empty cwd is silently ignored. "hg -R ''" has always worked as such, so -R has no BC.
This commit is contained in:
parent
f9dd555dd4
commit
fccba4aa77
@ -235,6 +235,7 @@ def _loadnewui(srcui, args):
|
||||
cwds = dispatch._earlygetopt(['--cwd'], args)
|
||||
cwd = cwds and os.path.realpath(cwds[-1]) or None
|
||||
rpath = dispatch._earlygetopt(["-R", "--repository", "--repo"], args)
|
||||
rpath = rpath and rpath[-1] or ''
|
||||
path, newlui = dispatch._getlocal(newui, rpath, wd=cwd)
|
||||
|
||||
return (newui, newlui)
|
||||
|
@ -787,8 +787,8 @@ def _getlocal(ui, rpath, wd=None):
|
||||
lui = ui.copy()
|
||||
lui.readconfig(os.path.join(path, ".hg", "hgrc"), path)
|
||||
|
||||
if rpath and rpath[-1]:
|
||||
path = lui.expandpath(rpath[-1])
|
||||
if rpath:
|
||||
path = lui.expandpath(rpath)
|
||||
lui = ui.copy()
|
||||
lui.readconfig(os.path.join(path, ".hg", "hgrc"), path)
|
||||
|
||||
@ -829,10 +829,12 @@ def _dispatch(req):
|
||||
|
||||
# check for cwd
|
||||
cwd = _earlygetopt(['--cwd'], args)
|
||||
cwd = cwd and cwd[-1] or ''
|
||||
if cwd:
|
||||
os.chdir(cwd[-1])
|
||||
os.chdir(cwd)
|
||||
|
||||
rpath = _earlygetopt(["-R", "--repository", "--repo"], args)
|
||||
rpath = rpath and rpath[-1] or ''
|
||||
path, lui = _getlocal(ui, rpath)
|
||||
|
||||
uis = {ui, lui}
|
||||
@ -971,7 +973,7 @@ def _dispatch(req):
|
||||
except error.RequirementError:
|
||||
raise
|
||||
except error.RepoError:
|
||||
if rpath and rpath[-1]: # invalid -R path
|
||||
if rpath: # invalid -R path
|
||||
raise
|
||||
if not func.optionalrepo:
|
||||
if func.inferrepo and args and not path:
|
||||
|
Loading…
Reference in New Issue
Block a user