Mercurial > hg
diff mercurial/dispatch.py @ 22376:d821fff9b0b9 stable
dispatch: make "_checkshellalias" reusable regardless of adding aliases
To reduce changes in the subsequent patch fixing issue4355, this patch
makes "_checkshellalias" reusable regardless of adding aliases.
In this patch, alias definitions are added and restored, only when
"precheck=True".
author | FUJIWARA Katsunori <foozy@lares.dti.ne.jp> |
---|---|
date | Wed, 10 Sep 2014 00:41:44 +0900 |
parents | af15de6775c7 |
children | f98abe3146b2 |
line wrap: on
line diff
--- a/mercurial/dispatch.py Wed Sep 03 20:42:51 2014 +0200 +++ b/mercurial/dispatch.py Wed Sep 10 00:41:44 2014 +0900 @@ -627,7 +627,12 @@ return path, lui -def _checkshellalias(lui, ui, args): +def _checkshellalias(lui, ui, args, precheck=True): + """Return the function to run the shell alias, if it is required + + 'precheck' is whether this function is invoked before adding + aliases or not. + """ options = {} try: @@ -638,14 +643,18 @@ if not args: return - norepo = commands.norepo - optionalrepo = commands.optionalrepo - def restorecommands(): - commands.norepo = norepo - commands.optionalrepo = optionalrepo - - cmdtable = commands.table.copy() - addaliases(lui, cmdtable) + if precheck: + norepo = commands.norepo + optionalrepo = commands.optionalrepo + def restorecommands(): + commands.norepo = norepo + commands.optionalrepo = optionalrepo + cmdtable = commands.table.copy() + addaliases(lui, cmdtable) + else: + def restorecommands(): + pass + cmdtable = commands.table cmd = args[0] try: