Mercurial > hg-stable
annotate doc/hg.1.txt @ 497:2dcced388cab
[PATCH] doc cleanups
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
[PATCH] doc cleanups
From: Pachi <pachi@mmn-arquitectos.com>
manifest hash: e6f721b21befe56fca36aac122b4e60755caafdb
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)
iD8DBQFCwQMPywK+sNU5EO8RAsLuAJ0ezRwgJxAhTiC8S5svurQUvACYvQCcCCUS
1KjmG2VxQo2bgtu97I/AUEE=
=bI7g
-----END PGP SIGNATURE-----
author | mpm@selenic.com |
---|---|
date | Mon, 27 Jun 2005 23:58:07 -0800 |
parents | 6ce95a04999d |
children | 8cf3999b3d03 |
rev | line source |
---|---|
177 | 1 HG(1) |
2 ===== | |
3 Matt Mackall <mpm@selenic.com> | |
478
f1804f2e7f35
Update of doc/hg.1.txt
Thomas Arendsen Hein <thomas@intevation.de>
parents:
438
diff
changeset
|
4 v0.6, 24 Jun 2005 |
177 | 5 |
6 NAME | |
7 ---- | |
438 | 8 hg - Mercurial source code management system |
177 | 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 OPTIONS | |
19 ------- | |
438 | 20 |
177 | 21 --debug, -d:: |
22 enable debugging output | |
23 | |
24 --quiet, -q:: | |
25 suppress output | |
26 | |
27 --verbose, -v:: | |
28 enable additional output | |
29 | |
30 --noninteractive, -y:: | |
31 do not prompt, assume 'yes' for any required answers | |
32 | |
33 COMMAND ELEMENTS | |
34 ---------------- | |
35 | |
36 files ...:: | |
37 indicates one or more filename or relative path filenames | |
38 | |
39 path:: | |
40 indicates a path on the local machine | |
41 | |
478
f1804f2e7f35
Update of doc/hg.1.txt
Thomas Arendsen Hein <thomas@intevation.de>
parents:
438
diff
changeset
|
42 revision:: |
438 | 43 indicates a changeset which can be specified as a changeset revision |
44 number, a tag, or a unique substring of the changeset hash value | |
177 | 45 |
46 repository path:: | |
47 is either the pathname of a local repository of the URI of a remote | |
181
038e4d8602bd
updated for .hgpaths and http/old-http protocol name change
jake@edge2.net
parents:
177
diff
changeset
|
48 repository. There are two available URI protocols, http:// which is |
478
f1804f2e7f35
Update of doc/hg.1.txt
Thomas Arendsen Hein <thomas@intevation.de>
parents:
438
diff
changeset
|
49 fast and the old-http:// protocol which is much slower but does not |
438 | 50 require a special server on the web host. |
177 | 51 |
52 COMMANDS | |
53 -------- | |
438 | 54 |
177 | 55 add [files ...]:: |
497 | 56 Schedule files to be version controlled and added to the repository. |
57 | |
58 The files get effectively added to the repository at the next commit. | |
177 | 59 |
60 addremove:: | |
497 | 61 Add all new files and remove all missing files from the repository. |
62 | |
63 New files are ignored if they match any of the patterns in .hgignore. As | |
64 with add, the effects of this command take place at the next commit. | |
177 | 65 |
438 | 66 annotate [-r <rev> -u -n -c] [files ...]:: |
497 | 67 List changes in files, showing the revision id responsible for each line |
68 | |
69 This command is useful to discover who did a change or when a change took | |
70 place. | |
71 | |
438 | 72 options: |
73 -r, --revision <rev> annotate the specified revision | |
74 -u, --user list the author | |
75 -c, --changeset list the changeset | |
76 -n, --number list the revision number (default) | |
177 | 77 |
438 | 78 cat <file> [revision]:: |
497 | 79 Output to stdout the given revision for the specified file. |
80 | |
81 In case no revision is given, then the tip is used. | |
177 | 82 |
485 | 83 clone [-U] <source> [dest]:: |
497 | 84 Create a copy of an existing repository in a new directory. |
85 | |
86 If the destination directory is specified, but doesn't exist, it is | |
87 created. If no destination directory is specified, it defaults to the | |
88 current directory. | |
89 | |
90 The source is added to the new copy's .hg/hgrc file to be used in | |
91 future pulls. | |
92 | |
93 For speed and storage size, hardlinks are used to do the copy whenever | |
94 the specified source and destination are on the same filesystem. | |
95 | |
96 options: | |
97 -U, --no-update do not update the new working directory | |
98 | |
99 commit [-A -t -l <file> -t <text> -u <user> -d <datecode>] [files...]:: | |
100 Incorporate changes from given files into the repository. | |
101 | |
102 If a list of files is ommited, all of the working dir files will | |
103 be commited. | |
104 | |
105 The EDITOR environment variable is used to bring up an editor to add | |
106 a commit comment. | |
107 | |
108 Options: | |
109 | |
110 -A, --addremove run addremove during commit | |
111 -t, --text <text> use <text> as commit message | |
112 -l, --logfile <file> show the commit message for the given file | |
113 -d, --date <datecode> record datecode as commit date | |
114 -u, --user <user> record user as commiter | |
115 | |
116 aliases: ci | |
117 | |
118 copy <source> <dest>:: | |
119 Mark <dest> file as a copy or rename of a <source> one | |
120 | |
121 This command takes effect for the next commit. | |
122 | |
123 diff [-r revision] [-r revision] [files ...]:: | |
124 Show differences between revisions for the specified files. | |
125 | |
126 Differences between files are shown using the unified diff format. | |
127 | |
128 When two revision arguments are given, then changes are shown between | |
129 such revisions. If only one revision is specified then that revision is | |
130 compared to the tip, and, when no revisions are specified, the working | |
131 directory files are compared to the tip. | |
132 | |
133 export [revision]:: | |
134 Print the changeset header and diffs for a particular revision. | |
135 | |
136 The information shown in the changeset header is: author, changeset hash, | |
137 parent and commit comment. | |
138 | |
139 forget [files]:: | |
140 Undo an 'hg add' scheduled for the next commit. | |
141 | |
142 heads:: | |
143 Show all repository head changesets. | |
144 | |
145 Repository "heads" are changesets that don't have children changesets. | |
146 They are where development generally takes place and are the usual targets | |
147 for update and merge operations. | |
148 | |
149 history:: | |
150 Print a log of the revision history of the repository. | |
151 | |
152 By default this command outputs: changeset id and hash, tags, parents, | |
153 user, date and time, and a summary for each commit. | |
154 The -v switch adds some more detail, such as changed files, manifest | |
155 hashes or message signatures. | |
156 | |
157 To display the history of a given file, see the log command. | |
158 | |
159 identify:: | |
160 Print a short summary of the current state of the repo. | |
161 | |
162 This summary identifies the repository state using one or two parent | |
163 hash identifiers, followed by a "+" if there are uncommitted changes | |
164 in the working directory, followed by a list of tags for this revision. | |
165 | |
166 aliases: id | |
167 | |
168 import [-p <n> -b <base> -q] <patches>:: | |
169 Import a list of patches and commit them individually. | |
170 | |
171 options: | |
172 -p, --strip <n> directory strip option for patch. This has the same | |
173 meaning as the correnponding patch option | |
174 -b <path> base directory to read patches from | |
175 | |
176 aliases: patch | |
177 | |
485 | 178 |
179 If the specified source is on the same filesystem, the repository | |
180 will be copied via hardlinks. This is the fastest and most | |
181 space-efficient mode of operation. | |
182 | |
183 If the destination directory is not specified, it defaults to the | |
184 current directory. | |
185 | |
186 If the destination is specified, but does not exist, it is created. | |
187 | |
188 The source is added to .hg/hgrc in the new copy as the default for | |
189 future pulls. | |
190 | |
191 options: | |
192 -U, --no-update do not update the new working directory | |
193 | |
496 | 194 init:: |
195 Initialize a new repository in the current directory. | |
177 | 196 |
197 log <file>:: | |
438 | 198 Print the revision history of the specified file. |
177 | 199 |
497 | 200 To display the revision history for the whole repository, use the history |
201 command. | |
202 | |
438 | 203 manifest [revision]:: |
497 | 204 Print a list of version controlled files for the given revision. |
205 | |
206 The manifest is the list of files being version controlled. If no revision | |
207 is given then the tip is used. | |
438 | 208 |
209 parents:: | |
210 Print the working directory's parent revisions. | |
211 | |
212 pull <repository path>:: | |
497 | 213 Pull any changes from a repository to the current directory's one. |
214 | |
215 Pulling is a fundamental operation in a distributed version control system, | |
216 as it eases handling changes from different branches, both local and | |
217 remote, into the current repository. | |
438 | 218 |
219 options: | |
220 -u, --update update the working directory to tip after pull | |
221 | |
222 push <destination>:: | |
497 | 223 Push changes from the local repository to the given destination. |
224 | |
225 This is the symmetrical operation for pull. It helps to move changes from | |
226 the current repository to a different one. If the destination is local | |
227 this is identical to a pull in that directory from the current one. | |
438 | 228 |
229 The other currently available push method is SSH. This requires an | |
230 accessible shell account on the destination machine and a copy of | |
231 hg in the remote path. Destinations are specified in the following | |
232 form: | |
233 | |
234 ssh://[user@]host[:port]/path | |
235 | |
236 rawcommit [-p -d -u -F -t -l]:: | |
497 | 237 Lowlevel commit, for use in helper scripts. |
238 | |
239 This command is not intended to be used by normal users, as it is | |
240 primarily useful for importing from other SCMs. | |
177 | 241 |
196
48827121af7e
add export, recover, and undo to the man page
jake@edge2.net
parents:
182
diff
changeset
|
242 recover:: |
497 | 243 Recover from an interrupted commit or pull. |
244 | |
245 This command tries to fix the repository status after an interrupted | |
246 operation. It should only be necessary when Mercurial suggests it. | |
196
48827121af7e
add export, recover, and undo to the man page
jake@edge2.net
parents:
182
diff
changeset
|
247 |
177 | 248 remove [files ...]:: |
497 | 249 Schedule the indicated files for removal from the repository. |
250 | |
251 This command shedules the files to be removed, but the actual removing | |
252 takes place at the next commit. | |
478
f1804f2e7f35
Update of doc/hg.1.txt
Thomas Arendsen Hein <thomas@intevation.de>
parents:
438
diff
changeset
|
253 |
438 | 254 aliases: rm |
177 | 255 |
478
f1804f2e7f35
Update of doc/hg.1.txt
Thomas Arendsen Hein <thomas@intevation.de>
parents:
438
diff
changeset
|
256 root:: |
f1804f2e7f35
Update of doc/hg.1.txt
Thomas Arendsen Hein <thomas@intevation.de>
parents:
438
diff
changeset
|
257 Print the root directory of the current repository. |
f1804f2e7f35
Update of doc/hg.1.txt
Thomas Arendsen Hein <thomas@intevation.de>
parents:
438
diff
changeset
|
258 |
177 | 259 serve [-a addr -n name -p port -t templatedir]:: |
438 | 260 Start a local HTTP repository browser and pull server. |
261 | |
262 options: | |
263 -a, --address <addr> address to use | |
264 -p, --port <n> port to use (default: 8000) | |
265 -n, --name <name> name to show in web pages (default: working dir) | |
266 -t, --templatedir <path> web templates to use | |
177 | 267 |
268 status:: | |
438 | 269 Show changed files in the working directory. |
270 | |
497 | 271 The codes used to show the status of files are: |
272 | |
438 | 273 C = changed |
274 A = added | |
275 R = removed | |
276 ? = not tracked | |
277 | |
278 tag [-t <text> -d <datecode> -u <user>] <name> [revision]:: | |
497 | 279 Name a particular revision using <name>. |
280 | |
281 Tags are used to name particular revisions of the repository and are | |
282 very useful to compare different revision, to go back to significant | |
283 earlier versions or to set special branch points, as releases, etc. | |
284 | |
285 If no revision is given as argument the tip is used. | |
438 | 286 |
497 | 287 This tags are versioned, and kept along with the repository metadata. But |
288 Mercurial has support for other type of tags that can be used locally for | |
289 convenience and that are created adding lines with a changeset hash value | |
290 and a name or names to name the revision in a .hgtags file | |
291 | |
438 | 292 options: |
293 -t, --text <text> message for tag commit log entry | |
294 -d, --date <datecode> datecode for commit | |
295 -u, --user <user> user for commit | |
177 | 296 |
297 tags:: | |
478
f1804f2e7f35
Update of doc/hg.1.txt
Thomas Arendsen Hein <thomas@intevation.de>
parents:
438
diff
changeset
|
298 List the repository tags. |
438 | 299 |
497 | 300 Local tags in the .hgtags don't get listed when using this command. |
301 | |
438 | 302 tip:: |
478
f1804f2e7f35
Update of doc/hg.1.txt
Thomas Arendsen Hein <thomas@intevation.de>
parents:
438
diff
changeset
|
303 Show the tip revision. |
177 | 304 |
196
48827121af7e
add export, recover, and undo to the man page
jake@edge2.net
parents:
182
diff
changeset
|
305 undo:: |
438 | 306 Undo the last commit or pull transaction. |
307 | |
308 update [-m -C] [revision]:: | |
497 | 309 Bring the working directory to the state of a given revision. |
438 | 310 |
497 | 311 After running this command the current directory will have the contents |
312 of the specified revision. | |
313 | |
314 If there were outstanding changes in the current directory and a merge | |
315 would be needed, the -m option can be used to merge those changes with | |
316 the target revision. Without the -m or --merge option, no merge | |
317 will happen. | |
318 | |
319 The -C or --clean option must be used in case a pristine version is | |
320 desired. In this case, existing changes will be discarded and lost. If | |
321 these changes should be kept, then a commit prior updating, or a merge | |
322 is due. | |
323 | |
438 | 324 options: |
325 -m, --merge allow merging of branches | |
326 -C, --clean overwrite locally modified files | |
327 | |
328 aliases: up checkout co | |
329 | |
330 verify:: | |
331 Verify the integrity of the current repository. | |
332 | |
333 This will perform an extensive check of the repository's | |
334 integrity, validating the hashes and checksums of each entry in | |
335 the changelog, manifest, and tracked files, as well as the | |
336 integrity of their crosslinks and indices. | |
337 | |
196
48827121af7e
add export, recover, and undo to the man page
jake@edge2.net
parents:
182
diff
changeset
|
338 |
177 | 339 ENVIRONMENT VARIABLES |
340 --------------------- | |
438 | 341 |
478
f1804f2e7f35
Update of doc/hg.1.txt
Thomas Arendsen Hein <thomas@intevation.de>
parents:
438
diff
changeset
|
342 HGEDITOR:: |
f1804f2e7f35
Update of doc/hg.1.txt
Thomas Arendsen Hein <thomas@intevation.de>
parents:
438
diff
changeset
|
343 This is the name of the editor to use when committing. Defaults to the |
f1804f2e7f35
Update of doc/hg.1.txt
Thomas Arendsen Hein <thomas@intevation.de>
parents:
438
diff
changeset
|
344 value of EDITOR. |
f1804f2e7f35
Update of doc/hg.1.txt
Thomas Arendsen Hein <thomas@intevation.de>
parents:
438
diff
changeset
|
345 |
177 | 346 HGMERGE:: |
438 | 347 An executable to use for resolving merge conflicts. The program , |
348 will be executed with three arguments: local file, remote file, | |
349 ancestor file. | |
350 | |
351 The default program is "hgmerge", which is a shell script provided | |
352 by Mercurial with some sensible defaults. | |
177 | 353 |
354 HGUSER:: | |
438 | 355 This is the string used for the author of a commit. |
177 | 356 |
357 EMAIL:: | |
438 | 358 If HGUSER is not set, this will be used as the author for a commit. |
177 | 359 |
360 LOGNAME:: | |
478
f1804f2e7f35
Update of doc/hg.1.txt
Thomas Arendsen Hein <thomas@intevation.de>
parents:
438
diff
changeset
|
361 If neither HGUSER nor EMAIL is set, LOGNAME will be used (with |
438 | 362 '@hostname' appended) as the author value for a commit. |
177 | 363 |
364 EDITOR:: | |
478
f1804f2e7f35
Update of doc/hg.1.txt
Thomas Arendsen Hein <thomas@intevation.de>
parents:
438
diff
changeset
|
365 This is the name of the editor used in the hgmerge script. It will be |
f1804f2e7f35
Update of doc/hg.1.txt
Thomas Arendsen Hein <thomas@intevation.de>
parents:
438
diff
changeset
|
366 used for commit messages, too, if HGEDITOR isn't set. Defaults to 'vi'. |
438 | 367 |
368 PYTHONPATH:: | |
369 This is used by Python to find imported modules and may need to be set | |
370 appropriately if Mercurial is not installed system-wide. | |
177 | 371 |
372 FILES | |
373 ----- | |
374 .hgignore:: | |
438 | 375 This file contains regular expressions (one per line) that describe file |
478
f1804f2e7f35
Update of doc/hg.1.txt
Thomas Arendsen Hein <thomas@intevation.de>
parents:
438
diff
changeset
|
376 names that should be ignored by hg. |
177 | 377 |
378 .hgtags:: | |
438 | 379 This file contains changeset hash values and text tag names (one of each |
177 | 380 seperated by spaces) that correspond to tagged versions of the repository |
381 contents. | |
382 | |
438 | 383 $HOME/.hgrc, .hg/hgrc:: |
384 This file contains defaults and configuration. Values in .hg/hgrc | |
385 override those in .hgrc. | |
386 | |
387 NAMED REPOSITORIES | |
388 ------------------ | |
389 | |
487 | 390 To give symbolic names to a repository, create a section in .hgrc |
391 or .hg/hgrc containing assignments of names to paths. Example: | |
438 | 392 |
487 | 393 ----------------- |
438 | 394 [paths] |
395 hg = http://selenic.com/hg | |
478
f1804f2e7f35
Update of doc/hg.1.txt
Thomas Arendsen Hein <thomas@intevation.de>
parents:
438
diff
changeset
|
396 tah = http://hg.intevation.org/mercurial-tah/ |
487 | 397 ----------------- |
398 | |
399 | |
400 HOOKS | |
401 ----- | |
402 | |
403 Mercurial supports a set of 'hook', commands that get automatically | |
404 executed by various actions such as starting or finishing a commit. To | |
405 specify a hook, simply create an hgrc section like the following: | |
406 | |
407 ----------------- | |
408 [hooks] | |
409 precommit = echo "this hook gets executed immediately before a commit" | |
410 commit = hg export $NODE | mail -s "new commit $NODE" commit-list | |
411 ----------------- | |
412 | |
181
038e4d8602bd
updated for .hgpaths and http/old-http protocol name change
jake@edge2.net
parents:
177
diff
changeset
|
413 |
321 | 414 NON_TRANSPARENT PROXY SUPPORT |
438 | 415 ----------------------------- |
321 | 416 |
487 | 417 To access a Mercurial repository through a proxy, create a file |
418 $HOME/.hgrc in the following format: | |
321 | 419 |
487 | 420 -------------- |
321 | 421 [http_proxy] |
422 host=myproxy:8080 | |
423 user=<username> | |
424 passwd=<password> | |
425 no=<localhost1>,<localhost2>,<localhost3>,... | |
487 | 426 -------------- |
321 | 427 |
487 | 428 "user","passwd" fields are used for authenticating proxies, "no" is a |
429 comma-separated list of local host names for which proxy must be | |
430 bypassed. | |
431 | |
321 | 432 |
177 | 433 BUGS |
434 ---- | |
435 Probably lots, please post them to the mailing list (See Resources below) | |
436 when you find them. | |
437 | |
438 AUTHOR | |
439 ------ | |
440 Written by Matt Mackall <mpm@selenic.com> | |
441 | |
442 RESOURCES | |
443 --------- | |
444 http://selenic.com/mercurial[Main Web Site] | |
445 | |
446 http://selenic.com/hg[Source code repository] | |
447 | |
448 http://selenic.com/mailman/listinfo/mercurial[Mailing list] | |
449 | |
450 COPYING | |
451 ------- | |
452 Copyright (C) 2005 Matt Mackall. | |
453 Free use of this software is granted under the terms of the GNU General | |
454 Public License (GPL). |