changeset 178:b3bf5a0edd69

Merge from Jake's hg docs
author mpm@selenic.com
date Fri, 27 May 2005 12:27:46 -0800
parents 1d8e9637a0a4 (current diff) 91055f795d88 (diff)
children ff5377a4b203
files README doc/README doc/hg.1 doc/hg.1.html doc/hg.1.txt mercurial/hg.py
diffstat 4 files changed, 838 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/doc/README	Fri May 27 12:27:46 2005 -0800
@@ -0,0 +1,25 @@
+Files in this directory:
+
+README - this file
+hg.1.txt - asciidoc source for the files
+hg.1 - groff man page for hg
+hg.1.html - man page in html format
+
+How to generate the man page and html files
+
+For now we use asciidoc which is available at:
+
+http://www.methods.co.nz/asciidoc/
+
+the file hg.1.txt is the input file, to generate the man page:
+
+asciidoc.py -d manpage -b docbook hg.1.txt
+xmlto man hg.1.xml
+
+to display:
+
+groff -mandoc -Tascii hg.1 | more
+
+to create the html page (without stylesheets):
+
+asciidoc.py -b html hg.1.txt
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/doc/hg.1	Fri May 27 12:27:46 2005 -0800
@@ -0,0 +1,209 @@
+.\"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, hg:// which is fast and the 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
+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
+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
+
+.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\&.
+
+.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)\&.
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/doc/hg.1.html	Fri May 27 12:27:46 2005 -0800
@@ -0,0 +1,407 @@
+<!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, hg:// which is
+    fast and the 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>
+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>
+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>
+</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>
+</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 08:14:25 MDT
+</small></p>
+</body>
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/doc/hg.1.txt	Fri May 27 12:27:46 2005 -0800
@@ -0,0 +1,197 @@
+HG(1)
+=====
+Matt Mackall <mpm@selenic.com>
+v0.5, 27 May 2005
+
+NAME
+----
+hg - command line interface to the Mercurial source code management system
+
+SYNOPSIS
+--------
+'hg' [-v -d -q -y] <command> [command options] [files]
+
+DESCRIPTION
+-----------
+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
+
+--quiet, -q::
+    suppress output
+
+--verbose, -v::
+    enable additional output
+
+--noninteractive, -y::
+    do not prompt, assume 'yes' for any required answers
+
+COMMAND ELEMENTS
+----------------
+
+files ...::
+    indicates one or more filename or relative path filenames
+
+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
+
+repository path::
+    is either the pathname of a local repository of the URI of a remote
+    repository.  There are two available URI protocols, hg:// which is
+    fast and the http:// protocol which is much slower but does not require
+    python on the web host.
+
+COMMANDS
+--------
+add [files ...]::
+    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
+    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 ...
+
+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
+
+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.
+
+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.
+
+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.
+
+dump <file> [revision]::
+    print the indicated revision of the file
+
+dumpmanifest [revision]::
+    print the indicated revision of the manifest (list of version controlled
+    files)
+
+history::
+    print the revision history of the repository
+
+init::
+    initialize a repository in the current directory
+
+log <file>::
+    print the revision history of the specified file
+
+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.
+
+remove [files ...]::
+    schedule the indicated files for removal from the repository at the next
+    commit
+
+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.
+
+status::
+    list new, changed, and missing files in the working directory
+
+tags::
+    list the current tags
+
+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.
+
+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
+
+EMAIL::
+    if HGUSER is not set, this will be used next as the author value 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
+
+EDITOR::
+    this is the name of the editor to use when committing
+
+FILES
+-----
+ .hgignore::
+    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
+    seperated by spaces) that correspond to tagged versions of the repository
+    contents.
+
+BUGS
+----
+Probably lots, please post them to the mailing list (See Resources below)
+when you find them.
+
+AUTHOR
+------
+Written by Matt Mackall <mpm@selenic.com>
+
+RESOURCES
+---------
+http://selenic.com/mercurial[Main Web Site]
+
+http://selenic.com/hg[Source code repository]
+
+http://selenic.com/mailman/listinfo/mercurial[Mailing list]
+
+COPYING
+-------
+Copyright (C) 2005 Matt Mackall.
+Free use of this software is granted under the terms of the GNU General
+Public License (GPL).