Mercurial > hg > mercurial-crew-with-dirclash
annotate doc/hg.1.txt @ 451:c9d134165392
Make lookup a bit smarter
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Make lookup a bit smarter
Handle overflow error
Handle "0000" -> nullid, not 0
manifest hash: f3af0c171216687c621fd0214efe45775e5a1d34
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)
iD8DBQFCu2PrywK+sNU5EO8RArqWAJ9hafXgnHjCDE/Sxtvyo+e+qmPaGgCfR8AV
DCG3i0NasG3ItbPvux2Dm5Q=
=zjqN
-----END PGP SIGNATURE-----
author | mpm@selenic.com |
---|---|
date | Thu, 23 Jun 2005 17:37:47 -0800 |
parents | b38deaf7873e |
children | f1804f2e7f35 934279f3ca53 |
rev | line source |
---|---|
177 | 1 HG(1) |
2 ===== | |
3 Matt Mackall <mpm@selenic.com> | |
438 | 4 v0.6, 27 May 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 | |
438 | 42 revision:: |
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 |
038e4d8602bd
updated for .hgpaths and http/old-http protocol name change
jake@edge2.net
parents:
177
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 ...]:: |
438 | 56 Add the given files to the repository. Note that this just schedules the |
177 | 57 files for addition at the next hg commit time. |
58 | |
59 addremove:: | |
438 | 60 Add all new files and remove all missing files from the repository. New |
177 | 61 files are ignored if they match any of the patterns in .hgignore |
62 | |
438 | 63 annotate [-r <rev> -u -n -c] [files ...]:: |
64 List the files with each line showing the revision id responsible | |
65 for that line. | |
177 | 66 |
438 | 67 options: |
68 -r, --revision <rev> annotate the specified revision | |
69 -u, --user list the author | |
70 -c, --changeset list the changeset | |
71 -n, --number list the revision number (default) | |
177 | 72 |
438 | 73 cat <file> [revision]:: |
74 Output the given revision or tip of the specified file to stdout. | |
177 | 75 |
438 | 76 commit [-A -t -l <file> -t <text> -u <user> -d <datecode>] [files...]:: |
177 | 77 commit all changed files in the working dir to the repository. This uses |
78 the EDITOR environment variable to bring up an editor to add a commit | |
79 comment. | |
80 | |
438 | 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 | |
177 | 95 diff [-r revision] [-r revision] [files ...]:: |
438 | 96 Generate a unified diff of the indicated files. If there are no |
177 | 97 revisions specified, the working directory file is compared to |
98 the tip, one revision specified indicates a comparison between the | |
438 | 99 working directory file and the specified revision, and two revisions |
177 | 100 compares the two versions specified. |
101 | |
438 | 102 export [revision]:: |
103 Print the changeset header (author, changeset hash, parent, and commit | |
104 comment) and the diffs for a particular revision. | |
177 | 105 |
438 | 106 forget [files]:: |
107 Undo an 'hg add' scheduled for the next commit. | |
177 | 108 |
438 | 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. | |
196
48827121af7e
add export, recover, and undo to the man page
jake@edge2.net
parents:
182
diff
changeset
|
112 |
177 | 113 history:: |
438 | 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. | |
177 | 127 |
438 | 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 | |
177 | 147 |
148 log <file>:: | |
438 | 149 Print the revision history of the specified file. |
177 | 150 |
438 | 151 manifest [revision]:: |
152 Print the indicated revision of the manifest (list of version controlled | |
153 files) | |
154 | |
155 parents:: | |
156 Print the working directory's parent revisions. | |
157 | |
158 pull <repository path>:: | |
177 | 159 pull any changes from the specified repository to the repository in the |
438 | 160 current directory. |
161 | |
162 options: | |
163 -u, --update update the working directory to tip after pull | |
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. | |
177 | 179 |
196
48827121af7e
add export, recover, and undo to the man page
jake@edge2.net
parents:
182
diff
changeset
|
180 recover:: |
438 | 181 Recover from an interrupted commit or pull. This should only be |
182 necessary when Mercurial suggests it. | |
196
48827121af7e
add export, recover, and undo to the man page
jake@edge2.net
parents:
182
diff
changeset
|
183 |
177 | 184 remove [files ...]:: |
185 schedule the indicated files for removal from the repository at the next | |
186 commit | |
438 | 187 |
188 aliases: rm | |
177 | 189 |
190 serve [-a addr -n name -p port -t templatedir]:: | |
438 | 191 Start a local HTTP repository browser and pull server. |
192 | |
193 options: | |
194 -a, --address <addr> address to use | |
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 | |
177 | 198 |
199 status:: | |
438 | 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 | |
177 | 214 |
215 tags:: | |
438 | 216 List the current tags. |
217 | |
218 tip:: | |
219 Show the tip revision | |
177 | 220 |
196
48827121af7e
add export, recover, and undo to the man page
jake@edge2.net
parents:
182
diff
changeset
|
221 undo:: |
438 | 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 | |
196
48827121af7e
add export, recover, and undo to the man page
jake@edge2.net
parents:
182
diff
changeset
|
255 |
177 | 256 ENVIRONMENT VARIABLES |
257 --------------------- | |
438 | 258 |
177 | 259 HGMERGE:: |
438 | 260 An executable to use for resolving merge conflicts. The program , |
261 will be executed with three arguments: local file, remote file, | |
262 ancestor file. | |
263 | |
264 The default program is "hgmerge", which is a shell script provided | |
265 by Mercurial with some sensible defaults. | |
177 | 266 |
267 HGUSER:: | |
438 | 268 This is the string used for the author of a commit. |
177 | 269 |
270 EMAIL:: | |
438 | 271 If HGUSER is not set, this will be used as the author for a commit. |
177 | 272 |
273 LOGNAME:: | |
274 if neither HGUSER nor EMAIL is set, LOGNAME will be used (with | |
438 | 275 '@hostname' appended) as the author value for a commit. |
177 | 276 |
277 EDITOR:: | |
438 | 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. | |
177 | 283 |
284 FILES | |
285 ----- | |
286 .hgignore:: | |
438 | 287 This file contains regular expressions (one per line) that describe file |
177 | 288 names that should be ignored by hg |
289 | |
290 .hgtags:: | |
438 | 291 This file contains changeset hash values and text tag names (one of each |
177 | 292 seperated by spaces) that correspond to tagged versions of the repository |
293 contents. | |
294 | |
438 | 295 $HOME/.hgrc, .hg/hgrc:: |
296 This file contains defaults and configuration. Values in .hg/hgrc | |
297 override those in .hgrc. | |
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 | |
181
038e4d8602bd
updated for .hgpaths and http/old-http protocol name change
jake@edge2.net
parents:
177
diff
changeset
|
309 |
321 | 310 NON_TRANSPARENT PROXY SUPPORT |
438 | 311 ----------------------------- |
321 | 312 |
438 | 313 To access a Mercurial repository through a proxy, |
321 | 314 create a file $HOME/.hgrc in the following format: |
315 | |
316 [http_proxy] | |
317 host=myproxy:8080 | |
318 user=<username> | |
319 passwd=<password> | |
320 no=<localhost1>,<localhost2>,<localhost3>,... | |
321 | |
322 "user","passwd" fields are used for authenticating proxies, | |
323 "no" is a comma-separated list of local host names | |
324 for which proxy must be bypassed. | |
325 | |
177 | 326 BUGS |
327 ---- | |
328 Probably lots, please post them to the mailing list (See Resources below) | |
329 when you find them. | |
330 | |
331 AUTHOR | |
332 ------ | |
333 Written by Matt Mackall <mpm@selenic.com> | |
334 | |
335 RESOURCES | |
336 --------- | |
337 http://selenic.com/mercurial[Main Web Site] | |
338 | |
339 http://selenic.com/hg[Source code repository] | |
340 | |
341 http://selenic.com/mailman/listinfo/mercurial[Mailing list] | |
342 | |
343 COPYING | |
344 ------- | |
345 Copyright (C) 2005 Matt Mackall. | |
346 Free use of this software is granted under the terms of the GNU General | |
347 Public License (GPL). |