Mercurial > hg > mercurial-crew-with-dirclash
annotate doc/hg.1 @ 249:619e775aa7f9
import and startup cleanups
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
import and startup cleanups
add commands:run()
add copyright notice to commands
eliminate/reorganize imports to speed up start time:
0.5b:
$ time bash -c 'for i in `seq 100`; do ~/bin/hg > /dev/null; done'
real 0m7.718s
user 0m6.719s
sys 0m0.794s
new:
$ time bash -c 'for i in `seq 100`; do hg > /dev/null; done'
real 0m2.171s
user 0m1.684s
sys 0m0.444s
just python:
$ time bash -c 'for i in `seq 100`; do python -c pass; done'
real 0m0.988s
user 0m0.771s
sys 0m0.207s
Ignoring the fixed cost of loading the Python interpreter, we're 5.6
times faster. With the Python load time, we're still 3.5 times faster.
manifest hash: acce5882a55c76eb165316f5741724c8ce4ef587
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)
iD8DBQFCoihAywK+sNU5EO8RAqMdAJwMe6Ur0R9G6jjayNa5hH2C3c4k/gCeIYvc
N178vaWWGciX9zq+g5qCAls=
=buhv
-----END PGP SIGNATURE-----
author | mpm@selenic.com |
---|---|
date | Sat, 04 Jun 2005 14:16:32 -0800 |
parents | 48827121af7e |
children |
rev | line source |
---|---|
177 | 1 .\"Generated by db2man.xsl. Don't modify this, modify the source. |
2 .de Sh \" Subsection | |
3 .br | |
4 .if t .Sp | |
5 .ne 5 | |
6 .PP | |
7 \fB\\$1\fR | |
8 .PP | |
9 .. | |
10 .de Sp \" Vertical space (when we can't use .PP) | |
11 .if t .sp .5v | |
12 .if n .sp | |
13 .. | |
14 .de Ip \" List item | |
15 .br | |
16 .ie \\n(.$>=3 .ne \\$3 | |
17 .el .ne 3 | |
18 .IP "\\$1" \\$2 | |
19 .. | |
20 .TH "HG" 1 "" "" "" | |
21 .SH NAME | |
22 hg \- command line interface to the Mercurial source code management system | |
23 .SH "SYNOPSIS" | |
24 | |
25 | |
26 hg [\-v \-d \-q \-y] <command> [command options] [files] | |
27 | |
28 .SH "DESCRIPTION" | |
29 | |
30 | |
31 The hg(1) command provides a command line interface to the Mercurial system\&. | |
32 | |
33 .SH "NOTE" | |
34 | |
35 | |
36 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\&. | |
37 | |
38 .SH "OPTIONS" | |
39 | |
40 .TP | |
41 --debug, \-d | |
42 enable debugging output | |
43 | |
44 .TP | |
45 --quiet, \-q | |
46 suppress output | |
47 | |
48 .TP | |
49 --verbose, \-v | |
50 enable additional output | |
51 | |
52 .TP | |
53 --noninteractive, \-y | |
54 do not prompt, assume yes for any required answers | |
55 | |
56 .SH "COMMAND ELEMENTS" | |
57 | |
58 .TP | |
59 files ... | |
60 indicates one or more filename or relative path filenames | |
61 | |
62 .TP | |
63 path | |
64 indicates a path on the local machine | |
65 | |
66 .TP | |
67 revision | |
68 indicates a changeset which can be specified as a changeset id (int), a tag, or a unique substring of the changeset hash value | |
69 | |
70 .TP | |
71 repository path | |
181
038e4d8602bd
updated for .hgpaths and http/old-http protocol name change
jake@edge2.net
parents:
177
diff
changeset
|
72 is either the pathname of a local repository of the URI of a remote repository\&. There are two available URI protocols, http:// which is fast and the old\-http:// protocol which is much slower but does not require python on the web host\&. |
177 | 73 |
74 .SH "COMMANDS" | |
75 | |
76 .TP | |
77 add [files ...] | |
78 add the given files to the repository\&. Note that this just schedules the files for addition at the next hg commit time\&. | |
79 | |
80 .TP | |
81 addremove | |
82 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 | |
83 | |
84 .TP | |
85 annotate [\-r revision \-u \-n \-c] [files ...] | |
86 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 ... | |
87 | |
88 .TP | |
89 branch <path> | |
90 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 | |
91 | |
92 .TP | |
93 checkout [revision] | |
94 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\&. | |
95 | |
96 .TP | |
97 commit | |
98 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\&. | |
99 | |
100 .TP | |
101 diff [\-r revision] [\-r revision] [files ...] | |
102 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\&. | |
103 | |
104 .TP | |
105 dump <file> [revision] | |
106 print the indicated revision of the file | |
107 | |
108 .TP | |
109 dumpmanifest [revision] | |
110 print the indicated revision of the manifest (list of version controlled files) | |
111 | |
112 .TP | |
196
48827121af7e
add export, recover, and undo to the man page
jake@edge2.net
parents:
182
diff
changeset
|
113 export [revision] |
48827121af7e
add export, recover, and undo to the man page
jake@edge2.net
parents:
182
diff
changeset
|
114 print the changeset header (author, changeset hash, parent, and commit comment) and the diffs for a particular revision\&. |
48827121af7e
add export, recover, and undo to the man page
jake@edge2.net
parents:
182
diff
changeset
|
115 |
48827121af7e
add export, recover, and undo to the man page
jake@edge2.net
parents:
182
diff
changeset
|
116 .TP |
177 | 117 history |
118 print the revision history of the repository | |
119 | |
120 .TP | |
121 init | |
122 initialize a repository in the current directory | |
123 | |
124 .TP | |
125 log <file> | |
126 print the revision history of the specified file | |
127 | |
128 .TP | |
129 merge <repository path> | |
130 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\&. | |
131 | |
132 .TP | |
196
48827121af7e
add export, recover, and undo to the man page
jake@edge2.net
parents:
182
diff
changeset
|
133 recover |
48827121af7e
add export, recover, and undo to the man page
jake@edge2.net
parents:
182
diff
changeset
|
134 rollback an interrupted transaction |
48827121af7e
add export, recover, and undo to the man page
jake@edge2.net
parents:
182
diff
changeset
|
135 |
48827121af7e
add export, recover, and undo to the man page
jake@edge2.net
parents:
182
diff
changeset
|
136 .TP |
177 | 137 remove [files ...] |
138 schedule the indicated files for removal from the repository at the next commit | |
139 | |
140 .TP | |
141 serve [\-a addr \-n name \-p port \-t templatedir] | |
142 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\&. | |
143 | |
144 .TP | |
145 status | |
146 list new, changed, and missing files in the working directory | |
147 | |
148 .TP | |
149 tags | |
150 list the current tags | |
151 | |
196
48827121af7e
add export, recover, and undo to the man page
jake@edge2.net
parents:
182
diff
changeset
|
152 .TP |
48827121af7e
add export, recover, and undo to the man page
jake@edge2.net
parents:
182
diff
changeset
|
153 undo |
48827121af7e
add export, recover, and undo to the man page
jake@edge2.net
parents:
182
diff
changeset
|
154 undo the last transaction |
48827121af7e
add export, recover, and undo to the man page
jake@edge2.net
parents:
182
diff
changeset
|
155 |
177 | 156 .SH "ENVIRONMENT VARIABLES" |
157 | |
158 .TP | |
159 HGMERGE | |
160 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\&. | |
161 | |
162 .TP | |
163 HGUSER | |
164 this is the string used for the author value of a commit | |
165 | |
166 .TP | |
167 HG_OPTS | |
168 this string is used for default arguments to hg | |
169 | |
170 .TP | |
171 PYTHONPATH | |
172 this is used by Python to find imported modules and needs to be set appropriately based on where mercurial is installed | |
173 | |
174 .TP | |
175 EMAIL | |
176 if HGUSER is not set, this will be used next as the author value for a commit | |
177 | |
178 .TP | |
179 LOGNAME | |
180 if neither HGUSER nor EMAIL is set, LOGNAME will be used (with @hostname appended) as the author value for a commit | |
181 | |
182 .TP | |
183 EDITOR | |
184 this is the name of the editor to use when committing | |
185 | |
186 .SH "FILES" | |
187 | |
188 .TP | |
189 \&.hgignore | |
190 this file contains regular expressions (one per line) that describe file names that should be ignored by hg | |
191 | |
192 .TP | |
193 \&.hgtags | |
194 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\&. | |
195 | |
181
038e4d8602bd
updated for .hgpaths and http/old-http protocol name change
jake@edge2.net
parents:
177
diff
changeset
|
196 .TP |
038e4d8602bd
updated for .hgpaths and http/old-http protocol name change
jake@edge2.net
parents:
177
diff
changeset
|
197 $HOME/\&.hgpaths |
038e4d8602bd
updated for .hgpaths and http/old-http protocol name change
jake@edge2.net
parents:
177
diff
changeset
|
198 this file contains a mapping from a symbolic name to a repository path (which could be a local path or a remote URI), the format is <symbolic name> <repository path> with each mapping on a seperate line |
038e4d8602bd
updated for .hgpaths and http/old-http protocol name change
jake@edge2.net
parents:
177
diff
changeset
|
199 |
177 | 200 .SH "BUGS" |
201 | |
202 | |
203 Probably lots, please post them to the mailing list (See Resources below) when you find them\&. | |
204 | |
205 .SH "AUTHOR" | |
206 | |
207 | |
208 Written by Matt Mackall <mpm@selenic\&.com> | |
209 | |
210 .SH "RESOURCES" | |
211 | |
212 | |
213 Main Web Site: \fIhttp://selenic.com/mercurial\fR | |
214 | |
215 | |
216 Source code repository: \fIhttp://selenic.com/hg\fR | |
217 | |
218 | |
219 Mailing list: \fIhttp://selenic.com/mailman/listinfo/mercurial\fR | |
220 | |
221 .SH "COPYING" | |
222 | |
223 | |
224 Copyright (C) 2005 Matt Mackall\&. Free use of this software is granted under the terms of the GNU General Public License (GPL)\&. | |
225 |