D6442: help: include subtopic in error message if passed
ngoldbaum (Nathan Goldbaum)
phabricator at mercurial-scm.org
Sat May 25 07:54:52 EDT 2019
ngoldbaum updated this revision to Diff 15259.
REPOSITORY
rHG Mercurial
CHANGES SINCE LAST UPDATE
https://phab.mercurial-scm.org/D6442?vs=15253&id=15259
REVISION DETAIL
https://phab.mercurial-scm.org/D6442
AFFECTED FILES
mercurial/help.py
tests/test-help.t
CHANGE DETAILS
diff --git a/tests/test-help.t b/tests/test-help.t
--- a/tests/test-help.t
+++ b/tests/test-help.t
@@ -1303,6 +1303,13 @@
*empty chunk* at the end of each *delta group* denotes the boundary to the
next filelog sub-segment.
+non-existent subtopics print an error
+
+ $ hg help internals.foo
+ abort: no such help topic: internals.foo
+ (try 'hg help --keyword foo')
+ [255]
+
test advanced, deprecated and experimental options are hidden in command help
$ hg help debugoptADV
hg debugoptADV
diff --git a/mercurial/help.py b/mercurial/help.py
--- a/mercurial/help.py
+++ b/mercurial/help.py
@@ -453,7 +453,7 @@
addtopichook('config', inserttweakrc)
def help_(ui, commands, name, unknowncmd=False, full=True, subtopic=None,
- **opts):
+ fullname=None, **opts):
'''
Generate the help for 'name' as unformatted restructured text. If
'name' is None, describe the commands available.
@@ -814,8 +814,16 @@
if unknowncmd:
raise error.UnknownCommand(name)
else:
- msg = _('no such help topic: %s') % name
- hint = _("try 'hg help --keyword %s'") % name
+ if fullname:
+ formatname = fullname
+ else:
+ formatname = name
+ if subtopic:
+ hintname = subtopic
+ else:
+ hintname = name
+ msg = _('no such help topic: %s') % formatname
+ hint = _("try 'hg help --keyword %s'") % hintname
raise error.Abort(msg, hint=hint)
else:
# program name
@@ -850,7 +858,7 @@
termwidth = ui.termwidth() - 2
if textwidth <= 0 or termwidth < textwidth:
textwidth = termwidth
- text = help_(ui, commands, name,
+ text = help_(ui, commands, name, fullname=fullname,
subtopic=subtopic, unknowncmd=unknowncmd, full=full, **opts)
blocks, pruned = minirst.parse(text, keep=keep)
To: ngoldbaum, #hg-reviewers
Cc: av6, mercurial-devel
More information about the Mercurial-devel
mailing list