[PATCH 2 of 4 STABLE] dispatch: extract stub function to peek boolean command option
Yuya Nishihara
yuya at tcha.org
Sat Nov 11 10:02:47 EST 2017
# HG changeset patch
# User Yuya Nishihara <yuya at tcha.org>
# Date 1510320159 -32400
# Fri Nov 10 22:22:39 2017 +0900
# Branch stable
# Node ID e8c581ae8e8835cf7fc83e749a84919aea11f63a
# Parent ffd80f114a5568161658da273af2942f471e05bc
dispatch: extract stub function to peek boolean command option
We should at least stop parsing at "--". The 'name' argument is passed for
future extension.
diff --git a/mercurial/dispatch.py b/mercurial/dispatch.py
--- a/mercurial/dispatch.py
+++ b/mercurial/dispatch.py
@@ -147,7 +147,7 @@ def dispatch(req):
try:
if not req.ui:
req.ui = uimod.ui.load()
- if '--traceback' in req.args:
+ if _earlyreqoptbool(req, 'traceback', ['--traceback']):
req.ui.setconfig('ui', 'traceback', 'on', '--traceback')
# set ui streams from the request
@@ -275,7 +275,7 @@ def _runcatch(req):
if not debugger or ui.plain():
# if we are in HGPLAIN mode, then disable custom debugging
debugger = 'pdb'
- elif '--debugger' in req.args:
+ elif _earlyreqoptbool(req, 'debugger', ['--debugger']):
# This import can be slow for fancy debuggers, so only
# do it when absolutely necessary, i.e. when actual
# debugging has been requested
@@ -289,7 +289,7 @@ def _runcatch(req):
debugmortem[debugger] = debugmod.post_mortem
# enter the debugger before command execution
- if '--debugger' in req.args:
+ if _earlyreqoptbool(req, 'debugger', ['--debugger']):
ui.warn(_("entering debugger - "
"type c to continue starting hg or h for help\n"))
@@ -305,7 +305,7 @@ def _runcatch(req):
ui.flush()
except: # re-raises
# enter the debugger when we hit an exception
- if '--debugger' in req.args:
+ if _earlyreqoptbool(req, 'debugger', ['--debugger']):
traceback.print_exc()
debugmortem[debugger](sys.exc_info()[2])
raise
@@ -698,6 +698,10 @@ def _earlygetopt(aliases, args):
pos += 1
return values
+def _earlyreqoptbool(req, name, aliases):
+ assert len(aliases) == 1
+ return aliases[0] in req.args
+
def runcommand(lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions):
# run pre-hook, and abort if it fails
hook.hook(lui, repo, "pre-%s" % cmd, True, args=" ".join(fullargs),
@@ -785,7 +789,7 @@ def _dispatch(req):
if req.repo:
uis.add(req.repo.ui)
- if '--profile' in args:
+ if _earlyreqoptbool(req, 'profile', ['--profile']):
for ui_ in uis:
ui_.setconfig('profiling', 'enabled', 'true', '--profile')
More information about the Mercurial-devel
mailing list