# HG changeset patch # User Gregory Szorc # Date 2015-02-07 04:27:56 # Node ID a3f2ea1d49434ef5cdb124aa8bb6808129b414e6 # Parent afe03a616525c76b548f0160431b946a0cce9435 help: add web commands to help documentation The capabilities and URL endpoints of the hgweb server can currently only be inferred by looking at links in `hg serve` output or by reading the source code. I've frequently found myself wanting to quickly see what URLs and capabilities are available. This patch teaches the help system how to display information about web commands and their URLs. Using a mechanism similar to revsets, templates, etc, we can now iterate over the docstrings of registered web command functions and display them in the help output. Unfortunately, web commands don't currently have docstrings, so the output is currently empty. This will be addressed in the following patches. I apologize for the patch bomb. diff --git a/mercurial/help.py b/mercurial/help.py --- a/mercurial/help.py +++ b/mercurial/help.py @@ -11,6 +11,7 @@ import error import extensions, revset, fileset, templatekw, templatefilters, filemerge import encoding, util, minirst import cmdutil +import hgweb.webcommands as webcommands def listexts(header, exts, indent=1, showdeprecated=False): '''return a text listing of the given extensions''' @@ -202,6 +203,7 @@ addtopicsymbols('merge-tools', '.. inter addtopicsymbols('revsets', '.. predicatesmarker', revset.symbols) addtopicsymbols('templates', '.. keywordsmarker', templatekw.dockeywords) addtopicsymbols('templates', '.. filtersmarker', templatefilters.filters) +addtopicsymbols('hgweb', '.. webcommandsmarker', webcommands.commands) def help_(ui, name, unknowncmd=False, full=True, **opts): ''' diff --git a/mercurial/help/hgweb.txt b/mercurial/help/hgweb.txt --- a/mercurial/help/hgweb.txt +++ b/mercurial/help/hgweb.txt @@ -77,3 +77,10 @@ changeset to operate on. This is commonl 12 digit hexidecimal abbreviation for the full 40 character unique revision identifier. However, any value described by :hg:`help revisions` typically works. + +Commands and URLs +================= + +The following web commands and their URLs are available: + + .. webcommandsmarker