--- a/tests/test-help.t Fri Mar 01 10:05:37 2013 -0600
+++ b/tests/test-help.t Fri Mar 01 19:42:42 2013 +0100
@@ -876,3 +876,397 @@
$ cd "$TESTDIR"/../doc
$ python check-seclevel.py
+ $ cd $TESTTMP
+
+#if serve
+
+Test the help pages in hgweb.
+
+Dish up an empty repo; serve it cold.
+
+ $ hg init "$TESTTMP/test"
+ $ hg serve -R "$TESTTMP/test" -n test -p $HGPORT -d --pid-file=hg.pid
+ $ cat hg.pid >> $DAEMON_PIDS
+
+ $ "$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT "help"
+ 200 Script output follows
+
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
+ <head>
+ <link rel="icon" href="/static/hgicon.png" type="image/png" />
+ <meta name="robots" content="index, nofollow" />
+ <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
+ <script type="text/javascript" src="/static/mercurial.js"></script>
+
+ <title>Help: Index</title>
+ </head>
+ <body>
+
+ <div class="container">
+ <div class="menu">
+ <div class="logo">
+ <a href="http://mercurial.selenic.com/">
+ <img src="/static/hglogo.png" alt="mercurial" /></a>
+ </div>
+ <ul>
+ <li><a href="/shortlog">log</a></li>
+ <li><a href="/graph">graph</a></li>
+ <li><a href="/tags">tags</a></li>
+ <li><a href="/bookmarks">bookmarks</a></li>
+ <li><a href="/branches">branches</a></li>
+ </ul>
+ <ul>
+ <li class="active">help</li>
+ </ul>
+ </div>
+
+ <div class="main">
+ <h2 class="breadcrumb"><a href="/">Mercurial</a> </h2>
+ <form class="search" action="/log">
+
+ <p><input name="rev" id="search1" type="text" size="30" /></p>
+ <div id="hint">find changesets by author, revision,
+ files, or words in the commit message</div>
+ </form>
+ <table class="bigtable">
+ <tr><td colspan="2"><h2><a name="main" href="#topics">Topics</a></h2></td></tr>
+ <tr><td><a href="/help/config">config</a></td><td>Configuration Files</td></tr><tr><td><a href="/help/dates">dates</a></td><td>Date Formats</td></tr><tr><td><a href="/help/diffs">diffs</a></td><td>Diff Formats</td></tr><tr><td><a href="/help/environment">environment</a></td><td>Environment Variables</td></tr><tr><td><a href="/help/extensions">extensions</a></td><td>Using Additional Features</td></tr><tr><td><a href="/help/filesets">filesets</a></td><td>Specifying File Sets</td></tr><tr><td><a href="/help/glossary">glossary</a></td><td>Glossary</td></tr><tr><td><a href="/help/hgignore">hgignore</a></td><td>Syntax for Mercurial Ignore Files</td></tr><tr><td><a href="/help/hgweb">hgweb</a></td><td>Configuring hgweb</td></tr><tr><td><a href="/help/merge-tools">merge-tools</a></td><td>Merge Tools</td></tr><tr><td><a href="/help/multirevs">multirevs</a></td><td>Specifying Multiple Revisions</td></tr><tr><td><a href="/help/patterns">patterns</a></td><td>File Name Patterns</td></tr><tr><td><a href="/help/phases">phases</a></td><td>Working with Phases</td></tr><tr><td><a href="/help/revisions">revisions</a></td><td>Specifying Single Revisions</td></tr><tr><td><a href="/help/revsets">revsets</a></td><td>Specifying Revision Sets</td></tr><tr><td><a href="/help/subrepos">subrepos</a></td><td>Subrepositories</td></tr><tr><td><a href="/help/templating">templating</a></td><td>Template Usage</td></tr><tr><td><a href="/help/urls">urls</a></td><td>URL Paths</td></tr><tr><td><a href="/help/topic-containing-verbose">topic-containing-verbose</a></td><td>This is the topic to test omit indicating.</td></tr>
+
+ <tr><td colspan="2"><h2><a name="main" href="#main">Main Commands</a></h2></td></tr>
+ <tr><td><a href="/help/add">add</a></td><td>add the specified files on the next commit</td></tr><tr><td><a href="/help/annotate">annotate</a></td><td>show changeset information by line for each file</td></tr><tr><td><a href="/help/clone">clone</a></td><td>make a copy of an existing repository</td></tr><tr><td><a href="/help/commit">commit</a></td><td>commit the specified files or all outstanding changes</td></tr><tr><td><a href="/help/diff">diff</a></td><td>diff repository (or selected files)</td></tr><tr><td><a href="/help/export">export</a></td><td>dump the header and diffs for one or more changesets</td></tr><tr><td><a href="/help/forget">forget</a></td><td>forget the specified files on the next commit</td></tr><tr><td><a href="/help/init">init</a></td><td>create a new repository in the given directory</td></tr><tr><td><a href="/help/log">log</a></td><td>show revision history of entire repository or files</td></tr><tr><td><a href="/help/merge">merge</a></td><td>merge working directory with another revision</td></tr><tr><td><a href="/help/pull">pull</a></td><td>pull changes from the specified source</td></tr><tr><td><a href="/help/push">push</a></td><td>push changes to the specified destination</td></tr><tr><td><a href="/help/remove">remove</a></td><td>remove the specified files on the next commit</td></tr><tr><td><a href="/help/serve">serve</a></td><td>start stand-alone webserver</td></tr><tr><td><a href="/help/status">status</a></td><td>show changed files in the working directory</td></tr><tr><td><a href="/help/summary">summary</a></td><td>summarize working directory state</td></tr><tr><td><a href="/help/update">update</a></td><td>update working directory (or switch revisions)</td></tr>
+
+ <tr><td colspan="2"><h2><a name="other" href="#other">Other Commands</a></h2></td></tr>
+ <tr><td><a href="/help/addremove">addremove</a></td><td>add all new files, delete all missing files</td></tr><tr><td><a href="/help/archive">archive</a></td><td>create an unversioned archive of a repository revision</td></tr><tr><td><a href="/help/backout">backout</a></td><td>reverse effect of earlier changeset</td></tr><tr><td><a href="/help/bisect">bisect</a></td><td>subdivision search of changesets</td></tr><tr><td><a href="/help/bookmarks">bookmarks</a></td><td>track a line of development with movable markers</td></tr><tr><td><a href="/help/branch">branch</a></td><td>set or show the current branch name</td></tr><tr><td><a href="/help/branches">branches</a></td><td>list repository named branches</td></tr><tr><td><a href="/help/bundle">bundle</a></td><td>create a changegroup file</td></tr><tr><td><a href="/help/cat">cat</a></td><td>output the current or given revision of files</td></tr><tr><td><a href="/help/copy">copy</a></td><td>mark files as copied for the next commit</td></tr><tr><td><a href="/help/graft">graft</a></td><td>copy changes from other branches onto the current branch</td></tr><tr><td><a href="/help/grep">grep</a></td><td>search for a pattern in specified files and revisions</td></tr><tr><td><a href="/help/heads">heads</a></td><td>show current repository heads or show branch heads</td></tr><tr><td><a href="/help/help">help</a></td><td>show help for a given topic or a help overview</td></tr><tr><td><a href="/help/identify">identify</a></td><td>identify the working copy or specified revision</td></tr><tr><td><a href="/help/import">import</a></td><td>import an ordered set of patches</td></tr><tr><td><a href="/help/incoming">incoming</a></td><td>show new changesets found in source</td></tr><tr><td><a href="/help/locate">locate</a></td><td>locate files matching specific patterns</td></tr><tr><td><a href="/help/manifest">manifest</a></td><td>output the current or given revision of the project manifest</td></tr><tr><td><a href="/help/nohelp">nohelp</a></td><td>(no help text available)</td></tr><tr><td><a href="/help/outgoing">outgoing</a></td><td>show changesets not found in the destination</td></tr><tr><td><a href="/help/parents">parents</a></td><td>show the parents of the working directory or revision</td></tr><tr><td><a href="/help/paths">paths</a></td><td>show aliases for remote repositories</td></tr><tr><td><a href="/help/phase">phase</a></td><td>set or show the current phase name</td></tr><tr><td><a href="/help/recover">recover</a></td><td>roll back an interrupted transaction</td></tr><tr><td><a href="/help/rename">rename</a></td><td>rename files; equivalent of copy + remove</td></tr><tr><td><a href="/help/resolve">resolve</a></td><td>redo merges or set/view the merge status of files</td></tr><tr><td><a href="/help/revert">revert</a></td><td>restore files to their checkout state</td></tr><tr><td><a href="/help/rollback">rollback</a></td><td>roll back the last transaction (dangerous)</td></tr><tr><td><a href="/help/root">root</a></td><td>print the root (top) of the current working directory</td></tr><tr><td><a href="/help/showconfig">showconfig</a></td><td>show combined config settings from all hgrc files</td></tr><tr><td><a href="/help/tag">tag</a></td><td>add one or more tags for the current or given revision</td></tr><tr><td><a href="/help/tags">tags</a></td><td>list repository tags</td></tr><tr><td><a href="/help/tip">tip</a></td><td>show the tip revision</td></tr><tr><td><a href="/help/unbundle">unbundle</a></td><td>apply one or more changegroup files</td></tr><tr><td><a href="/help/verify">verify</a></td><td>verify the integrity of the repository</td></tr><tr><td><a href="/help/version">version</a></td><td>output version and copyright information</td></tr>
+ </table>
+ </div>
+ </div>
+
+ <script type="text/javascript">process_dates()</script>
+
+
+ </body>
+ </html>
+
+
+ $ "$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT "help/add"
+ 200 Script output follows
+
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
+ <head>
+ <link rel="icon" href="/static/hgicon.png" type="image/png" />
+ <meta name="robots" content="index, nofollow" />
+ <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
+ <script type="text/javascript" src="/static/mercurial.js"></script>
+
+ <title>Help: add</title>
+ </head>
+ <body>
+
+ <div class="container">
+ <div class="menu">
+ <div class="logo">
+ <a href="http://mercurial.selenic.com/">
+ <img src="/static/hglogo.png" alt="mercurial" /></a>
+ </div>
+ <ul>
+ <li><a href="/shortlog">log</a></li>
+ <li><a href="/graph">graph</a></li>
+ <li><a href="/tags">tags</a></li>
+ <li><a href="/bookmarks">bookmarks</a></li>
+ <li><a href="/branches">branches</a></li>
+ </ul>
+ <ul>
+ <li class="active"><a href="/help">help</a></li>
+ </ul>
+ </div>
+
+ <div class="main">
+ <h2 class="breadcrumb"><a href="/">Mercurial</a> </h2>
+ <h3>Help: add</h3>
+
+ <form class="search" action="/log">
+
+ <p><input name="rev" id="search1" type="text" size="30" /></p>
+ <div id="hint">find changesets by author, revision,
+ files, or words in the commit message</div>
+ </form>
+ <pre>
+ hg add [OPTION]... [FILE]...
+
+ 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.
+
+ 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
+
+ [+] marked option can be specified multiple times
+
+ 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
+
+ [+] marked option can be specified multiple times
+
+ </pre>
+ </div>
+ </div>
+
+ <script type="text/javascript">process_dates()</script>
+
+
+ </body>
+ </html>
+
+
+ $ "$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT "help/remove"
+ 200 Script output follows
+
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
+ <head>
+ <link rel="icon" href="/static/hgicon.png" type="image/png" />
+ <meta name="robots" content="index, nofollow" />
+ <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
+ <script type="text/javascript" src="/static/mercurial.js"></script>
+
+ <title>Help: remove</title>
+ </head>
+ <body>
+
+ <div class="container">
+ <div class="menu">
+ <div class="logo">
+ <a href="http://mercurial.selenic.com/">
+ <img src="/static/hglogo.png" alt="mercurial" /></a>
+ </div>
+ <ul>
+ <li><a href="/shortlog">log</a></li>
+ <li><a href="/graph">graph</a></li>
+ <li><a href="/tags">tags</a></li>
+ <li><a href="/bookmarks">bookmarks</a></li>
+ <li><a href="/branches">branches</a></li>
+ </ul>
+ <ul>
+ <li class="active"><a href="/help">help</a></li>
+ </ul>
+ </div>
+
+ <div class="main">
+ <h2 class="breadcrumb"><a href="/">Mercurial</a> </h2>
+ <h3>Help: remove</h3>
+
+ <form class="search" action="/log">
+
+ <p><input name="rev" id="search1" type="text" size="30" /></p>
+ <div id="hint">find changesets by author, revision,
+ files, or words in the commit message</div>
+ </form>
+ <pre>
+ hg remove [OPTION]... FILE...
+
+ aliases: rm
+
+ 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.
+
+ 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
+
+ [+] marked option can be specified multiple times
+
+ 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
+
+ [+] marked option can be specified multiple times
+
+ </pre>
+ </div>
+ </div>
+
+ <script type="text/javascript">process_dates()</script>
+
+
+ </body>
+ </html>
+
+
+ $ "$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT "help/revisions"
+ 200 Script output follows
+
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
+ <head>
+ <link rel="icon" href="/static/hgicon.png" type="image/png" />
+ <meta name="robots" content="index, nofollow" />
+ <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
+ <script type="text/javascript" src="/static/mercurial.js"></script>
+
+ <title>Help: revisions</title>
+ </head>
+ <body>
+
+ <div class="container">
+ <div class="menu">
+ <div class="logo">
+ <a href="http://mercurial.selenic.com/">
+ <img src="/static/hglogo.png" alt="mercurial" /></a>
+ </div>
+ <ul>
+ <li><a href="/shortlog">log</a></li>
+ <li><a href="/graph">graph</a></li>
+ <li><a href="/tags">tags</a></li>
+ <li><a href="/bookmarks">bookmarks</a></li>
+ <li><a href="/branches">branches</a></li>
+ </ul>
+ <ul>
+ <li class="active"><a href="/help">help</a></li>
+ </ul>
+ </div>
+
+ <div class="main">
+ <h2 class="breadcrumb"><a href="/">Mercurial</a> </h2>
+ <h3>Help: revisions</h3>
+
+ <form class="search" action="/log">
+
+ <p><input name="rev" id="search1" type="text" size="30" /></p>
+ <div id="hint">find changesets by author, revision,
+ files, or words in the commit message</div>
+ </form>
+ <pre>
+ Specifying Single Revisions
+
+ 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>
+
+ <script type="text/javascript">process_dates()</script>
+
+
+ </body>
+ </html>
+
+
+ $ "$TESTDIR/killdaemons.py" $DAEMON_PIDS
+
+#endif