Update docs
authormpm@selenic.com
Wed, 22 Jun 2005 22:33:30 -0800
changeset 438 b38deaf7873e
parent 437 5b38a5af4019
child 439 f81a011fba3d
Update docs -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Update docs General editing of man page adding new commands, removing old, updating usage Remove generated docs manifest hash: 68e3fa38e8ec38e80debd95854e1374a9d24fbe0 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux) iD8DBQFCule6ywK+sNU5EO8RAm6SAJ0eQwB5eFG1WeswqNMRqUEclmMaNQCeMcYY Y+UCHuN6vQ4PgEUKt91+rEo= =PAAA -----END PGP SIGNATURE-----
doc/hg.1.txt
--- a/doc/hg.1	Wed Jun 22 22:31:25 2005 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,225 +0,0 @@
-.\"Generated by db2man.xsl. Don't modify this, modify the source.
-.de Sh \" Subsection
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
-.de Sp \" Vertical space (when we can't use .PP)
-.if t .sp .5v
-.if n .sp
-..
-.de Ip \" List item
-.br
-.ie \\n(.$>=3 .ne \\$3
-.el .ne 3
-.IP "\\$1" \\$2
-..
-.TH "HG" 1 "" "" ""
-.SH NAME
-hg \- command line interface to the Mercurial source code management system
-.SH "SYNOPSIS"
-
-
-hg [\-v \-d \-q \-y] <command> [command options] [files]
-
-.SH "DESCRIPTION"
-
-
-The hg(1) command provides a command line interface to the Mercurial system\&.
-
-.SH "NOTE"
-
-
-Many of the hg commands are not yet subdirectory and/or working directory aware\&. This means that some commands will only work in the top level repository directory or will only accept paths and filenames relative to the top level\&. Merges and commits, in particular, should be done in the top\-level directory\&.
-
-.SH "OPTIONS"
-
-.TP
---debug, \-d
-enable debugging output
-
-.TP
---quiet, \-q
-suppress output
-
-.TP
---verbose, \-v
-enable additional output
-
-.TP
---noninteractive, \-y
-do not prompt, assume yes for any required answers
-
-.SH "COMMAND ELEMENTS"
-
-.TP
-files ...
-indicates one or more filename or relative path filenames
-
-.TP
-path
-indicates a path on the local machine
-
-.TP
-revision
-indicates a changeset which can be specified as a changeset id (int), a tag, or a unique substring of the changeset hash value
-
-.TP
-repository path
-is either the pathname of a local repository of the URI of a remote repository\&. There are two available URI protocols, http:// which is fast and the old\-http:// protocol which is much slower but does not require python on the web host\&.
-
-.SH "COMMANDS"
-
-.TP
-add [files ...]
-add the given files to the repository\&. Note that this just schedules the files for addition at the next hg commit time\&.
-
-.TP
-addremove
-add all new files and remove all missing files from the repository\&. new files are ignored if they match any of the patterns in \&.hgignore
-
-.TP
-annotate [\-r revision \-u \-n \-c] [files ...]
-list the files with each line showing the revision id responsible for that line\&. \-u will add the author to the revision id, \-c will print the changeset hash, and \-n will ...
-
-.TP
-branch <path>
-create a new branch of the repository indicated by path in the current directory\&. Note that there should not be a repository already initialized in the current directory
-
-.TP
-checkout [revision]
-check out the indicated version of the repository into the working directory\&. Note that currently no merge occurs with changed files in the working dir\&.
-
-.TP
-commit
-commit all changed files in the working dir to the repository\&. This uses the EDITOR environment variable to bring up an editor to add a commit comment\&.
-
-.TP
-diff [\-r revision] [\-r revision] [files ...]
-generate a unified diff of the indicated files\&. If there are no revisions specified, the working directory file is compared to the tip, one revision specified indicates a comparison between the working directory file and the specified revision, two revisions compares the two versions specified\&.
-
-.TP
-dump <file> [revision]
-print the indicated revision of the file
-
-.TP
-dumpmanifest [revision]
-print the indicated revision of the manifest (list of version controlled files)
-
-.TP
-export [revision]
-print the changeset header (author, changeset hash, parent, and commit comment) and the diffs for a particular revision\&.
-
-.TP
-history
-print the revision history of the repository
-
-.TP
-init
-initialize a repository in the current directory
-
-.TP
-log <file>
-print the revision history of the specified file
-
-.TP
-merge <repository path>
-pull any changes from the specified repository to the repository in the current directory\&. Use the value of the HGMERGE environment variable as a program to resolve any merge conflicts between the two repositories\&. An implicit commit is done at the end of this process if there were any merge conflicts\&. Note that merge does not yet merge with changed files in the working dir\&.
-
-.TP
-recover
-rollback an interrupted transaction
-
-.TP
-remove [files ...]
-schedule the indicated files for removal from the repository at the next commit
-
-.TP
-serve [\-a addr \-n name \-p port \-t templatedir]
-this will start an http server, by default on port 8000, that will allow browsing the repository using the hgweb interface and will allow merging from the repository\&. \-a sets the interface address, \-p the port to listen on, \-n the name of the repository and \-t sets the location of the template directory\&.
-
-.TP
-status
-list new, changed, and missing files in the working directory
-
-.TP
-tags
-list the current tags
-
-.TP
-undo
-undo the last transaction
-
-.SH "ENVIRONMENT VARIABLES"
-
-.TP
-HGMERGE
-points to an executable to use for resolving merge conflicts, the program will be executed with four arguments: local file, remote file, ancestor file, and original filename\&.
-
-.TP
-HGUSER
-this is the string used for the author value of a commit
-
-.TP
-HG_OPTS
-this string is used for default arguments to hg
-
-.TP
-PYTHONPATH
-this is used by Python to find imported modules and needs to be set appropriately based on where mercurial is installed
-
-.TP
-EMAIL
-if HGUSER is not set, this will be used next as the author value for a commit
-
-.TP
-LOGNAME
-if neither HGUSER nor EMAIL is set, LOGNAME will be used (with @hostname appended) as the author value for a commit
-
-.TP
-EDITOR
-this is the name of the editor to use when committing
-
-.SH "FILES"
-
-.TP
-\&.hgignore
-this file contains regular expressions (one per line) that describe file names that should be ignored by hg
-
-.TP
-\&.hgtags
-this file contains changeset hash values and text tag names (one of each seperated by spaces) that correspond to tagged versions of the repository contents\&.
-
-.TP
-$HOME/\&.hgpaths
-this file contains a mapping from a symbolic name to a repository path (which could be a local path or a remote URI), the format is <symbolic name> <repository path> with each mapping on a seperate line
-
-.SH "BUGS"
-
-
-Probably lots, please post them to the mailing list (See Resources below) when you find them\&.
-
-.SH "AUTHOR"
-
-
-Written by Matt Mackall <mpm@selenic\&.com>
-
-.SH "RESOURCES"
-
-
-Main Web Site: \fIhttp://selenic.com/mercurial\fR
-
-
-Source code repository: \fIhttp://selenic.com/hg\fR
-
-
-Mailing list: \fIhttp://selenic.com/mailman/listinfo/mercurial\fR
-
-.SH "COPYING"
-
-
-Copyright (C) 2005 Matt Mackall\&. Free use of this software is granted under the terms of the GNU General Public License (GPL)\&.
-
--- a/doc/hg.1.html	Wed Jun 22 22:31:25 2005 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,442 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<meta name="generator" content="AsciiDoc 6.0.3">
-<meta name="author" content="Matt Mackall">
-<meta name="author-email" content="mpm@selenic.com">
-<title>HG(1)</title>
-</head>
-<body>
-<h1>HG(1)</h1>
-<p>
-<strong>by Matt Mackall</strong><br />
-<tt>&lt;<a href="mailto:mpm@selenic.com">mpm@selenic.com</a>&gt;</tt><br />
-v0.5,
-27 May 2005
-</p>
-<hr />
-<h2>NAME</h2>
-<p>
-hg - command line interface to the Mercurial source code management system
-</p>
-<hr />
-<h2>SYNOPSIS</h2>
-<p>
-<em>hg</em> [-v -d -q -y] &lt;command&gt; [command options] [files]
-</p>
-<hr />
-<h2>DESCRIPTION</h2>
-<p>
-The hg(1) command provides a command line interface to the Mercurial system.
-</p>
-<hr />
-<h2>NOTE</h2>
-<p>
-Many of the hg commands are not yet subdirectory and/or working directory
-aware.  This means that some commands will only work in the top level
-repository directory or will only accept paths and filenames relative to the
-top level.  Merges and commits, in particular, should be done in the
-top-level directory.
-</p>
-<hr />
-<h2>OPTIONS</h2>
-<dl>
-<dt>
-&#8212;debug, -d
-</dt>
-<dd>
-
-    enable debugging output
-
-</dd>
-<dt>
-&#8212;quiet, -q
-</dt>
-<dd>
-
-    suppress output
-
-</dd>
-<dt>
-&#8212;verbose, -v
-</dt>
-<dd>
-
-    enable additional output
-
-</dd>
-<dt>
-&#8212;noninteractive, -y
-</dt>
-<dd>
-
-    do not prompt, assume <em>yes</em> for any required answers
-
-</dd>
-</dl>
-<hr />
-<h2>COMMAND ELEMENTS</h2>
-<dl>
-<dt>
-files &#8230;
-</dt>
-<dd>
-
-    indicates one or more filename or relative path filenames
-
-</dd>
-<dt>
-path
-</dt>
-<dd>
-
-    indicates a path on the local machine
-
-</dd>
-<dt>
-revision
-</dt>
-<dd>
-
-    indicates a changeset which can be specified as a changeset id (int),
-    a tag, or a unique substring of the changeset hash value
-
-</dd>
-<dt>
-repository path
-</dt>
-<dd>
-
-    is either the pathname of a local repository of the URI of a remote
-    repository.  There are two available URI protocols, http:// which is
-    fast and the old-http:// protocol which is much slower but does not
-    require python on the web host.
-
-</dd>
-</dl>
-<hr />
-<h2>COMMANDS</h2>
-<dl>
-<dt>
-add [files &#8230;]
-</dt>
-<dd>
-
-    add the given files to the repository.  Note that this just schedules the
-    files for addition at the next hg commit time.
-
-</dd>
-<dt>
-addremove
-</dt>
-<dd>
-
-    add all new files and remove all missing files from the repository.  new
-    files are ignored if they match any of the patterns in .hgignore
-
-</dd>
-<dt>
-annotate [-r revision -u -n -c] [files &#8230;]
-</dt>
-<dd>
-
-    list the files with each line showing the revision id responsible
-    for that line.  -u will add the author to the revision id, -c will
-    print the changeset hash, and -n will &#8230;
-
-</dd>
-<dt>
-branch &lt;path&gt;
-</dt>
-<dd>
-
-    create a new branch of the repository indicated by path in the current
-    directory.  Note that there should not be a repository already initialized
-    in the current directory
-
-</dd>
-<dt>
-checkout [revision]
-</dt>
-<dd>
-
-    check out the indicated version of the repository into the working
-    directory.  Note that currently no merge occurs with changed files
-    in the working dir.
-
-</dd>
-<dt>
-commit
-</dt>
-<dd>
-
-    commit all changed files in the working dir to the repository.  This uses
-    the EDITOR environment variable to bring up an editor to add a commit
-    comment.
-
-</dd>
-<dt>
-diff [-r revision] [-r revision] [files &#8230;]
-</dt>
-<dd>
-
-    generate a unified diff of the indicated files.  If there are no
-    revisions specified, the working directory file is compared to
-    the tip, one revision specified indicates a comparison between the
-    working directory file and the specified revision, two revisions
-    compares the two versions specified.
-
-</dd>
-<dt>
-dump &lt;file&gt; [revision]
-</dt>
-<dd>
-
-    print the indicated revision of the file
-
-</dd>
-<dt>
-dumpmanifest [revision]
-</dt>
-<dd>
-
-    print the indicated revision of the manifest (list of version controlled
-    files)
-
-</dd>
-<dt>
-export [revision]
-</dt>
-<dd>
-
-    print the changeset header (author, changeset hash, parent, and commit
-    comment) and the diffs for a particular revision.
-
-</dd>
-<dt>
-history
-</dt>
-<dd>
-
-    print the revision history of the repository
-
-</dd>
-<dt>
-init
-</dt>
-<dd>
-
-    initialize a repository in the current directory
-
-</dd>
-<dt>
-log &lt;file&gt;
-</dt>
-<dd>
-
-    print the revision history of the specified file
-
-</dd>
-<dt>
-merge &lt;repository path&gt;
-</dt>
-<dd>
-
-    pull any changes from the specified repository to the repository in the
-    current directory.  Use the value of the HGMERGE environment variable
-    as a program to resolve any merge conflicts between the two repositories.
-    An implicit commit is done at the end of this process if there were any
-    merge conflicts.  Note that merge does not yet merge with changed files
-    in the working dir.
-
-</dd>
-<dt>
-recover
-</dt>
-<dd>
-
-    rollback an interrupted transaction
-
-</dd>
-<dt>
-remove [files &#8230;]
-</dt>
-<dd>
-
-    schedule the indicated files for removal from the repository at the next
-    commit
-
-</dd>
-<dt>
-serve [-a addr -n name -p port -t templatedir]
-</dt>
-<dd>
-
-    this will start an http server, by default on port 8000, that will
-    allow browsing the repository using the hgweb interface and will allow
-    merging from the repository.  -a sets the interface address, -p the
-    port to listen on, -n the name of the repository and -t sets the
-    location of the template directory.
-
-</dd>
-<dt>
-status
-</dt>
-<dd>
-
-    list new, changed, and missing files in the working directory
-
-</dd>
-<dt>
-tags
-</dt>
-<dd>
-
-    list the current tags
-
-</dd>
-<dt>
-undo
-</dt>
-<dd>
-
-    undo the last transaction
-
-</dd>
-</dl>
-<hr />
-<h2>ENVIRONMENT VARIABLES</h2>
-<dl>
-<dt>
-HGMERGE
-</dt>
-<dd>
-
-    points to an executable to use for resolving merge conflicts, the
-    program will be executed with four arguments: local file, remote
-    file, ancestor file, and original filename.
-
-</dd>
-<dt>
-HGUSER
-</dt>
-<dd>
-
-    this is the string used for the author value of a commit
-
-</dd>
-<dt>
-HG_OPTS
-</dt>
-<dd>
-
-    this string is used for default arguments to hg
-
-</dd>
-<dt>
-PYTHONPATH
-</dt>
-<dd>
-
-    this is used by Python to find imported modules and needs to be set
-    appropriately based on where mercurial is installed
-
-</dd>
-<dt>
-EMAIL
-</dt>
-<dd>
-
-    if HGUSER is not set, this will be used next as the author value for
-    a commit
-
-</dd>
-<dt>
-LOGNAME
-</dt>
-<dd>
-
-    if neither HGUSER nor EMAIL is set, LOGNAME will be used (with
-    <em>@hostname</em> appended) as the author value for a commit
-
-</dd>
-<dt>
-EDITOR
-</dt>
-<dd>
-
-    this is the name of the editor to use when committing
-
-</dd>
-</dl>
-<hr />
-<h2>FILES</h2>
-<dl>
-<dt>
-.hgignore
-</dt>
-<dd>
-
-    this file contains regular expressions (one per line) that describe file
-    names that should be ignored by hg
-
-</dd>
-<dt>
-.hgtags
-</dt>
-<dd>
-
-    this file contains changeset hash values and text tag names (one of each
-    seperated by spaces) that correspond to tagged versions of the repository
-    contents.
-
-</dd>
-<dt>
-$HOME/.hgpaths
-</dt>
-<dd>
-
-    this file contains a mapping from a symbolic name to a repository path
-    (which could be a local path or a remote URI), the format is
-    &lt;symbolic name&gt; &lt;repository path&gt; with each mapping on a seperate line
-
-</dd>
-</dl>
-<hr />
-<h2>BUGS</h2>
-<p>
-Probably lots, please post them to the mailing list (See Resources below)
-when you find them.
-</p>
-<hr />
-<h2>AUTHOR</h2>
-<p>
-Written by Matt Mackall &lt;mpm@selenic.com&gt;
-</p>
-<hr />
-<h2>RESOURCES</h2>
-<p>
-<a href="http://selenic.com/mercurial">Main Web Site</a>
-</p>
-<p>
-<a href="http://selenic.com/hg">Source code repository</a>
-</p>
-<p>
-<a href="http://selenic.com/mailman/listinfo/mercurial">Mailing list</a>
-</p>
-<hr />
-<h2>COPYING</h2>
-<p>
-Copyright &#169; 2005 Matt Mackall.
-Free use of this software is granted under the terms of the GNU General
-Public License (GPL).
-</p>
-<p></p>
-<p></p>
-<hr /><p><small>
-Version 0.5<br />
-Last updated 27-May-2005 15:51:06 MDT
-</small></p>
-</body>
-</html>
--- a/doc/hg.1.txt	Wed Jun 22 22:31:25 2005 -0800
+++ b/doc/hg.1.txt	Wed Jun 22 22:33:30 2005 -0800
@@ -1,11 +1,11 @@
 HG(1)
 =====
 Matt Mackall <mpm@selenic.com>
-v0.5, 27 May 2005
+v0.6, 27 May 2005
 
 NAME
 ----
-hg - command line interface to the Mercurial source code management system
+hg - Mercurial source code management system
 
 SYNOPSIS
 --------
@@ -15,16 +15,9 @@
 -----------
 The hg(1) command provides a command line interface to the Mercurial system.
 
-NOTE
-----
-Many of the hg commands are not yet subdirectory and/or working directory
-aware.  This means that some commands will only work in the top level 
-repository directory or will only accept paths and filenames relative to the
-top level.  Merges and commits, in particular, should be done in the
-top-level directory.
-
 OPTIONS
 -------
+
 --debug, -d::
     enable debugging output
 
@@ -46,152 +39,278 @@
 path::
     indicates a path on the local machine
 
-revision::
-    indicates a changeset which can be specified as a changeset id (int),
-    a tag, or a unique substring of the changeset hash value
+revision:: 
+    indicates a changeset which can be specified as a changeset revision
+    number, a tag, or a unique substring of the changeset hash value
 
 repository path::
     is either the pathname of a local repository of the URI of a remote
     repository.  There are two available URI protocols, http:// which is
     fast and the old-http:// protocol which is much slower but does not 
-    require python on the web host.
+    require a special server on the web host.
 
 COMMANDS
 --------
+
 add [files ...]::
-    add the given files to the repository.  Note that this just schedules the
+    Add the given files to the repository.  Note that this just schedules the
     files for addition at the next hg commit time.
 
 addremove::
-    add all new files and remove all missing files from the repository.  new
+    Add all new files and remove all missing files from the repository.  New
     files are ignored if they match any of the patterns in .hgignore
 
-annotate [-r revision -u -n -c] [files ...]::
-    list the files with each line showing the revision id responsible 
-    for that line.  -u will add the author to the revision id, -c will
-    print the changeset hash, and -n will ...
+annotate [-r <rev> -u -n -c] [files ...]::
+    List the files with each line showing the revision id responsible 
+    for that line. 
 
-branch <path>::
-    create a new branch of the repository indicated by path in the current
-    directory.  Note that there should not be a repository already initialized
-    in the current directory
+    options:
+    -r, --revision <rev>  annotate the specified revision
+    -u, --user            list the author
+    -c, --changeset       list the changeset
+    -n, --number          list the revision number (default)
 
-checkout [revision]::
-    check out the indicated version of the repository into the working
-    directory.  Note that currently no merge occurs with changed files 
-    in the working dir.
+cat <file> [revision]::
+    Output the given revision or tip of the specified file to stdout.
 
-commit::
+commit [-A -t -l <file> -t <text> -u <user> -d <datecode>] [files...]::
     commit all changed files in the working dir to the repository.  This uses
     the EDITOR environment variable to bring up an editor to add a commit
     comment.
 
+    Options:
+    
+    -A, --addremove       run addremove during commit
+    -t, --text <text>     use <text> as commit message
+    -l, --logfile <file>  read the commit message from the specified
+                          file
+    -d, --date <datecode> use the specified date code
+    -u, --user <user>     record commit as the specified user
+
+    aliases: ci
+
+copy <source> <dest>::
+    Mark a file as copied or renamed for the next commit.
+
 diff [-r revision] [-r revision] [files ...]::
-    generate a unified diff of the indicated files.  If there are no 
+    Generate a unified diff of the indicated files. If there are no 
     revisions specified, the working directory file is compared to 
     the tip, one revision specified indicates a comparison between the 
-    working directory file and the specified revision, two revisions 
+    working directory file and the specified revision, and two revisions 
     compares the two versions specified.
 
-dump <file> [revision]::
-    print the indicated revision of the file
+export [revision]::
+    Print the changeset header (author, changeset hash, parent, and commit
+    comment) and the diffs for a particular revision.
 
-dumpmanifest [revision]::
-    print the indicated revision of the manifest (list of version controlled
-    files)
+forget [files]::
+    Undo an 'hg add' scheduled for the next commit.
 
-export [revision]::
-    print the changeset header (author, changeset hash, parent, and commit
-    comment) and the diffs for a particular revision.
+heads::
+    Show all changesets with no children. These are the "heads" of
+    development branches and are the usual targets for updates and merges.
 
 history::
-    print the revision history of the repository
+    Print the revision history of the repository. Use the -v switch
+    for more detail.
+
+identify::
+    Print a short identifier of the current state of the repo. This
+    includes one or two parent hash identifiers, followed by
+    a "+" if there are uncommitted changes in the working directory,
+    followed by a list of tags for this revision
+
+    aliases: id
+
+import [-p <n> -b <base> -q] <patches>::
+    Import the listed patches and commit them individually.
 
-init::
-    initialize a repository in the current directory
+    options:
+    -p, --strip <n>   directory strip option for patch
+    -b <path>         base directory to read patches from
+
+    aliases: patch
+
+init [-u] [source]::
+    Initialize a repository in the current directory.
+
+    If a source is specified, pull that source into the repository.
+    This source is added to .hg/hgrc as the default for future pulls
+    in this repository.
+
+    If the specified source is on the same filesystem, the repository
+    will be copied via hardlinks. This is the fastest and most
+    space-efficient mode of operation.
+
+    options:
+    -u, --update   update the working directory to match the tip
 
 log <file>::
-    print the revision history of the specified file
+    Print the revision history of the specified file.
 
-merge <repository path>::
+manifest [revision]::
+    Print the indicated revision of the manifest (list of version controlled
+    files)
+
+parents::
+    Print the working directory's parent revisions.
+
+pull <repository path>::
     pull any changes from the specified repository to the repository in the
-    current directory.  Use the value of the HGMERGE environment variable
-    as a program to resolve any merge conflicts between the two repositories.
-    An implicit commit is done at the end of this process if there were any
-    merge conflicts.  Note that merge does not yet merge with changed files
-    in the working dir.
+    current directory.
+
+    options:
+    -u, --update   update the working directory to tip after pull
+
+push <destination>::
+    Push changes from the local repository to the specified
+    destination. If the destination is local, this is identical to a
+    a pull in that directory from the current directory.
+
+    The other currently available push method is SSH. This requires an
+    accessible shell account on the destination machine and a copy of
+    hg in the remote path. Destinations are specified in the following
+    form:
+
+      ssh://[user@]host[:port]/path
+
+rawcommit [-p -d -u -F -t -l]::
+    Primarily useful for importing from other SCMs. 
 
 recover::
-    rollback an interrupted transaction
+    Recover from an interrupted commit or pull. This should only be
+    necessary when Mercurial suggests it.
 
 remove [files ...]::
     schedule the indicated files for removal from the repository at the next
     commit
+ 
+    aliases: rm
 
 serve [-a addr -n name -p port -t templatedir]::
-    this will start an http server, by default on port 8000, that will 
-    allow browsing the repository using the hgweb interface and will allow 
-    merging from the repository.  -a sets the interface address, -p the 
-    port to listen on, -n the name of the repository and -t sets the 
-    location of the template directory.
+    Start a local HTTP repository browser and pull server.
+
+    options:
+    -a, --address <addr> address to use
+    -p, --port <n>       port to use (default: 8000)
+    -n, --name <name>    name to show in web pages (default: working dir)
+    -t, --templatedir <path> web templates to use
 
 status::
-    list new, changed, and missing files in the working directory
+    Show changed files in the working directory.
+
+    C = changed
+    A = added
+    R = removed
+    ? = not tracked
+
+tag [-t <text> -d <datecode> -u <user>] <name> [revision]::
+    Add a tag <name> to the specified revision or the tip.
+
+    options:
+    -t, --text <text>     message for tag commit log entry
+    -d, --date <datecode> datecode for commit
+    -u, --user <user>     user for commit
 
 tags::
-    list the current tags
+    List the current tags.
+
+tip::
+    Show the tip revision
 
 undo::
-    undo the last transaction
+    Undo the last commit or pull transaction.
+
+update [-m -C] [revision]::
+    Update or merge the working directory to a specified revision.
+
+    If there are no outstanding changes in the working directory and
+    there is a linear relationship between the current version and the
+    requested version, the result is the requested version.
+
+    Otherwise the result is a merge between the contents of the
+    current working directory and the requested version. Files that
+    changed between either parent are marked as changed for the next
+    commit and a commit must be performed before any further updates
+    are allowed. Merging will not be performed without the -m flag.
+
+    The -C switch will tell Mercurial to forcibly update to the
+    specified version, adding, removing, and overwriting locally
+    changed fils as necessary.
+
+    options:
+    -m, --merge       allow merging of branches
+    -C, --clean       overwrite locally modified files
+
+    aliases: up checkout co
+
+verify::
+    Verify the integrity of the current repository.
+
+    This will perform an extensive check of the repository's
+    integrity, validating the hashes and checksums of each entry in
+    the changelog, manifest, and tracked files, as well as the
+    integrity of their crosslinks and indices.
+
 
 ENVIRONMENT VARIABLES
 ---------------------
+
 HGMERGE::
-    points to an executable to use for resolving merge conflicts, the
-    program will be executed with four arguments: local file, remote
-    file, ancestor file, and original filename.
+    An executable to use for resolving merge conflicts. The program ,
+    will be executed with three arguments: local file, remote file,
+    ancestor file.
+
+    The default program is "hgmerge", which is a shell script provided
+    by Mercurial with some sensible defaults.
 
 HGUSER::
-    this is the string used for the author value of a commit
-
-HG_OPTS::
-    this string is used for default arguments to hg
-
-PYTHONPATH::
-    this is used by Python to find imported modules and needs to be set
-    appropriately based on where mercurial is installed
+    This is the string used for the author of a commit.
 
 EMAIL::
-    if HGUSER is not set, this will be used next as the author value for
-    a commit
+    If HGUSER is not set, this will be used as the author for a commit.
 
 LOGNAME::
     if neither HGUSER nor EMAIL is set, LOGNAME will be used (with
-    '@hostname' appended) as the author value for a commit
+    '@hostname' appended) as the author value for a commit.
 
 EDITOR::
-    this is the name of the editor to use when committing
+    This is the name of the editor to use when committing. Defaults to 'vi'.
+
+PYTHONPATH::
+    This is used by Python to find imported modules and may need to be set
+    appropriately if Mercurial is not installed system-wide.
 
 FILES
 -----
  .hgignore::
-    this file contains regular expressions (one per line) that describe file
+    This file contains regular expressions (one per line) that describe file
     names that should be ignored by hg
 
  .hgtags::
-    this file contains changeset hash values and text tag names (one of each
+    This file contains changeset hash values and text tag names (one of each
     seperated by spaces) that correspond to tagged versions of the repository
     contents.
 
- $HOME/.hgpaths::
-    this file contains a mapping from a symbolic name to a repository path
-    (which could be a local path or a remote URI), the format is 
-    <symbolic name> <repository path> with each mapping on a seperate line
+ $HOME/.hgrc, .hg/hgrc::
+    This file contains defaults and configuration. Values in .hg/hgrc
+    override those in .hgrc.
+
+NAMED REPOSITORIES
+------------------
+
+    To give symbolic names to a repository, create a section in .hgrc
+    or .hg/hgrc containing assignments of names to paths.
+
+    Example:
+
+[paths]
+hg = http://selenic.com/hg
 
 NON_TRANSPARENT PROXY SUPPORT
------
+-----------------------------
 
-    To access a mercurial repository through a proxy,
+    To access a Mercurial repository through a proxy,
     create a file $HOME/.hgrc in the following format:
 
 [http_proxy]