help: let 'hg help debug' show the list of secret debug commands
The names of the debug commands are not easy to remember and they are not easy
to find.
--- a/mercurial/help.py Fri Feb 28 02:09:00 2014 +0100
+++ b/mercurial/help.py Sat Mar 15 16:14:04 2014 +0100
@@ -311,6 +311,8 @@
# list of commands
if name == "shortlist":
header = _('basic commands:\n\n')
+ elif name == "debug":
+ header = _('debug commands (internal and unsupported):\n\n')
else:
header = _('list of commands:\n\n')
@@ -326,7 +328,7 @@
if name == "shortlist" and not f.startswith("^"):
continue
f = f.lstrip("^")
- if not ui.debugflag and f.startswith("debug"):
+ if not ui.debugflag and f.startswith("debug") and name != "debug":
continue
doc = e[0].__doc__
if doc and 'DEPRECATED' in doc and not ui.verbose:
--- a/tests/test-help.t Fri Feb 28 02:09:00 2014 +0100
+++ b/tests/test-help.t Sat Mar 15 16:14:04 2014 +0100
@@ -782,6 +782,67 @@
use "hg -v help" to show builtin aliases and global options
+Test list of internal help commands
+
+ $ hg help debug
+ debug commands (internal and unsupported):
+
+ debugancestor
+ find the ancestor revision of two revisions in a given index
+ debugbuilddag
+ builds a repo with a given DAG from scratch in the current
+ empty repo
+ debugbundle lists the contents of a bundle
+ debugcheckstate
+ validate the correctness of the current dirstate
+ debugcommands
+ list all available commands and options
+ debugcomplete
+ returns the completion list associated with the given command
+ debugdag format the changelog or an index DAG as a concise textual
+ description
+ debugdata dump the contents of a data file revision
+ debugdate parse and display a date
+ debugdirstate
+ show the contents of the current dirstate
+ debugdiscovery
+ runs the changeset discovery protocol in isolation
+ debugfileset parse and apply a fileset specification
+ debugfsinfo show information detected about current filesystem
+ debuggetbundle
+ retrieves a bundle from a repo
+ debugignore display the combined ignore pattern
+ debugindex dump the contents of an index file
+ debugindexdot
+ dump an index DAG as a graphviz dot file
+ debuginstall test Mercurial installation
+ debugknown test whether node ids are known to a repo
+ debuglabelcomplete
+ complete "labels" - tags, open branch names, bookmark names
+ debugobsolete
+ create arbitrary obsolete marker
+ debugoptDEP (no help text available)
+ debugpathcomplete
+ complete part or all of a tracked path
+ debugpushkey access the pushkey key/value protocol
+ debugpvec (no help text available)
+ debugrebuilddirstate
+ rebuild the dirstate as it would look like for the given
+ revision
+ debugrename dump rename information
+ debugrevlog show data and statistics about a revlog
+ debugrevspec parse and apply a revision specification
+ debugsetparents
+ manually set the parents of the current working directory
+ debugsub (no help text available)
+ debugsuccessorssets
+ show set of successors for revision
+ debugwalk show how files match on given patterns
+ debugwireargs
+ (no help text available)
+
+ use "hg -v help debug" to show builtin aliases and global options
+
Test list of commands with command with no help text