Mercurial > hg
changeset 35033:d3d35a55e03b stable
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.
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Sat, 11 Nov 2017 17:55:15 +0900 |
parents | cd235d6f851b |
children | 02845f7441af |
files | mercurial/chgserver.py mercurial/dispatch.py |
diffstat | 2 files changed, 7 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/chgserver.py Sat Nov 11 16:46:41 2017 +0900 +++ b/mercurial/chgserver.py Sat Nov 11 17:55:15 2017 +0900 @@ -235,6 +235,7 @@ 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)
--- a/mercurial/dispatch.py Sat Nov 11 16:46:41 2017 +0900 +++ b/mercurial/dispatch.py Sat Nov 11 17:55:15 2017 +0900 @@ -787,8 +787,8 @@ 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 @@ # 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 @@ 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: