|
|
<!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><<a href="mailto:mpm@selenic.com">mpm@selenic.com</a>></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] <command> [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>
|
|
|
—debug, -d
|
|
|
</dt>
|
|
|
<dd>
|
|
|
|
|
|
enable debugging output
|
|
|
|
|
|
</dd>
|
|
|
<dt>
|
|
|
—quiet, -q
|
|
|
</dt>
|
|
|
<dd>
|
|
|
|
|
|
suppress output
|
|
|
|
|
|
</dd>
|
|
|
<dt>
|
|
|
—verbose, -v
|
|
|
</dt>
|
|
|
<dd>
|
|
|
|
|
|
enable additional output
|
|
|
|
|
|
</dd>
|
|
|
<dt>
|
|
|
—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 …
|
|
|
</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 …]
|
|
|
</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 …]
|
|
|
</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 …
|
|
|
|
|
|
</dd>
|
|
|
<dt>
|
|
|
branch <path>
|
|
|
</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 …]
|
|
|
</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 <file> [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 <file>
|
|
|
</dt>
|
|
|
<dd>
|
|
|
|
|
|
print the revision history of the specified file
|
|
|
|
|
|
</dd>
|
|
|
<dt>
|
|
|
merge <repository path>
|
|
|
</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 …]
|
|
|
</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 <mpm@selenic.com>
|
|
|
</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 © 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>
|
|
|
|