Mercurial > hg-stable
diff mercurial/dispatch.py @ 11695:ee8f36a6c766
alias: improved diagnostic when arguments include --cwd, etc.
The logic pre-emptively checks for -R, --repo, --repository and --cwd
in order to give the user a more helpful error message. In addition,
each option is handled invididually, which avoids listing them all in
the error.
Before:
% hg --config alias.broken='push --cwd /dev/null' broken
abort: Option --cwd may not be abbreviated!
After:
% hg --config alias.broken='push --cwd /dev/null' broken
error in definition for alias 'broken': --cwd may only be given on the command line
author | Dan Villiom Podlaski Christiansen <danchr@gmail.com> |
---|---|
date | Tue, 27 Jul 2010 14:43:40 +0200 |
parents | c5e555e064d0 |
children | 708291e9389c |
line wrap: on
line diff
--- a/mercurial/dispatch.py Tue Jul 27 20:50:09 2010 +0530 +++ b/mercurial/dispatch.py Tue Jul 27 14:43:40 2010 +0200 @@ -223,6 +223,18 @@ cmd = args.pop(0) args = map(util.expandpath, args) + for invalidarg in ("--cwd", "-R", "--repository", "--repo"): + if _earlygetopt([invalidarg], args): + def fn(ui, *args): + ui.warn(_("error in definition for alias '%s': %s may only " + "be given on the command line\n") + % (self.name, invalidarg)) + return 1 + + self.fn = fn + self.badalias = True + return + try: tableentry = cmdutil.findcmd(cmd, cmdtable, False)[1] if len(tableentry) > 2: