Merge from Jake's hg docs

This commit is contained in:
mpm@selenic.com 2005-05-27 12:27:46 -08:00
commit 2bf41c300e
4 changed files with 838 additions and 0 deletions

25
doc/README Normal file
View File

@ -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

209
doc/hg.1 Normal file
View File

@ -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)\&.

407
doc/hg.1.html Normal file
View File

@ -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>

197
doc/hg.1.txt Normal file
View File

@ -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).