mirror of
https://github.com/facebook/sapling.git
synced 2024-10-06 23:07:18 +03:00
hgweb: generate HTML documentation
It's generated from the raw ReST source, as returned from help.help_().
This commit is contained in:
parent
3950055bca
commit
9e387ff40b
@ -60,6 +60,8 @@ In addition to filters, there are some basic built-in functions:
|
||||
|
||||
- sub(pat, repl, expr)
|
||||
|
||||
- rstdoc(text, style)
|
||||
|
||||
Also, for any expression that returns a list, there is a list operator:
|
||||
|
||||
- expr % "{template}"
|
||||
|
@ -993,11 +993,9 @@ def help(web, req, tmpl):
|
||||
othercommands=othercommands, title='Index')
|
||||
|
||||
u = webutil.wsgiui()
|
||||
u.pushbuffer()
|
||||
u.verbose = True
|
||||
try:
|
||||
commands.help_(u, topicname)
|
||||
doc = helpmod.help_(u, topicname)
|
||||
except error.UnknownCommand:
|
||||
raise ErrorResponse(HTTP_NOT_FOUND)
|
||||
doc = u.popbuffer()
|
||||
return tmpl('help', topic=topicname, doc=doc)
|
||||
|
@ -9,6 +9,7 @@ from i18n import _
|
||||
import sys, os, re
|
||||
import util, config, templatefilters, parser, error
|
||||
import types
|
||||
import minirst
|
||||
|
||||
# template parsing
|
||||
|
||||
@ -287,6 +288,16 @@ def label(context, mapping, args):
|
||||
t = stringify(args[1][0](context, mapping, args[1][1]))
|
||||
yield runtemplate(context, mapping, compiletemplate(t, context))
|
||||
|
||||
def rstdoc(context, mapping, args):
|
||||
if len(args) != 2:
|
||||
# i18n: "rstdoc" is a keyword
|
||||
raise error.ParseError(_("rstdoc expects two arguments"))
|
||||
|
||||
text = stringify(args[0][0](context, mapping, args[0][1]))
|
||||
style = stringify(args[1][0](context, mapping, args[1][1]))
|
||||
|
||||
return minirst.format(text, style=style)
|
||||
|
||||
methods = {
|
||||
"string": lambda e, c: (runstring, e[1]),
|
||||
"symbol": lambda e, c: (runsymbol, e[1]),
|
||||
@ -303,6 +314,7 @@ funcs = {
|
||||
"ifeq": ifeq,
|
||||
"join": join,
|
||||
"label": label,
|
||||
"rstdoc": rstdoc,
|
||||
"sub": sub,
|
||||
}
|
||||
|
||||
|
@ -27,8 +27,8 @@ help
|
||||
|
||||
<div class="title"> </div>
|
||||
|
||||
<pre>
|
||||
{doc|escape}
|
||||
</pre>
|
||||
<div id="doc">
|
||||
{rstdoc(doc, "html")}
|
||||
</div>
|
||||
|
||||
{footer}
|
||||
|
@ -31,8 +31,8 @@
|
||||
</div>
|
||||
|
||||
<h2 class="no-link no-border">branches</h2>
|
||||
<pre>
|
||||
{doc|escape}
|
||||
</pre>
|
||||
<div id="doc">
|
||||
{rstdoc(doc, "html")}
|
||||
</div>
|
||||
|
||||
{footer}
|
||||
|
@ -31,9 +31,9 @@
|
||||
<div id="hint">find changesets by author, revision,
|
||||
files, or words in the commit message</div>
|
||||
</form>
|
||||
<pre>
|
||||
{doc|escape}
|
||||
</pre>
|
||||
<div id="doc">
|
||||
{rstdoc(doc, "html")}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
@ -1503,65 +1503,65 @@ Dish up an empty repo; serve it cold.
|
||||
<div id="hint">find changesets by author, revision,
|
||||
files, or words in the commit message</div>
|
||||
</form>
|
||||
<pre>
|
||||
<div id="doc">
|
||||
<p>
|
||||
hg add [OPTION]... [FILE]...
|
||||
|
||||
</p>
|
||||
<p>
|
||||
add the specified files on the next commit
|
||||
|
||||
Schedule files to be version controlled and added to the repository.
|
||||
|
||||
The files will be added to the repository at the next commit. To undo an
|
||||
add before that, see "hg forget".
|
||||
|
||||
If no names are given, add all files to the repository.
|
||||
|
||||
An example showing how new (unknown) files are added automatically by "hg
|
||||
add":
|
||||
|
||||
$ ls
|
||||
foo.c
|
||||
$ hg status
|
||||
? foo.c
|
||||
$ hg add
|
||||
adding foo.c
|
||||
$ hg status
|
||||
A foo.c
|
||||
|
||||
Returns 0 if all files are successfully added.
|
||||
|
||||
</p>
|
||||
<p>
|
||||
Schedule files to be version controlled and added to the
|
||||
repository.
|
||||
</p>
|
||||
<p>
|
||||
The files will be added to the repository at the next commit. To
|
||||
undo an add before that, see "hg forget".
|
||||
</p>
|
||||
<p>
|
||||
If no names are given, add all files to the repository.
|
||||
</p>
|
||||
<p>
|
||||
Returns 0 if all files are successfully added.
|
||||
</p>
|
||||
<p>
|
||||
options:
|
||||
|
||||
-I --include PATTERN [+] include names matching the given patterns
|
||||
-X --exclude PATTERN [+] exclude names matching the given patterns
|
||||
-S --subrepos recurse into subrepositories
|
||||
-n --dry-run do not perform actions, just print output
|
||||
|
||||
</p>
|
||||
<table>
|
||||
<tr><th>-I</th><th>--include PATTERN [+]</th><th>include names matching the given patterns</th></tr>
|
||||
<tr><td>-X</td><td>--exclude PATTERN [+]</td><td>exclude names matching the given patterns</td></tr>
|
||||
<tr><td>-S</td><td>--subrepos</td><td>recurse into subrepositories</td></tr>
|
||||
<tr><td>-n</td><td>--dry-run</td><td>do not perform actions, just print output</td></tr>
|
||||
</table>
|
||||
<p>
|
||||
[+] marked option can be specified multiple times
|
||||
|
||||
</p>
|
||||
<p>
|
||||
global options:
|
||||
|
||||
-R --repository REPO repository root directory or name of overlay bundle
|
||||
file
|
||||
--cwd DIR change working directory
|
||||
-y --noninteractive do not prompt, automatically pick the first choice for
|
||||
all prompts
|
||||
-q --quiet suppress output
|
||||
-v --verbose enable additional output
|
||||
--config CONFIG [+] set/override config option (use 'section.name=value')
|
||||
--debug enable debugging output
|
||||
--debugger start debugger
|
||||
--encoding ENCODE set the charset encoding (default: ascii)
|
||||
--encodingmode MODE set the charset encoding mode (default: strict)
|
||||
--traceback always print a traceback on exception
|
||||
--time time how long the command takes
|
||||
--profile print command execution profile
|
||||
--version output version information and exit
|
||||
-h --help display help and exit
|
||||
--hidden consider hidden changesets
|
||||
|
||||
</p>
|
||||
<table>
|
||||
<tr><th>-R</th><th>--repository REPO</th><th>repository root directory or name of overlay bundle file</th></tr>
|
||||
<tr><td></td><td>--cwd DIR</td><td>change working directory</td></tr>
|
||||
<tr><td>-y</td><td>--noninteractive</td><td>do not prompt, automatically pick the first choice for all prompts</td></tr>
|
||||
<tr><td>-q</td><td>--quiet</td><td>suppress output</td></tr>
|
||||
<tr><td>-v</td><td>--verbose</td><td>enable additional output</td></tr>
|
||||
<tr><td></td><td>--config CONFIG [+]</td><td>set/override config option (use 'section.name=value')</td></tr>
|
||||
<tr><td></td><td>--debug</td><td>enable debugging output</td></tr>
|
||||
<tr><td></td><td>--debugger</td><td>start debugger</td></tr>
|
||||
<tr><td></td><td>--encoding ENCODE</td><td>set the charset encoding (default: ascii)</td></tr>
|
||||
<tr><td></td><td>--encodingmode MODE</td><td>set the charset encoding mode (default: strict)</td></tr>
|
||||
<tr><td></td><td>--traceback</td><td>always print a traceback on exception</td></tr>
|
||||
<tr><td></td><td>--time</td><td>time how long the command takes</td></tr>
|
||||
<tr><td></td><td>--profile</td><td>print command execution profile</td></tr>
|
||||
<tr><td></td><td>--version</td><td>output version information and exit</td></tr>
|
||||
<tr><td>-h</td><td>--help</td><td>display help and exit</td></tr>
|
||||
<tr><td></td><td>--hidden</td><td>consider hidden changesets</td></tr>
|
||||
</table>
|
||||
<p>
|
||||
[+] marked option can be specified multiple times
|
||||
</p>
|
||||
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -1615,74 +1615,65 @@ Dish up an empty repo; serve it cold.
|
||||
<div id="hint">find changesets by author, revision,
|
||||
files, or words in the commit message</div>
|
||||
</form>
|
||||
<pre>
|
||||
<div id="doc">
|
||||
<p>
|
||||
hg remove [OPTION]... FILE...
|
||||
|
||||
</p>
|
||||
<p>
|
||||
aliases: rm
|
||||
|
||||
</p>
|
||||
<p>
|
||||
remove the specified files on the next commit
|
||||
|
||||
Schedule the indicated files for removal from the current branch.
|
||||
|
||||
This command schedules the files to be removed at the next commit. To undo
|
||||
a remove before that, see "hg revert". To undo added files, see "hg
|
||||
forget".
|
||||
|
||||
-A/--after can be used to remove only files that have already been
|
||||
deleted, -f/--force can be used to force deletion, and -Af can be used to
|
||||
remove files from the next revision without deleting them from the working
|
||||
directory.
|
||||
|
||||
The following table details the behavior of remove for different file
|
||||
states (columns) and option combinations (rows). The file states are Added
|
||||
[A], Clean [C], Modified [M] and Missing [!] (as reported by "hg status").
|
||||
The actions are Warn, Remove (from branch) and Delete (from disk):
|
||||
|
||||
A C M !
|
||||
--------------
|
||||
none W RD W R
|
||||
-f R RD RD R
|
||||
-A W W W R
|
||||
-Af R R R R
|
||||
|
||||
Note that remove never deletes files in Added [A] state from the working
|
||||
directory, not even if option --force is specified.
|
||||
|
||||
Returns 0 on success, 1 if any warnings encountered.
|
||||
|
||||
</p>
|
||||
<p>
|
||||
Schedule the indicated files for removal from the current branch.
|
||||
</p>
|
||||
<p>
|
||||
This command schedules the files to be removed at the next commit.
|
||||
To undo a remove before that, see "hg revert". To undo added
|
||||
files, see "hg forget".
|
||||
</p>
|
||||
<p>
|
||||
Returns 0 on success, 1 if any warnings encountered.
|
||||
</p>
|
||||
<p>
|
||||
options:
|
||||
|
||||
-A --after record delete for missing files
|
||||
-f --force remove (and delete) file even if added or modified
|
||||
-I --include PATTERN [+] include names matching the given patterns
|
||||
-X --exclude PATTERN [+] exclude names matching the given patterns
|
||||
|
||||
</p>
|
||||
<table>
|
||||
<tr><th>-A</th><th>--after</th><th>record delete for missing files</th></tr>
|
||||
<tr><td>-f</td><td>--force</td><td>remove (and delete) file even if added or modified</td></tr>
|
||||
<tr><td>-I</td><td>--include PATTERN [+]</td><td>include names matching the given patterns</td></tr>
|
||||
<tr><td>-X</td><td>--exclude PATTERN [+]</td><td>exclude names matching the given patterns</td></tr>
|
||||
</table>
|
||||
<p>
|
||||
[+] marked option can be specified multiple times
|
||||
|
||||
</p>
|
||||
<p>
|
||||
global options:
|
||||
|
||||
-R --repository REPO repository root directory or name of overlay bundle
|
||||
file
|
||||
--cwd DIR change working directory
|
||||
-y --noninteractive do not prompt, automatically pick the first choice for
|
||||
all prompts
|
||||
-q --quiet suppress output
|
||||
-v --verbose enable additional output
|
||||
--config CONFIG [+] set/override config option (use 'section.name=value')
|
||||
--debug enable debugging output
|
||||
--debugger start debugger
|
||||
--encoding ENCODE set the charset encoding (default: ascii)
|
||||
--encodingmode MODE set the charset encoding mode (default: strict)
|
||||
--traceback always print a traceback on exception
|
||||
--time time how long the command takes
|
||||
--profile print command execution profile
|
||||
--version output version information and exit
|
||||
-h --help display help and exit
|
||||
--hidden consider hidden changesets
|
||||
|
||||
</p>
|
||||
<table>
|
||||
<tr><th>-R</th><th>--repository REPO</th><th>repository root directory or name of overlay bundle file</th></tr>
|
||||
<tr><td></td><td>--cwd DIR</td><td>change working directory</td></tr>
|
||||
<tr><td>-y</td><td>--noninteractive</td><td>do not prompt, automatically pick the first choice for all prompts</td></tr>
|
||||
<tr><td>-q</td><td>--quiet</td><td>suppress output</td></tr>
|
||||
<tr><td>-v</td><td>--verbose</td><td>enable additional output</td></tr>
|
||||
<tr><td></td><td>--config CONFIG [+]</td><td>set/override config option (use 'section.name=value')</td></tr>
|
||||
<tr><td></td><td>--debug</td><td>enable debugging output</td></tr>
|
||||
<tr><td></td><td>--debugger</td><td>start debugger</td></tr>
|
||||
<tr><td></td><td>--encoding ENCODE</td><td>set the charset encoding (default: ascii)</td></tr>
|
||||
<tr><td></td><td>--encodingmode MODE</td><td>set the charset encoding mode (default: strict)</td></tr>
|
||||
<tr><td></td><td>--traceback</td><td>always print a traceback on exception</td></tr>
|
||||
<tr><td></td><td>--time</td><td>time how long the command takes</td></tr>
|
||||
<tr><td></td><td>--profile</td><td>print command execution profile</td></tr>
|
||||
<tr><td></td><td>--version</td><td>output version information and exit</td></tr>
|
||||
<tr><td>-h</td><td>--help</td><td>display help and exit</td></tr>
|
||||
<tr><td></td><td>--hidden</td><td>consider hidden changesets</td></tr>
|
||||
</table>
|
||||
<p>
|
||||
[+] marked option can be specified multiple times
|
||||
</p>
|
||||
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -1736,38 +1727,50 @@ Dish up an empty repo; serve it cold.
|
||||
<div id="hint">find changesets by author, revision,
|
||||
files, or words in the commit message</div>
|
||||
</form>
|
||||
<pre>
|
||||
<div id="doc">
|
||||
<p>
|
||||
Specifying Single Revisions
|
||||
</p>
|
||||
<p>
|
||||
Mercurial supports several ways to specify individual revisions.
|
||||
</p>
|
||||
<p>
|
||||
A plain integer is treated as a revision number. Negative integers are
|
||||
treated as sequential offsets from the tip, with -1 denoting the tip,
|
||||
-2 denoting the revision prior to the tip, and so forth.
|
||||
</p>
|
||||
<p>
|
||||
A 40-digit hexadecimal string is treated as a unique revision
|
||||
identifier.
|
||||
</p>
|
||||
<p>
|
||||
A hexadecimal string less than 40 characters long is treated as a
|
||||
unique revision identifier and is referred to as a short-form
|
||||
identifier. A short-form identifier is only valid if it is the prefix
|
||||
of exactly one full-length identifier.
|
||||
</p>
|
||||
<p>
|
||||
Any other string is treated as a bookmark, tag, or branch name. A
|
||||
bookmark is a movable pointer to a revision. A tag is a permanent name
|
||||
associated with a revision. A branch name denotes the tipmost revision
|
||||
of that branch. Bookmark, tag, and branch names must not contain the ":"
|
||||
character.
|
||||
</p>
|
||||
<p>
|
||||
The reserved name "tip" always identifies the most recent revision.
|
||||
</p>
|
||||
<p>
|
||||
The reserved name "null" indicates the null revision. This is the
|
||||
revision of an empty repository, and the parent of revision 0.
|
||||
</p>
|
||||
<p>
|
||||
The reserved name "." indicates the working directory parent. If no
|
||||
working directory is checked out, it is equivalent to null. If an
|
||||
uncommitted merge is in progress, "." is the revision of the first
|
||||
parent.
|
||||
</p>
|
||||
|
||||
Mercurial supports several ways to specify individual revisions.
|
||||
|
||||
A plain integer is treated as a revision number. Negative integers are
|
||||
treated as sequential offsets from the tip, with -1 denoting the tip, -2
|
||||
denoting the revision prior to the tip, and so forth.
|
||||
|
||||
A 40-digit hexadecimal string is treated as a unique revision identifier.
|
||||
|
||||
A hexadecimal string less than 40 characters long is treated as a unique
|
||||
revision identifier and is referred to as a short-form identifier. A
|
||||
short-form identifier is only valid if it is the prefix of exactly one
|
||||
full-length identifier.
|
||||
|
||||
Any other string is treated as a bookmark, tag, or branch name. A bookmark
|
||||
is a movable pointer to a revision. A tag is a permanent name associated
|
||||
with a revision. A branch name denotes the tipmost revision of that
|
||||
branch. Bookmark, tag, and branch names must not contain the ":"
|
||||
character.
|
||||
|
||||
The reserved name "tip" always identifies the most recent revision.
|
||||
|
||||
The reserved name "null" indicates the null revision. This is the revision
|
||||
of an empty repository, and the parent of revision 0.
|
||||
|
||||
The reserved name "." indicates the working directory parent. If no
|
||||
working directory is checked out, it is equivalent to null. If an
|
||||
uncommitted merge is in progress, "." is the revision of the first parent.
|
||||
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user