Mercurial > hg
comparison doc/hg.1.txt @ 438:b38deaf7873e
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-----
author | mpm@selenic.com |
---|---|
date | Wed, 22 Jun 2005 22:33:30 -0800 |
parents | 27d08c0c2a7e |
children | f1804f2e7f35 934279f3ca53 |
comparison
equal
deleted
inserted
replaced
437:5b38a5af4019 | 438:b38deaf7873e |
---|---|
1 HG(1) | 1 HG(1) |
2 ===== | 2 ===== |
3 Matt Mackall <mpm@selenic.com> | 3 Matt Mackall <mpm@selenic.com> |
4 v0.5, 27 May 2005 | 4 v0.6, 27 May 2005 |
5 | 5 |
6 NAME | 6 NAME |
7 ---- | 7 ---- |
8 hg - command line interface to the Mercurial source code management system | 8 hg - Mercurial source code management system |
9 | 9 |
10 SYNOPSIS | 10 SYNOPSIS |
11 -------- | 11 -------- |
12 'hg' [-v -d -q -y] <command> [command options] [files] | 12 'hg' [-v -d -q -y] <command> [command options] [files] |
13 | 13 |
14 DESCRIPTION | 14 DESCRIPTION |
15 ----------- | 15 ----------- |
16 The hg(1) command provides a command line interface to the Mercurial system. | 16 The hg(1) command provides a command line interface to the Mercurial system. |
17 | 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 | 18 OPTIONS |
27 ------- | 19 ------- |
20 | |
28 --debug, -d:: | 21 --debug, -d:: |
29 enable debugging output | 22 enable debugging output |
30 | 23 |
31 --quiet, -q:: | 24 --quiet, -q:: |
32 suppress output | 25 suppress output |
44 indicates one or more filename or relative path filenames | 37 indicates one or more filename or relative path filenames |
45 | 38 |
46 path:: | 39 path:: |
47 indicates a path on the local machine | 40 indicates a path on the local machine |
48 | 41 |
49 revision:: | 42 revision:: |
50 indicates a changeset which can be specified as a changeset id (int), | 43 indicates a changeset which can be specified as a changeset revision |
51 a tag, or a unique substring of the changeset hash value | 44 number, a tag, or a unique substring of the changeset hash value |
52 | 45 |
53 repository path:: | 46 repository path:: |
54 is either the pathname of a local repository of the URI of a remote | 47 is either the pathname of a local repository of the URI of a remote |
55 repository. There are two available URI protocols, http:// which is | 48 repository. There are two available URI protocols, http:// which is |
56 fast and the old-http:// protocol which is much slower but does not | 49 fast and the old-http:// protocol which is much slower but does not |
57 require python on the web host. | 50 require a special server on the web host. |
58 | 51 |
59 COMMANDS | 52 COMMANDS |
60 -------- | 53 -------- |
54 | |
61 add [files ...]:: | 55 add [files ...]:: |
62 add the given files to the repository. Note that this just schedules the | 56 Add the given files to the repository. Note that this just schedules the |
63 files for addition at the next hg commit time. | 57 files for addition at the next hg commit time. |
64 | 58 |
65 addremove:: | 59 addremove:: |
66 add all new files and remove all missing files from the repository. new | 60 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 | 61 files are ignored if they match any of the patterns in .hgignore |
68 | 62 |
69 annotate [-r revision -u -n -c] [files ...]:: | 63 annotate [-r <rev> -u -n -c] [files ...]:: |
70 list the files with each line showing the revision id responsible | 64 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 | 65 for that line. |
72 print the changeset hash, and -n will ... | 66 |
73 | 67 options: |
74 branch <path>:: | 68 -r, --revision <rev> annotate the specified revision |
75 create a new branch of the repository indicated by path in the current | 69 -u, --user list the author |
76 directory. Note that there should not be a repository already initialized | 70 -c, --changeset list the changeset |
77 in the current directory | 71 -n, --number list the revision number (default) |
78 | 72 |
79 checkout [revision]:: | 73 cat <file> [revision]:: |
80 check out the indicated version of the repository into the working | 74 Output the given revision or tip of the specified file to stdout. |
81 directory. Note that currently no merge occurs with changed files | 75 |
82 in the working dir. | 76 commit [-A -t -l <file> -t <text> -u <user> -d <datecode>] [files...]:: |
83 | |
84 commit:: | |
85 commit all changed files in the working dir to the repository. This uses | 77 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 | 78 the EDITOR environment variable to bring up an editor to add a commit |
87 comment. | 79 comment. |
88 | 80 |
81 Options: | |
82 | |
83 -A, --addremove run addremove during commit | |
84 -t, --text <text> use <text> as commit message | |
85 -l, --logfile <file> read the commit message from the specified | |
86 file | |
87 -d, --date <datecode> use the specified date code | |
88 -u, --user <user> record commit as the specified user | |
89 | |
90 aliases: ci | |
91 | |
92 copy <source> <dest>:: | |
93 Mark a file as copied or renamed for the next commit. | |
94 | |
89 diff [-r revision] [-r revision] [files ...]:: | 95 diff [-r revision] [-r revision] [files ...]:: |
90 generate a unified diff of the indicated files. If there are no | 96 Generate a unified diff of the indicated files. If there are no |
91 revisions specified, the working directory file is compared to | 97 revisions specified, the working directory file is compared to |
92 the tip, one revision specified indicates a comparison between the | 98 the tip, one revision specified indicates a comparison between the |
93 working directory file and the specified revision, two revisions | 99 working directory file and the specified revision, and two revisions |
94 compares the two versions specified. | 100 compares the two versions specified. |
95 | 101 |
96 dump <file> [revision]:: | 102 export [revision]:: |
97 print the indicated revision of the file | 103 Print the changeset header (author, changeset hash, parent, and commit |
98 | 104 comment) and the diffs for a particular revision. |
99 dumpmanifest [revision]:: | 105 |
100 print the indicated revision of the manifest (list of version controlled | 106 forget [files]:: |
107 Undo an 'hg add' scheduled for the next commit. | |
108 | |
109 heads:: | |
110 Show all changesets with no children. These are the "heads" of | |
111 development branches and are the usual targets for updates and merges. | |
112 | |
113 history:: | |
114 Print the revision history of the repository. Use the -v switch | |
115 for more detail. | |
116 | |
117 identify:: | |
118 Print a short identifier of the current state of the repo. This | |
119 includes one or two parent hash identifiers, followed by | |
120 a "+" if there are uncommitted changes in the working directory, | |
121 followed by a list of tags for this revision | |
122 | |
123 aliases: id | |
124 | |
125 import [-p <n> -b <base> -q] <patches>:: | |
126 Import the listed patches and commit them individually. | |
127 | |
128 options: | |
129 -p, --strip <n> directory strip option for patch | |
130 -b <path> base directory to read patches from | |
131 | |
132 aliases: patch | |
133 | |
134 init [-u] [source]:: | |
135 Initialize a repository in the current directory. | |
136 | |
137 If a source is specified, pull that source into the repository. | |
138 This source is added to .hg/hgrc as the default for future pulls | |
139 in this repository. | |
140 | |
141 If the specified source is on the same filesystem, the repository | |
142 will be copied via hardlinks. This is the fastest and most | |
143 space-efficient mode of operation. | |
144 | |
145 options: | |
146 -u, --update update the working directory to match the tip | |
147 | |
148 log <file>:: | |
149 Print the revision history of the specified file. | |
150 | |
151 manifest [revision]:: | |
152 Print the indicated revision of the manifest (list of version controlled | |
101 files) | 153 files) |
102 | 154 |
103 export [revision]:: | 155 parents:: |
104 print the changeset header (author, changeset hash, parent, and commit | 156 Print the working directory's parent revisions. |
105 comment) and the diffs for a particular revision. | 157 |
106 | 158 pull <repository path>:: |
107 history:: | |
108 print the revision history of the repository | |
109 | |
110 init:: | |
111 initialize a repository in the current directory | |
112 | |
113 log <file>:: | |
114 print the revision history of the specified file | |
115 | |
116 merge <repository path>:: | |
117 pull any changes from the specified repository to the repository in the | 159 pull any changes from the specified repository to the repository in the |
118 current directory. Use the value of the HGMERGE environment variable | 160 current directory. |
119 as a program to resolve any merge conflicts between the two repositories. | 161 |
120 An implicit commit is done at the end of this process if there were any | 162 options: |
121 merge conflicts. Note that merge does not yet merge with changed files | 163 -u, --update update the working directory to tip after pull |
122 in the working dir. | 164 |
165 push <destination>:: | |
166 Push changes from the local repository to the specified | |
167 destination. If the destination is local, this is identical to a | |
168 a pull in that directory from the current directory. | |
169 | |
170 The other currently available push method is SSH. This requires an | |
171 accessible shell account on the destination machine and a copy of | |
172 hg in the remote path. Destinations are specified in the following | |
173 form: | |
174 | |
175 ssh://[user@]host[:port]/path | |
176 | |
177 rawcommit [-p -d -u -F -t -l]:: | |
178 Primarily useful for importing from other SCMs. | |
123 | 179 |
124 recover:: | 180 recover:: |
125 rollback an interrupted transaction | 181 Recover from an interrupted commit or pull. This should only be |
182 necessary when Mercurial suggests it. | |
126 | 183 |
127 remove [files ...]:: | 184 remove [files ...]:: |
128 schedule the indicated files for removal from the repository at the next | 185 schedule the indicated files for removal from the repository at the next |
129 commit | 186 commit |
187 | |
188 aliases: rm | |
130 | 189 |
131 serve [-a addr -n name -p port -t templatedir]:: | 190 serve [-a addr -n name -p port -t templatedir]:: |
132 this will start an http server, by default on port 8000, that will | 191 Start a local HTTP repository browser and pull server. |
133 allow browsing the repository using the hgweb interface and will allow | 192 |
134 merging from the repository. -a sets the interface address, -p the | 193 options: |
135 port to listen on, -n the name of the repository and -t sets the | 194 -a, --address <addr> address to use |
136 location of the template directory. | 195 -p, --port <n> port to use (default: 8000) |
196 -n, --name <name> name to show in web pages (default: working dir) | |
197 -t, --templatedir <path> web templates to use | |
137 | 198 |
138 status:: | 199 status:: |
139 list new, changed, and missing files in the working directory | 200 Show changed files in the working directory. |
201 | |
202 C = changed | |
203 A = added | |
204 R = removed | |
205 ? = not tracked | |
206 | |
207 tag [-t <text> -d <datecode> -u <user>] <name> [revision]:: | |
208 Add a tag <name> to the specified revision or the tip. | |
209 | |
210 options: | |
211 -t, --text <text> message for tag commit log entry | |
212 -d, --date <datecode> datecode for commit | |
213 -u, --user <user> user for commit | |
140 | 214 |
141 tags:: | 215 tags:: |
142 list the current tags | 216 List the current tags. |
217 | |
218 tip:: | |
219 Show the tip revision | |
143 | 220 |
144 undo:: | 221 undo:: |
145 undo the last transaction | 222 Undo the last commit or pull transaction. |
223 | |
224 update [-m -C] [revision]:: | |
225 Update or merge the working directory to a specified revision. | |
226 | |
227 If there are no outstanding changes in the working directory and | |
228 there is a linear relationship between the current version and the | |
229 requested version, the result is the requested version. | |
230 | |
231 Otherwise the result is a merge between the contents of the | |
232 current working directory and the requested version. Files that | |
233 changed between either parent are marked as changed for the next | |
234 commit and a commit must be performed before any further updates | |
235 are allowed. Merging will not be performed without the -m flag. | |
236 | |
237 The -C switch will tell Mercurial to forcibly update to the | |
238 specified version, adding, removing, and overwriting locally | |
239 changed fils as necessary. | |
240 | |
241 options: | |
242 -m, --merge allow merging of branches | |
243 -C, --clean overwrite locally modified files | |
244 | |
245 aliases: up checkout co | |
246 | |
247 verify:: | |
248 Verify the integrity of the current repository. | |
249 | |
250 This will perform an extensive check of the repository's | |
251 integrity, validating the hashes and checksums of each entry in | |
252 the changelog, manifest, and tracked files, as well as the | |
253 integrity of their crosslinks and indices. | |
254 | |
146 | 255 |
147 ENVIRONMENT VARIABLES | 256 ENVIRONMENT VARIABLES |
148 --------------------- | 257 --------------------- |
258 | |
149 HGMERGE:: | 259 HGMERGE:: |
150 points to an executable to use for resolving merge conflicts, the | 260 An executable to use for resolving merge conflicts. The program , |
151 program will be executed with four arguments: local file, remote | 261 will be executed with three arguments: local file, remote file, |
152 file, ancestor file, and original filename. | 262 ancestor file. |
263 | |
264 The default program is "hgmerge", which is a shell script provided | |
265 by Mercurial with some sensible defaults. | |
153 | 266 |
154 HGUSER:: | 267 HGUSER:: |
155 this is the string used for the author value of a commit | 268 This is the string used for the author of a commit. |
156 | |
157 HG_OPTS:: | |
158 this string is used for default arguments to hg | |
159 | |
160 PYTHONPATH:: | |
161 this is used by Python to find imported modules and needs to be set | |
162 appropriately based on where mercurial is installed | |
163 | 269 |
164 EMAIL:: | 270 EMAIL:: |
165 if HGUSER is not set, this will be used next as the author value for | 271 If HGUSER is not set, this will be used as the author for a commit. |
166 a commit | |
167 | 272 |
168 LOGNAME:: | 273 LOGNAME:: |
169 if neither HGUSER nor EMAIL is set, LOGNAME will be used (with | 274 if neither HGUSER nor EMAIL is set, LOGNAME will be used (with |
170 '@hostname' appended) as the author value for a commit | 275 '@hostname' appended) as the author value for a commit. |
171 | 276 |
172 EDITOR:: | 277 EDITOR:: |
173 this is the name of the editor to use when committing | 278 This is the name of the editor to use when committing. Defaults to 'vi'. |
279 | |
280 PYTHONPATH:: | |
281 This is used by Python to find imported modules and may need to be set | |
282 appropriately if Mercurial is not installed system-wide. | |
174 | 283 |
175 FILES | 284 FILES |
176 ----- | 285 ----- |
177 .hgignore:: | 286 .hgignore:: |
178 this file contains regular expressions (one per line) that describe file | 287 This file contains regular expressions (one per line) that describe file |
179 names that should be ignored by hg | 288 names that should be ignored by hg |
180 | 289 |
181 .hgtags:: | 290 .hgtags:: |
182 this file contains changeset hash values and text tag names (one of each | 291 This file contains changeset hash values and text tag names (one of each |
183 seperated by spaces) that correspond to tagged versions of the repository | 292 seperated by spaces) that correspond to tagged versions of the repository |
184 contents. | 293 contents. |
185 | 294 |
186 $HOME/.hgpaths:: | 295 $HOME/.hgrc, .hg/hgrc:: |
187 this file contains a mapping from a symbolic name to a repository path | 296 This file contains defaults and configuration. Values in .hg/hgrc |
188 (which could be a local path or a remote URI), the format is | 297 override those in .hgrc. |
189 <symbolic name> <repository path> with each mapping on a seperate line | 298 |
299 NAMED REPOSITORIES | |
300 ------------------ | |
301 | |
302 To give symbolic names to a repository, create a section in .hgrc | |
303 or .hg/hgrc containing assignments of names to paths. | |
304 | |
305 Example: | |
306 | |
307 [paths] | |
308 hg = http://selenic.com/hg | |
190 | 309 |
191 NON_TRANSPARENT PROXY SUPPORT | 310 NON_TRANSPARENT PROXY SUPPORT |
192 ----- | 311 ----------------------------- |
193 | 312 |
194 To access a mercurial repository through a proxy, | 313 To access a Mercurial repository through a proxy, |
195 create a file $HOME/.hgrc in the following format: | 314 create a file $HOME/.hgrc in the following format: |
196 | 315 |
197 [http_proxy] | 316 [http_proxy] |
198 host=myproxy:8080 | 317 host=myproxy:8080 |
199 user=<username> | 318 user=<username> |