177
|
1 |
HG(1)
|
|
2 |
=====
|
|
3 |
Matt Mackall <mpm@selenic.com>
|
|
4 |
v0.5, 27 May 2005
|
|
5 |
|
|
6 |
NAME
|
|
7 |
----
|
|
8 |
hg - command line interface to the Mercurial source code management system
|
|
9 |
|
|
10 |
SYNOPSIS
|
|
11 |
--------
|
|
12 |
'hg' [-v -d -q -y] <command> [command options] [files]
|
|
13 |
|
|
14 |
DESCRIPTION
|
|
15 |
-----------
|
|
16 |
The hg(1) command provides a command line interface to the Mercurial system.
|
|
17 |
|
|
18 |
NOTE
|
|
19 |
----
|
|
20 |
Many of the hg commands are not yet subdirectory and/or working directory
|
|
21 |
aware. This means that some commands will only work in the top level
|
|
22 |
repository directory or will only accept paths and filenames relative to the
|
|
23 |
top level. Merges and commits, in particular, should be done in the
|
|
24 |
top-level directory.
|
|
25 |
|
|
26 |
OPTIONS
|
|
27 |
-------
|
|
28 |
--debug, -d::
|
|
29 |
enable debugging output
|
|
30 |
|
|
31 |
--quiet, -q::
|
|
32 |
suppress output
|
|
33 |
|
|
34 |
--verbose, -v::
|
|
35 |
enable additional output
|
|
36 |
|
|
37 |
--noninteractive, -y::
|
|
38 |
do not prompt, assume 'yes' for any required answers
|
|
39 |
|
|
40 |
COMMAND ELEMENTS
|
|
41 |
----------------
|
|
42 |
|
|
43 |
files ...::
|
|
44 |
indicates one or more filename or relative path filenames
|
|
45 |
|
|
46 |
path::
|
|
47 |
indicates a path on the local machine
|
|
48 |
|
|
49 |
revision::
|
|
50 |
indicates a changeset which can be specified as a changeset id (int),
|
|
51 |
a tag, or a unique substring of the changeset hash value
|
|
52 |
|
|
53 |
repository path::
|
|
54 |
is either the pathname of a local repository of the URI of a remote
|
|
55 |
repository. There are two available URI protocols, hg:// which is
|
|
56 |
fast and the http:// protocol which is much slower but does not require
|
|
57 |
python on the web host.
|
|
58 |
|
|
59 |
COMMANDS
|
|
60 |
--------
|
|
61 |
add [files ...]::
|
|
62 |
add the given files to the repository. Note that this just schedules the
|
|
63 |
files for addition at the next hg commit time.
|
|
64 |
|
|
65 |
addremove::
|
|
66 |
add all new files and remove all missing files from the repository. new
|
|
67 |
files are ignored if they match any of the patterns in .hgignore
|
|
68 |
|
|
69 |
annotate [-r revision -u -n -c] [files ...]::
|
|
70 |
list the files with each line showing the revision id responsible
|
|
71 |
for that line. -u will add the author to the revision id, -c will
|
|
72 |
print the changeset hash, and -n will ...
|
|
73 |
|
|
74 |
branch <path>::
|
|
75 |
create a new branch of the repository indicated by path in the current
|
|
76 |
directory. Note that there should not be a repository already initialized
|
|
77 |
in the current directory
|
|
78 |
|
|
79 |
checkout [revision]::
|
|
80 |
check out the indicated version of the repository into the working
|
|
81 |
directory. Note that currently no merge occurs with changed files
|
|
82 |
in the working dir.
|
|
83 |
|
|
84 |
commit::
|
|
85 |
commit all changed files in the working dir to the repository. This uses
|
|
86 |
the EDITOR environment variable to bring up an editor to add a commit
|
|
87 |
comment.
|
|
88 |
|
|
89 |
diff [-r revision] [-r revision] [files ...]::
|
|
90 |
generate a unified diff of the indicated files. If there are no
|
|
91 |
revisions specified, the working directory file is compared to
|
|
92 |
the tip, one revision specified indicates a comparison between the
|
|
93 |
working directory file and the specified revision, two revisions
|
|
94 |
compares the two versions specified.
|
|
95 |
|
|
96 |
dump <file> [revision]::
|
|
97 |
print the indicated revision of the file
|
|
98 |
|
|
99 |
dumpmanifest [revision]::
|
|
100 |
print the indicated revision of the manifest (list of version controlled
|
|
101 |
files)
|
|
102 |
|
|
103 |
history::
|
|
104 |
print the revision history of the repository
|
|
105 |
|
|
106 |
init::
|
|
107 |
initialize a repository in the current directory
|
|
108 |
|
|
109 |
log <file>::
|
|
110 |
print the revision history of the specified file
|
|
111 |
|
|
112 |
merge <repository path>::
|
|
113 |
pull any changes from the specified repository to the repository in the
|
|
114 |
current directory. Use the value of the HGMERGE environment variable
|
|
115 |
as a program to resolve any merge conflicts between the two repositories.
|
|
116 |
An implicit commit is done at the end of this process if there were any
|
|
117 |
merge conflicts. Note that merge does not yet merge with changed files
|
|
118 |
in the working dir.
|
|
119 |
|
|
120 |
remove [files ...]::
|
|
121 |
schedule the indicated files for removal from the repository at the next
|
|
122 |
commit
|
|
123 |
|
|
124 |
serve [-a addr -n name -p port -t templatedir]::
|
|
125 |
this will start an http server, by default on port 8000, that will
|
|
126 |
allow browsing the repository using the hgweb interface and will allow
|
|
127 |
merging from the repository. -a sets the interface address, -p the
|
|
128 |
port to listen on, -n the name of the repository and -t sets the
|
|
129 |
location of the template directory.
|
|
130 |
|
|
131 |
status::
|
|
132 |
list new, changed, and missing files in the working directory
|
|
133 |
|
|
134 |
tags::
|
|
135 |
list the current tags
|
|
136 |
|
|
137 |
ENVIRONMENT VARIABLES
|
|
138 |
---------------------
|
|
139 |
HGMERGE::
|
|
140 |
points to an executable to use for resolving merge conflicts, the
|
|
141 |
program will be executed with four arguments: local file, remote
|
|
142 |
file, ancestor file, and original filename.
|
|
143 |
|
|
144 |
HGUSER::
|
|
145 |
this is the string used for the author value of a commit
|
|
146 |
|
|
147 |
HG_OPTS::
|
|
148 |
this string is used for default arguments to hg
|
|
149 |
|
|
150 |
PYTHONPATH::
|
|
151 |
this is used by Python to find imported modules and needs to be set
|
|
152 |
appropriately based on where mercurial is installed
|
|
153 |
|
|
154 |
EMAIL::
|
|
155 |
if HGUSER is not set, this will be used next as the author value for
|
|
156 |
a commit
|
|
157 |
|
|
158 |
LOGNAME::
|
|
159 |
if neither HGUSER nor EMAIL is set, LOGNAME will be used (with
|
|
160 |
'@hostname' appended) as the author value for a commit
|
|
161 |
|
|
162 |
EDITOR::
|
|
163 |
this is the name of the editor to use when committing
|
|
164 |
|
|
165 |
FILES
|
|
166 |
-----
|
|
167 |
.hgignore::
|
|
168 |
this file contains regular expressions (one per line) that describe file
|
|
169 |
names that should be ignored by hg
|
|
170 |
|
|
171 |
.hgtags::
|
|
172 |
this file contains changeset hash values and text tag names (one of each
|
|
173 |
seperated by spaces) that correspond to tagged versions of the repository
|
|
174 |
contents.
|
|
175 |
|
|
176 |
BUGS
|
|
177 |
----
|
|
178 |
Probably lots, please post them to the mailing list (See Resources below)
|
|
179 |
when you find them.
|
|
180 |
|
|
181 |
AUTHOR
|
|
182 |
------
|
|
183 |
Written by Matt Mackall <mpm@selenic.com>
|
|
184 |
|
|
185 |
RESOURCES
|
|
186 |
---------
|
|
187 |
http://selenic.com/mercurial[Main Web Site]
|
|
188 |
|
|
189 |
http://selenic.com/hg[Source code repository]
|
|
190 |
|
|
191 |
http://selenic.com/mailman/listinfo/mercurial[Mailing list]
|
|
192 |
|
|
193 |
COPYING
|
|
194 |
-------
|
|
195 |
Copyright (C) 2005 Matt Mackall.
|
|
196 |
Free use of this software is granted under the terms of the GNU General
|
|
197 |
Public License (GPL).
|