##// END OF EJS Templates
tests: fix up changed output
Matt Mackall -
r12787:e8a8993b default
parent child Browse files
Show More
@@ -1,387 +1,387 b''
1
1
2 $ cat >> $HGRCPATH <<EOF
2 $ cat >> $HGRCPATH <<EOF
3 > [extensions]
3 > [extensions]
4 > convert=
4 > convert=
5 > [convert]
5 > [convert]
6 > hg.saverev=False
6 > hg.saverev=False
7 > EOF
7 > EOF
8 $ hg help convert
8 $ hg help convert
9 hg convert [OPTION]... SOURCE [DEST [REVMAP]]
9 hg convert [OPTION]... SOURCE [DEST [REVMAP]]
10
10
11 convert a foreign SCM repository to a Mercurial one.
11 convert a foreign SCM repository to a Mercurial one.
12
12
13 Accepted source formats [identifiers]:
13 Accepted source formats [identifiers]:
14
14
15 - Mercurial [hg]
15 - Mercurial [hg]
16 - CVS [cvs]
16 - CVS [cvs]
17 - Darcs [darcs]
17 - Darcs [darcs]
18 - git [git]
18 - git [git]
19 - Subversion [svn]
19 - Subversion [svn]
20 - Monotone [mtn]
20 - Monotone [mtn]
21 - GNU Arch [gnuarch]
21 - GNU Arch [gnuarch]
22 - Bazaar [bzr]
22 - Bazaar [bzr]
23 - Perforce [p4]
23 - Perforce [p4]
24
24
25 Accepted destination formats [identifiers]:
25 Accepted destination formats [identifiers]:
26
26
27 - Mercurial [hg]
27 - Mercurial [hg]
28 - Subversion [svn] (history on branches is not preserved)
28 - Subversion [svn] (history on branches is not preserved)
29
29
30 If no revision is given, all revisions will be converted. Otherwise,
30 If no revision is given, all revisions will be converted. Otherwise,
31 convert will only import up to the named revision (given in a format
31 convert will only import up to the named revision (given in a format
32 understood by the source).
32 understood by the source).
33
33
34 If no destination directory name is specified, it defaults to the basename
34 If no destination directory name is specified, it defaults to the basename
35 of the source with "-hg" appended. If the destination repository doesn't
35 of the source with "-hg" appended. If the destination repository doesn't
36 exist, it will be created.
36 exist, it will be created.
37
37
38 By default, all sources except Mercurial will use --branchsort. Mercurial
38 By default, all sources except Mercurial will use --branchsort. Mercurial
39 uses --sourcesort to preserve original revision numbers order. Sort modes
39 uses --sourcesort to preserve original revision numbers order. Sort modes
40 have the following effects:
40 have the following effects:
41
41
42 --branchsort convert from parent to child revision when possible, which
42 --branchsort convert from parent to child revision when possible, which
43 means branches are usually converted one after the other. It
43 means branches are usually converted one after the other. It
44 generates more compact repositories.
44 generates more compact repositories.
45 --datesort sort revisions by date. Converted repositories have good-
45 --datesort sort revisions by date. Converted repositories have good-
46 looking changelogs but are often an order of magnitude
46 looking changelogs but are often an order of magnitude
47 larger than the same ones generated by --branchsort.
47 larger than the same ones generated by --branchsort.
48 --sourcesort try to preserve source revisions order, only supported by
48 --sourcesort try to preserve source revisions order, only supported by
49 Mercurial sources.
49 Mercurial sources.
50
50
51 If <REVMAP> isn't given, it will be put in a default location
51 If <REVMAP> isn't given, it will be put in a default location
52 (<dest>/.hg/shamap by default). The <REVMAP> is a simple text file that
52 (<dest>/.hg/shamap by default). The <REVMAP> is a simple text file that
53 maps each source commit ID to the destination ID for that revision, like
53 maps each source commit ID to the destination ID for that revision, like
54 so:
54 so:
55
55
56 <source ID> <destination ID>
56 <source ID> <destination ID>
57
57
58 If the file doesn't exist, it's automatically created. It's updated on
58 If the file doesn't exist, it's automatically created. It's updated on
59 each commit copied, so "hg convert" can be interrupted and can be run
59 each commit copied, so "hg convert" can be interrupted and can be run
60 repeatedly to copy new commits.
60 repeatedly to copy new commits.
61
61
62 The authormap is a simple text file that maps each source commit author to
62 The authormap is a simple text file that maps each source commit author to
63 a destination commit author. It is handy for source SCMs that use unix
63 a destination commit author. It is handy for source SCMs that use unix
64 logins to identify authors (eg: CVS). One line per author mapping and the
64 logins to identify authors (eg: CVS). One line per author mapping and the
65 line format is:
65 line format is:
66
66
67 source author = destination author
67 source author = destination author
68
68
69 Empty lines and lines starting with a "#" are ignored.
69 Empty lines and lines starting with a "#" are ignored.
70
70
71 The filemap is a file that allows filtering and remapping of files and
71 The filemap is a file that allows filtering and remapping of files and
72 directories. Each line can contain one of the following directives:
72 directories. Each line can contain one of the following directives:
73
73
74 include path/to/file-or-dir
74 include path/to/file-or-dir
75
75
76 exclude path/to/file-or-dir
76 exclude path/to/file-or-dir
77
77
78 rename path/to/source path/to/destination
78 rename path/to/source path/to/destination
79
79
80 Comment lines start with "#". A specified path matches if it equals the
80 Comment lines start with "#". A specified path matches if it equals the
81 full relative name of a file or one of its parent directories. The
81 full relative name of a file or one of its parent directories. The
82 "include" or "exclude" directive with the longest matching path applies,
82 "include" or "exclude" directive with the longest matching path applies,
83 so line order does not matter.
83 so line order does not matter.
84
84
85 The "include" directive causes a file, or all files under a directory, to
85 The "include" directive causes a file, or all files under a directory, to
86 be included in the destination repository, and the exclusion of all other
86 be included in the destination repository, and the exclusion of all other
87 files and directories not explicitly included. The "exclude" directive
87 files and directories not explicitly included. The "exclude" directive
88 causes files or directories to be omitted. The "rename" directive renames
88 causes files or directories to be omitted. The "rename" directive renames
89 a file or directory if it is converted. To rename from a subdirectory into
89 a file or directory if it is converted. To rename from a subdirectory into
90 the root of the repository, use "." as the path to rename to.
90 the root of the repository, use "." as the path to rename to.
91
91
92 The splicemap is a file that allows insertion of synthetic history,
92 The splicemap is a file that allows insertion of synthetic history,
93 letting you specify the parents of a revision. This is useful if you want
93 letting you specify the parents of a revision. This is useful if you want
94 to e.g. give a Subversion merge two parents, or graft two disconnected
94 to e.g. give a Subversion merge two parents, or graft two disconnected
95 series of history together. Each entry contains a key, followed by a
95 series of history together. Each entry contains a key, followed by a
96 space, followed by one or two comma-separated values:
96 space, followed by one or two comma-separated values:
97
97
98 key parent1, parent2
98 key parent1, parent2
99
99
100 The key is the revision ID in the source revision control system whose
100 The key is the revision ID in the source revision control system whose
101 parents should be modified (same format as a key in .hg/shamap). The
101 parents should be modified (same format as a key in .hg/shamap). The
102 values are the revision IDs (in either the source or destination revision
102 values are the revision IDs (in either the source or destination revision
103 control system) that should be used as the new parents for that node. For
103 control system) that should be used as the new parents for that node. For
104 example, if you have merged "release-1.0" into "trunk", then you should
104 example, if you have merged "release-1.0" into "trunk", then you should
105 specify the revision on "trunk" as the first parent and the one on the
105 specify the revision on "trunk" as the first parent and the one on the
106 "release-1.0" branch as the second.
106 "release-1.0" branch as the second.
107
107
108 The branchmap is a file that allows you to rename a branch when it is
108 The branchmap is a file that allows you to rename a branch when it is
109 being brought in from whatever external repository. When used in
109 being brought in from whatever external repository. When used in
110 conjunction with a splicemap, it allows for a powerful combination to help
110 conjunction with a splicemap, it allows for a powerful combination to help
111 fix even the most badly mismanaged repositories and turn them into nicely
111 fix even the most badly mismanaged repositories and turn them into nicely
112 structured Mercurial repositories. The branchmap contains lines of the
112 structured Mercurial repositories. The branchmap contains lines of the
113 form:
113 form:
114
114
115 original_branch_name new_branch_name
115 original_branch_name new_branch_name
116
116
117 where "original_branch_name" is the name of the branch in the source
117 where "original_branch_name" is the name of the branch in the source
118 repository, and "new_branch_name" is the name of the branch is the
118 repository, and "new_branch_name" is the name of the branch is the
119 destination repository. No whitespace is allowed in the branch names. This
119 destination repository. No whitespace is allowed in the branch names. This
120 can be used to (for instance) move code in one repository from "default"
120 can be used to (for instance) move code in one repository from "default"
121 to a named branch.
121 to a named branch.
122
122
123 Mercurial Source
123 Mercurial Source
124 ----------------
124 ''''''''''''''''
125
125
126 --config convert.hg.ignoreerrors=False (boolean)
126 --config convert.hg.ignoreerrors=False (boolean)
127 ignore integrity errors when reading. Use it to fix Mercurial
127 ignore integrity errors when reading. Use it to fix Mercurial
128 repositories with missing revlogs, by converting from and to
128 repositories with missing revlogs, by converting from and to
129 Mercurial.
129 Mercurial.
130
130
131 --config convert.hg.saverev=False (boolean)
131 --config convert.hg.saverev=False (boolean)
132 store original revision ID in changeset (forces target IDs to change)
132 store original revision ID in changeset (forces target IDs to change)
133
133
134 --config convert.hg.startrev=0 (hg revision identifier)
134 --config convert.hg.startrev=0 (hg revision identifier)
135 convert start revision and its descendants
135 convert start revision and its descendants
136
136
137 CVS Source
137 CVS Source
138 ----------
138 ''''''''''
139
139
140 CVS source will use a sandbox (i.e. a checked-out copy) from CVS to
140 CVS source will use a sandbox (i.e. a checked-out copy) from CVS to
141 indicate the starting point of what will be converted. Direct access to
141 indicate the starting point of what will be converted. Direct access to
142 the repository files is not needed, unless of course the repository is
142 the repository files is not needed, unless of course the repository is
143 :local:. The conversion uses the top level directory in the sandbox to
143 :local:. The conversion uses the top level directory in the sandbox to
144 find the CVS repository, and then uses CVS rlog commands to find files to
144 find the CVS repository, and then uses CVS rlog commands to find files to
145 convert. This means that unless a filemap is given, all files under the
145 convert. This means that unless a filemap is given, all files under the
146 starting directory will be converted, and that any directory
146 starting directory will be converted, and that any directory
147 reorganization in the CVS sandbox is ignored.
147 reorganization in the CVS sandbox is ignored.
148
148
149 The options shown are the defaults.
149 The options shown are the defaults.
150
150
151 --config convert.cvsps.cache=True (boolean)
151 --config convert.cvsps.cache=True (boolean)
152 Set to False to disable remote log caching, for testing and debugging
152 Set to False to disable remote log caching, for testing and debugging
153 purposes.
153 purposes.
154
154
155 --config convert.cvsps.fuzz=60 (integer)
155 --config convert.cvsps.fuzz=60 (integer)
156 Specify the maximum time (in seconds) that is allowed between commits
156 Specify the maximum time (in seconds) that is allowed between commits
157 with identical user and log message in a single changeset. When very
157 with identical user and log message in a single changeset. When very
158 large files were checked in as part of a changeset then the default
158 large files were checked in as part of a changeset then the default
159 may not be long enough.
159 may not be long enough.
160
160
161 --config convert.cvsps.mergeto='{{mergetobranch ([-\w]+)}}'
161 --config convert.cvsps.mergeto='{{mergetobranch ([-\w]+)}}'
162 Specify a regular expression to which commit log messages are matched.
162 Specify a regular expression to which commit log messages are matched.
163 If a match occurs, then the conversion process will insert a dummy
163 If a match occurs, then the conversion process will insert a dummy
164 revision merging the branch on which this log message occurs to the
164 revision merging the branch on which this log message occurs to the
165 branch indicated in the regex.
165 branch indicated in the regex.
166
166
167 --config convert.cvsps.mergefrom='{{mergefrombranch ([-\w]+)}}'
167 --config convert.cvsps.mergefrom='{{mergefrombranch ([-\w]+)}}'
168 Specify a regular expression to which commit log messages are matched.
168 Specify a regular expression to which commit log messages are matched.
169 If a match occurs, then the conversion process will add the most
169 If a match occurs, then the conversion process will add the most
170 recent revision on the branch indicated in the regex as the second
170 recent revision on the branch indicated in the regex as the second
171 parent of the changeset.
171 parent of the changeset.
172
172
173 --config hook.cvslog
173 --config hook.cvslog
174 Specify a Python function to be called at the end of gathering the CVS
174 Specify a Python function to be called at the end of gathering the CVS
175 log. The function is passed a list with the log entries, and can
175 log. The function is passed a list with the log entries, and can
176 modify the entries in-place, or add or delete them.
176 modify the entries in-place, or add or delete them.
177
177
178 --config hook.cvschangesets
178 --config hook.cvschangesets
179 Specify a Python function to be called after the changesets are
179 Specify a Python function to be called after the changesets are
180 calculated from the the CVS log. The function is passed a list with
180 calculated from the the CVS log. The function is passed a list with
181 the changeset entries, and can modify the changesets in-place, or add
181 the changeset entries, and can modify the changesets in-place, or add
182 or delete them.
182 or delete them.
183
183
184 An additional "debugcvsps" Mercurial command allows the builtin changeset
184 An additional "debugcvsps" Mercurial command allows the builtin changeset
185 merging code to be run without doing a conversion. Its parameters and
185 merging code to be run without doing a conversion. Its parameters and
186 output are similar to that of cvsps 2.1. Please see the command help for
186 output are similar to that of cvsps 2.1. Please see the command help for
187 more details.
187 more details.
188
188
189 Subversion Source
189 Subversion Source
190 -----------------
190 '''''''''''''''''
191
191
192 Subversion source detects classical trunk/branches/tags layouts. By
192 Subversion source detects classical trunk/branches/tags layouts. By
193 default, the supplied "svn://repo/path/" source URL is converted as a
193 default, the supplied "svn://repo/path/" source URL is converted as a
194 single branch. If "svn://repo/path/trunk" exists it replaces the default
194 single branch. If "svn://repo/path/trunk" exists it replaces the default
195 branch. If "svn://repo/path/branches" exists, its subdirectories are
195 branch. If "svn://repo/path/branches" exists, its subdirectories are
196 listed as possible branches. If "svn://repo/path/tags" exists, it is
196 listed as possible branches. If "svn://repo/path/tags" exists, it is
197 looked for tags referencing converted branches. Default "trunk",
197 looked for tags referencing converted branches. Default "trunk",
198 "branches" and "tags" values can be overridden with following options. Set
198 "branches" and "tags" values can be overridden with following options. Set
199 them to paths relative to the source URL, or leave them blank to disable
199 them to paths relative to the source URL, or leave them blank to disable
200 auto detection.
200 auto detection.
201
201
202 --config convert.svn.branches=branches (directory name)
202 --config convert.svn.branches=branches (directory name)
203 specify the directory containing branches
203 specify the directory containing branches
204
204
205 --config convert.svn.tags=tags (directory name)
205 --config convert.svn.tags=tags (directory name)
206 specify the directory containing tags
206 specify the directory containing tags
207
207
208 --config convert.svn.trunk=trunk (directory name)
208 --config convert.svn.trunk=trunk (directory name)
209 specify the name of the trunk branch
209 specify the name of the trunk branch
210
210
211 Source history can be retrieved starting at a specific revision, instead
211 Source history can be retrieved starting at a specific revision, instead
212 of being integrally converted. Only single branch conversions are
212 of being integrally converted. Only single branch conversions are
213 supported.
213 supported.
214
214
215 --config convert.svn.startrev=0 (svn revision number)
215 --config convert.svn.startrev=0 (svn revision number)
216 specify start Subversion revision.
216 specify start Subversion revision.
217
217
218 Perforce Source
218 Perforce Source
219 ---------------
219 '''''''''''''''
220
220
221 The Perforce (P4) importer can be given a p4 depot path or a client
221 The Perforce (P4) importer can be given a p4 depot path or a client
222 specification as source. It will convert all files in the source to a flat
222 specification as source. It will convert all files in the source to a flat
223 Mercurial repository, ignoring labels, branches and integrations. Note
223 Mercurial repository, ignoring labels, branches and integrations. Note
224 that when a depot path is given you then usually should specify a target
224 that when a depot path is given you then usually should specify a target
225 directory, because otherwise the target may be named ...-hg.
225 directory, because otherwise the target may be named ...-hg.
226
226
227 It is possible to limit the amount of source history to be converted by
227 It is possible to limit the amount of source history to be converted by
228 specifying an initial Perforce revision.
228 specifying an initial Perforce revision.
229
229
230 --config convert.p4.startrev=0 (perforce changelist number)
230 --config convert.p4.startrev=0 (perforce changelist number)
231 specify initial Perforce revision.
231 specify initial Perforce revision.
232
232
233 Mercurial Destination
233 Mercurial Destination
234 ---------------------
234 '''''''''''''''''''''
235
235
236 --config convert.hg.clonebranches=False (boolean)
236 --config convert.hg.clonebranches=False (boolean)
237 dispatch source branches in separate clones.
237 dispatch source branches in separate clones.
238
238
239 --config convert.hg.tagsbranch=default (branch name)
239 --config convert.hg.tagsbranch=default (branch name)
240 tag revisions branch name
240 tag revisions branch name
241
241
242 --config convert.hg.usebranchnames=True (boolean)
242 --config convert.hg.usebranchnames=True (boolean)
243 preserve branch names
243 preserve branch names
244
244
245 options:
245 options:
246
246
247 -s --source-type TYPE source repository type
247 -s --source-type TYPE source repository type
248 -d --dest-type TYPE destination repository type
248 -d --dest-type TYPE destination repository type
249 -r --rev REV import up to target revision REV
249 -r --rev REV import up to target revision REV
250 -A --authormap FILE remap usernames using this file
250 -A --authormap FILE remap usernames using this file
251 --filemap FILE remap file names using contents of file
251 --filemap FILE remap file names using contents of file
252 --splicemap FILE splice synthesized history into place
252 --splicemap FILE splice synthesized history into place
253 --branchmap FILE change branch names while converting
253 --branchmap FILE change branch names while converting
254 --branchsort try to sort changesets by branches
254 --branchsort try to sort changesets by branches
255 --datesort try to sort changesets by date
255 --datesort try to sort changesets by date
256 --sourcesort preserve source changesets order
256 --sourcesort preserve source changesets order
257
257
258 use "hg -v help convert" to show global options
258 use "hg -v help convert" to show global options
259 $ hg init a
259 $ hg init a
260 $ cd a
260 $ cd a
261 $ echo a > a
261 $ echo a > a
262 $ hg ci -d'0 0' -Ama
262 $ hg ci -d'0 0' -Ama
263 adding a
263 adding a
264 $ hg cp a b
264 $ hg cp a b
265 $ hg ci -d'1 0' -mb
265 $ hg ci -d'1 0' -mb
266 $ hg rm a
266 $ hg rm a
267 $ hg ci -d'2 0' -mc
267 $ hg ci -d'2 0' -mc
268 $ hg mv b a
268 $ hg mv b a
269 $ hg ci -d'3 0' -md
269 $ hg ci -d'3 0' -md
270 $ echo a >> a
270 $ echo a >> a
271 $ hg ci -d'4 0' -me
271 $ hg ci -d'4 0' -me
272 $ cd ..
272 $ cd ..
273 $ hg convert a 2>&1 | grep -v 'subversion python bindings could not be loaded'
273 $ hg convert a 2>&1 | grep -v 'subversion python bindings could not be loaded'
274 assuming destination a-hg
274 assuming destination a-hg
275 initializing destination a-hg repository
275 initializing destination a-hg repository
276 scanning source...
276 scanning source...
277 sorting...
277 sorting...
278 converting...
278 converting...
279 4 a
279 4 a
280 3 b
280 3 b
281 2 c
281 2 c
282 1 d
282 1 d
283 0 e
283 0 e
284 $ hg --cwd a-hg pull ../a
284 $ hg --cwd a-hg pull ../a
285 pulling from ../a
285 pulling from ../a
286 searching for changes
286 searching for changes
287 no changes found
287 no changes found
288 $ touch bogusfile
288 $ touch bogusfile
289
289
290 should fail
290 should fail
291
291
292 $ hg convert a bogusfile
292 $ hg convert a bogusfile
293 initializing destination bogusfile repository
293 initializing destination bogusfile repository
294 abort: cannot create new bundle repository
294 abort: cannot create new bundle repository
295 [255]
295 [255]
296 $ mkdir bogusdir
296 $ mkdir bogusdir
297 $ chmod 000 bogusdir
297 $ chmod 000 bogusdir
298
298
299 should fail
299 should fail
300
300
301 $ hg convert a bogusdir
301 $ hg convert a bogusdir
302 abort: Permission denied: bogusdir
302 abort: Permission denied: bogusdir
303 [255]
303 [255]
304
304
305 should succeed
305 should succeed
306
306
307 $ chmod 700 bogusdir
307 $ chmod 700 bogusdir
308 $ hg convert a bogusdir
308 $ hg convert a bogusdir
309 initializing destination bogusdir repository
309 initializing destination bogusdir repository
310 scanning source...
310 scanning source...
311 sorting...
311 sorting...
312 converting...
312 converting...
313 4 a
313 4 a
314 3 b
314 3 b
315 2 c
315 2 c
316 1 d
316 1 d
317 0 e
317 0 e
318
318
319 test pre and post conversion actions
319 test pre and post conversion actions
320
320
321 $ echo 'include b' > filemap
321 $ echo 'include b' > filemap
322 $ hg convert --debug --filemap filemap a partialb | \
322 $ hg convert --debug --filemap filemap a partialb | \
323 > grep 'run hg'
323 > grep 'run hg'
324 run hg source pre-conversion action
324 run hg source pre-conversion action
325 run hg sink pre-conversion action
325 run hg sink pre-conversion action
326 run hg sink post-conversion action
326 run hg sink post-conversion action
327 run hg source post-conversion action
327 run hg source post-conversion action
328
328
329 converting empty dir should fail "nicely
329 converting empty dir should fail "nicely
330
330
331 $ mkdir emptydir
331 $ mkdir emptydir
332
332
333 override $PATH to ensure p4 not visible; use $PYTHON in case we're
333 override $PATH to ensure p4 not visible; use $PYTHON in case we're
334 running from a devel copy, not a temp installation
334 running from a devel copy, not a temp installation
335
335
336 $ PATH="$BINDIR" $PYTHON "$BINDIR"/hg convert emptydir
336 $ PATH="$BINDIR" $PYTHON "$BINDIR"/hg convert emptydir
337 assuming destination emptydir-hg
337 assuming destination emptydir-hg
338 initializing destination emptydir-hg repository
338 initializing destination emptydir-hg repository
339 emptydir does not look like a CVS checkout
339 emptydir does not look like a CVS checkout
340 emptydir does not look like a Git repository
340 emptydir does not look like a Git repository
341 emptydir does not look like a Subversion repository
341 emptydir does not look like a Subversion repository
342 emptydir is not a local Mercurial repository
342 emptydir is not a local Mercurial repository
343 emptydir does not look like a darcs repository
343 emptydir does not look like a darcs repository
344 emptydir does not look like a monotone repository
344 emptydir does not look like a monotone repository
345 emptydir does not look like a GNU Arch repository
345 emptydir does not look like a GNU Arch repository
346 emptydir does not look like a Bazaar repository
346 emptydir does not look like a Bazaar repository
347 cannot find required "p4" tool
347 cannot find required "p4" tool
348 abort: emptydir: missing or unsupported repository
348 abort: emptydir: missing or unsupported repository
349 [255]
349 [255]
350
350
351 convert with imaginary source type
351 convert with imaginary source type
352
352
353 $ hg convert --source-type foo a a-foo
353 $ hg convert --source-type foo a a-foo
354 initializing destination a-foo repository
354 initializing destination a-foo repository
355 abort: foo: invalid source repository type
355 abort: foo: invalid source repository type
356 [255]
356 [255]
357
357
358 convert with imaginary sink type
358 convert with imaginary sink type
359
359
360 $ hg convert --dest-type foo a a-foo
360 $ hg convert --dest-type foo a a-foo
361 abort: foo: invalid destination repository type
361 abort: foo: invalid destination repository type
362 [255]
362 [255]
363
363
364 testing: convert must not produce duplicate entries in fncache
364 testing: convert must not produce duplicate entries in fncache
365
365
366 $ hg convert a b
366 $ hg convert a b
367 initializing destination b repository
367 initializing destination b repository
368 scanning source...
368 scanning source...
369 sorting...
369 sorting...
370 converting...
370 converting...
371 4 a
371 4 a
372 3 b
372 3 b
373 2 c
373 2 c
374 1 d
374 1 d
375 0 e
375 0 e
376
376
377 contents of fncache file:
377 contents of fncache file:
378
378
379 $ cat b/.hg/store/fncache
379 $ cat b/.hg/store/fncache
380 data/a.i
380 data/a.i
381 data/b.i
381 data/b.i
382
382
383 test bogus URL
383 test bogus URL
384
384
385 $ hg convert -q bzr+ssh://foobar@selenic.com/baz baz
385 $ hg convert -q bzr+ssh://foobar@selenic.com/baz baz
386 abort: bzr+ssh://foobar@selenic.com/baz: missing or unsupported repository
386 abort: bzr+ssh://foobar@selenic.com/baz: missing or unsupported repository
387 [255]
387 [255]
@@ -1,425 +1,427 b''
1 $ "$TESTDIR/hghave" no-outer-repo || exit 80
1 $ "$TESTDIR/hghave" no-outer-repo || exit 80
2
2
3 $ hg init a
3 $ hg init a
4 $ cd a
4 $ cd a
5 $ echo a > a
5 $ echo a > a
6 $ hg ci -A -d'1 0' -m a
6 $ hg ci -A -d'1 0' -m a
7 adding a
7 adding a
8
8
9 $ cd ..
9 $ cd ..
10
10
11 $ hg init b
11 $ hg init b
12 $ cd b
12 $ cd b
13 $ echo b > b
13 $ echo b > b
14 $ hg ci -A -d'1 0' -m b
14 $ hg ci -A -d'1 0' -m b
15 adding b
15 adding b
16
16
17 $ cd ..
17 $ cd ..
18
18
19 $ hg clone a c
19 $ hg clone a c
20 updating to branch default
20 updating to branch default
21 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
21 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
22 $ cd c
22 $ cd c
23 $ cat >> .hg/hgrc <<EOF
23 $ cat >> .hg/hgrc <<EOF
24 > [paths]
24 > [paths]
25 > relative = ../a
25 > relative = ../a
26 > EOF
26 > EOF
27 $ hg pull -f ../b
27 $ hg pull -f ../b
28 pulling from ../b
28 pulling from ../b
29 searching for changes
29 searching for changes
30 warning: repository is unrelated
30 warning: repository is unrelated
31 adding changesets
31 adding changesets
32 adding manifests
32 adding manifests
33 adding file changes
33 adding file changes
34 added 1 changesets with 1 changes to 1 files (+1 heads)
34 added 1 changesets with 1 changes to 1 files (+1 heads)
35 (run 'hg heads' to see heads, 'hg merge' to merge)
35 (run 'hg heads' to see heads, 'hg merge' to merge)
36 $ hg merge
36 $ hg merge
37 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
37 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
38 (branch merge, don't forget to commit)
38 (branch merge, don't forget to commit)
39
39
40 $ cd ..
40 $ cd ..
41
41
42 Testing -R/--repository:
42 Testing -R/--repository:
43
43
44 $ hg -R a tip
44 $ hg -R a tip
45 changeset: 0:8580ff50825a
45 changeset: 0:8580ff50825a
46 tag: tip
46 tag: tip
47 user: test
47 user: test
48 date: Thu Jan 01 00:00:01 1970 +0000
48 date: Thu Jan 01 00:00:01 1970 +0000
49 summary: a
49 summary: a
50
50
51 $ hg --repository b tip
51 $ hg --repository b tip
52 changeset: 0:b6c483daf290
52 changeset: 0:b6c483daf290
53 tag: tip
53 tag: tip
54 user: test
54 user: test
55 date: Thu Jan 01 00:00:01 1970 +0000
55 date: Thu Jan 01 00:00:01 1970 +0000
56 summary: b
56 summary: b
57
57
58
58
59 -R with a URL:
59 -R with a URL:
60
60
61 $ hg -R file:a identify
61 $ hg -R file:a identify
62 8580ff50825a tip
62 8580ff50825a tip
63 $ hg -R file://localhost/`pwd`/a/ identify
63 $ hg -R file://localhost/`pwd`/a/ identify
64 8580ff50825a tip
64 8580ff50825a tip
65
65
66 -R with path aliases:
66 -R with path aliases:
67
67
68 $ cd c
68 $ cd c
69 $ hg -R default identify
69 $ hg -R default identify
70 8580ff50825a tip
70 8580ff50825a tip
71 $ hg -R relative identify
71 $ hg -R relative identify
72 8580ff50825a tip
72 8580ff50825a tip
73 $ echo '[paths]' >> $HGRCPATH
73 $ echo '[paths]' >> $HGRCPATH
74 $ echo 'relativetohome = a' >> $HGRCPATH
74 $ echo 'relativetohome = a' >> $HGRCPATH
75 $ HOME=`pwd`/../ hg -R relativetohome identify
75 $ HOME=`pwd`/../ hg -R relativetohome identify
76 8580ff50825a tip
76 8580ff50825a tip
77 $ cd ..
77 $ cd ..
78
78
79 Implicit -R:
79 Implicit -R:
80
80
81 $ hg ann a/a
81 $ hg ann a/a
82 0: a
82 0: a
83 $ hg ann a/a a/a
83 $ hg ann a/a a/a
84 0: a
84 0: a
85 $ hg ann a/a b/b
85 $ hg ann a/a b/b
86 abort: There is no Mercurial repository here (.hg not found)!
86 abort: There is no Mercurial repository here (.hg not found)!
87 [255]
87 [255]
88 $ hg -R b ann a/a
88 $ hg -R b ann a/a
89 abort: a/a not under root
89 abort: a/a not under root
90 [255]
90 [255]
91 $ hg log
91 $ hg log
92 abort: There is no Mercurial repository here (.hg not found)!
92 abort: There is no Mercurial repository here (.hg not found)!
93 [255]
93 [255]
94
94
95 Abbreviation of long option:
95 Abbreviation of long option:
96
96
97 $ hg --repo c tip
97 $ hg --repo c tip
98 changeset: 1:b6c483daf290
98 changeset: 1:b6c483daf290
99 tag: tip
99 tag: tip
100 parent: -1:000000000000
100 parent: -1:000000000000
101 user: test
101 user: test
102 date: Thu Jan 01 00:00:01 1970 +0000
102 date: Thu Jan 01 00:00:01 1970 +0000
103 summary: b
103 summary: b
104
104
105
105
106 earlygetopt with duplicate options (36d23de02da1):
106 earlygetopt with duplicate options (36d23de02da1):
107
107
108 $ hg --cwd a --cwd b --cwd c tip
108 $ hg --cwd a --cwd b --cwd c tip
109 changeset: 1:b6c483daf290
109 changeset: 1:b6c483daf290
110 tag: tip
110 tag: tip
111 parent: -1:000000000000
111 parent: -1:000000000000
112 user: test
112 user: test
113 date: Thu Jan 01 00:00:01 1970 +0000
113 date: Thu Jan 01 00:00:01 1970 +0000
114 summary: b
114 summary: b
115
115
116 $ hg --repo c --repository b -R a tip
116 $ hg --repo c --repository b -R a tip
117 changeset: 0:8580ff50825a
117 changeset: 0:8580ff50825a
118 tag: tip
118 tag: tip
119 user: test
119 user: test
120 date: Thu Jan 01 00:00:01 1970 +0000
120 date: Thu Jan 01 00:00:01 1970 +0000
121 summary: a
121 summary: a
122
122
123
123
124 earlygetopt short option without following space:
124 earlygetopt short option without following space:
125
125
126 $ hg -q -Rb tip
126 $ hg -q -Rb tip
127 0:b6c483daf290
127 0:b6c483daf290
128
128
129 earlygetopt with illegal abbreviations:
129 earlygetopt with illegal abbreviations:
130
130
131 $ hg --confi "foo.bar=baz"
131 $ hg --confi "foo.bar=baz"
132 abort: option --config may not be abbreviated!
132 abort: option --config may not be abbreviated!
133 [255]
133 [255]
134 $ hg --cw a tip
134 $ hg --cw a tip
135 abort: option --cwd may not be abbreviated!
135 abort: option --cwd may not be abbreviated!
136 [255]
136 [255]
137 $ hg --rep a tip
137 $ hg --rep a tip
138 abort: Option -R has to be separated from other options (e.g. not -qR) and --repository may only be abbreviated as --repo!
138 abort: Option -R has to be separated from other options (e.g. not -qR) and --repository may only be abbreviated as --repo!
139 [255]
139 [255]
140 $ hg --repositor a tip
140 $ hg --repositor a tip
141 abort: Option -R has to be separated from other options (e.g. not -qR) and --repository may only be abbreviated as --repo!
141 abort: Option -R has to be separated from other options (e.g. not -qR) and --repository may only be abbreviated as --repo!
142 [255]
142 [255]
143 $ hg -qR a tip
143 $ hg -qR a tip
144 abort: Option -R has to be separated from other options (e.g. not -qR) and --repository may only be abbreviated as --repo!
144 abort: Option -R has to be separated from other options (e.g. not -qR) and --repository may only be abbreviated as --repo!
145 [255]
145 [255]
146 $ hg -qRa tip
146 $ hg -qRa tip
147 abort: Option -R has to be separated from other options (e.g. not -qR) and --repository may only be abbreviated as --repo!
147 abort: Option -R has to be separated from other options (e.g. not -qR) and --repository may only be abbreviated as --repo!
148 [255]
148 [255]
149
149
150 Testing --cwd:
150 Testing --cwd:
151
151
152 $ hg --cwd a parents
152 $ hg --cwd a parents
153 changeset: 0:8580ff50825a
153 changeset: 0:8580ff50825a
154 tag: tip
154 tag: tip
155 user: test
155 user: test
156 date: Thu Jan 01 00:00:01 1970 +0000
156 date: Thu Jan 01 00:00:01 1970 +0000
157 summary: a
157 summary: a
158
158
159
159
160 Testing -y/--noninteractive - just be sure it is parsed:
160 Testing -y/--noninteractive - just be sure it is parsed:
161
161
162 $ hg --cwd a tip -q --noninteractive
162 $ hg --cwd a tip -q --noninteractive
163 0:8580ff50825a
163 0:8580ff50825a
164 $ hg --cwd a tip -q -y
164 $ hg --cwd a tip -q -y
165 0:8580ff50825a
165 0:8580ff50825a
166
166
167 Testing -q/--quiet:
167 Testing -q/--quiet:
168
168
169 $ hg -R a -q tip
169 $ hg -R a -q tip
170 0:8580ff50825a
170 0:8580ff50825a
171 $ hg -R b -q tip
171 $ hg -R b -q tip
172 0:b6c483daf290
172 0:b6c483daf290
173 $ hg -R c --quiet parents
173 $ hg -R c --quiet parents
174 0:8580ff50825a
174 0:8580ff50825a
175 1:b6c483daf290
175 1:b6c483daf290
176
176
177 Testing -v/--verbose:
177 Testing -v/--verbose:
178
178
179 $ hg --cwd c head -v
179 $ hg --cwd c head -v
180 changeset: 1:b6c483daf290
180 changeset: 1:b6c483daf290
181 tag: tip
181 tag: tip
182 parent: -1:000000000000
182 parent: -1:000000000000
183 user: test
183 user: test
184 date: Thu Jan 01 00:00:01 1970 +0000
184 date: Thu Jan 01 00:00:01 1970 +0000
185 files: b
185 files: b
186 description:
186 description:
187 b
187 b
188
188
189
189
190 changeset: 0:8580ff50825a
190 changeset: 0:8580ff50825a
191 user: test
191 user: test
192 date: Thu Jan 01 00:00:01 1970 +0000
192 date: Thu Jan 01 00:00:01 1970 +0000
193 files: a
193 files: a
194 description:
194 description:
195 a
195 a
196
196
197
197
198 $ hg --cwd b tip --verbose
198 $ hg --cwd b tip --verbose
199 changeset: 0:b6c483daf290
199 changeset: 0:b6c483daf290
200 tag: tip
200 tag: tip
201 user: test
201 user: test
202 date: Thu Jan 01 00:00:01 1970 +0000
202 date: Thu Jan 01 00:00:01 1970 +0000
203 files: b
203 files: b
204 description:
204 description:
205 b
205 b
206
206
207
207
208
208
209 Testing --config:
209 Testing --config:
210
210
211 $ hg --cwd c --config paths.quuxfoo=bar paths | grep quuxfoo > /dev/null && echo quuxfoo
211 $ hg --cwd c --config paths.quuxfoo=bar paths | grep quuxfoo > /dev/null && echo quuxfoo
212 quuxfoo
212 quuxfoo
213 $ hg --cwd c --config '' tip -q
213 $ hg --cwd c --config '' tip -q
214 abort: malformed --config option: '' (use --config section.name=value)
214 abort: malformed --config option: '' (use --config section.name=value)
215 [255]
215 [255]
216 $ hg --cwd c --config a.b tip -q
216 $ hg --cwd c --config a.b tip -q
217 abort: malformed --config option: 'a.b' (use --config section.name=value)
217 abort: malformed --config option: 'a.b' (use --config section.name=value)
218 [255]
218 [255]
219 $ hg --cwd c --config a tip -q
219 $ hg --cwd c --config a tip -q
220 abort: malformed --config option: 'a' (use --config section.name=value)
220 abort: malformed --config option: 'a' (use --config section.name=value)
221 [255]
221 [255]
222 $ hg --cwd c --config a.= tip -q
222 $ hg --cwd c --config a.= tip -q
223 abort: malformed --config option: 'a.=' (use --config section.name=value)
223 abort: malformed --config option: 'a.=' (use --config section.name=value)
224 [255]
224 [255]
225 $ hg --cwd c --config .b= tip -q
225 $ hg --cwd c --config .b= tip -q
226 abort: malformed --config option: '.b=' (use --config section.name=value)
226 abort: malformed --config option: '.b=' (use --config section.name=value)
227 [255]
227 [255]
228
228
229 Testing --debug:
229 Testing --debug:
230
230
231 $ hg --cwd c log --debug
231 $ hg --cwd c log --debug
232 changeset: 1:b6c483daf2907ce5825c0bb50f5716226281cc1a
232 changeset: 1:b6c483daf2907ce5825c0bb50f5716226281cc1a
233 tag: tip
233 tag: tip
234 parent: -1:0000000000000000000000000000000000000000
234 parent: -1:0000000000000000000000000000000000000000
235 parent: -1:0000000000000000000000000000000000000000
235 parent: -1:0000000000000000000000000000000000000000
236 manifest: 1:23226e7a252cacdc2d99e4fbdc3653441056de49
236 manifest: 1:23226e7a252cacdc2d99e4fbdc3653441056de49
237 user: test
237 user: test
238 date: Thu Jan 01 00:00:01 1970 +0000
238 date: Thu Jan 01 00:00:01 1970 +0000
239 files+: b
239 files+: b
240 extra: branch=default
240 extra: branch=default
241 description:
241 description:
242 b
242 b
243
243
244
244
245 changeset: 0:8580ff50825a50c8f716709acdf8de0deddcd6ab
245 changeset: 0:8580ff50825a50c8f716709acdf8de0deddcd6ab
246 parent: -1:0000000000000000000000000000000000000000
246 parent: -1:0000000000000000000000000000000000000000
247 parent: -1:0000000000000000000000000000000000000000
247 parent: -1:0000000000000000000000000000000000000000
248 manifest: 0:a0c8bcbbb45c63b90b70ad007bf38961f64f2af0
248 manifest: 0:a0c8bcbbb45c63b90b70ad007bf38961f64f2af0
249 user: test
249 user: test
250 date: Thu Jan 01 00:00:01 1970 +0000
250 date: Thu Jan 01 00:00:01 1970 +0000
251 files+: a
251 files+: a
252 extra: branch=default
252 extra: branch=default
253 description:
253 description:
254 a
254 a
255
255
256
256
257
257
258 Testing --traceback:
258 Testing --traceback:
259
259
260 $ hg --cwd c --config x --traceback id 2>&1 | grep -i 'traceback'
260 $ hg --cwd c --config x --traceback id 2>&1 | grep -i 'traceback'
261 Traceback (most recent call last):
261 Traceback (most recent call last):
262
262
263 Testing --time:
263 Testing --time:
264
264
265 $ hg --cwd a --time id
265 $ hg --cwd a --time id
266 8580ff50825a tip
266 8580ff50825a tip
267 Time: real * (glob)
267 Time: real * (glob)
268
268
269 Testing --version:
269 Testing --version:
270
270
271 $ hg --version -q
271 $ hg --version -q
272 Mercurial Distributed SCM * (glob)
272 Mercurial Distributed SCM * (glob)
273
273
274 Testing -h/--help:
274 Testing -h/--help:
275
275
276 $ hg -h
276 $ hg -h
277 Mercurial Distributed SCM
277 Mercurial Distributed SCM
278
278
279 list of commands:
279 list of commands:
280
280
281 add add the specified files on the next commit
281 add add the specified files on the next commit
282 addremove add all new files, delete all missing files
282 addremove add all new files, delete all missing files
283 annotate show changeset information by line for each file
283 annotate show changeset information by line for each file
284 archive create an unversioned archive of a repository revision
284 archive create an unversioned archive of a repository revision
285 backout reverse effect of earlier changeset
285 backout reverse effect of earlier changeset
286 bisect subdivision search of changesets
286 bisect subdivision search of changesets
287 branch set or show the current branch name
287 branch set or show the current branch name
288 branches list repository named branches
288 branches list repository named branches
289 bundle create a changegroup file
289 bundle create a changegroup file
290 cat output the current or given revision of files
290 cat output the current or given revision of files
291 clone make a copy of an existing repository
291 clone make a copy of an existing repository
292 commit commit the specified files or all outstanding changes
292 commit commit the specified files or all outstanding changes
293 copy mark files as copied for the next commit
293 copy mark files as copied for the next commit
294 diff diff repository (or selected files)
294 diff diff repository (or selected files)
295 export dump the header and diffs for one or more changesets
295 export dump the header and diffs for one or more changesets
296 forget forget the specified files on the next commit
296 forget forget the specified files on the next commit
297 grep search for a pattern in specified files and revisions
297 grep search for a pattern in specified files and revisions
298 heads show current repository heads or show branch heads
298 heads show current repository heads or show branch heads
299 help show help for a given topic or a help overview
299 help show help for a given topic or a help overview
300 identify identify the working copy or specified revision
300 identify identify the working copy or specified revision
301 import import an ordered set of patches
301 import import an ordered set of patches
302 incoming show new changesets found in source
302 incoming show new changesets found in source
303 init create a new repository in the given directory
303 init create a new repository in the given directory
304 locate locate files matching specific patterns
304 locate locate files matching specific patterns
305 log show revision history of entire repository or files
305 log show revision history of entire repository or files
306 manifest output the current or given revision of the project manifest
306 manifest output the current or given revision of the project manifest
307 merge merge working directory with another revision
307 merge merge working directory with another revision
308 outgoing show changesets not found in the destination
308 outgoing show changesets not found in the destination
309 parents show the parents of the working directory or revision
309 parents show the parents of the working directory or revision
310 paths show aliases for remote repositories
310 paths show aliases for remote repositories
311 pull pull changes from the specified source
311 pull pull changes from the specified source
312 push push changes to the specified destination
312 push push changes to the specified destination
313 recover roll back an interrupted transaction
313 recover roll back an interrupted transaction
314 remove remove the specified files on the next commit
314 remove remove the specified files on the next commit
315 rename rename files; equivalent of copy + remove
315 rename rename files; equivalent of copy + remove
316 resolve redo merges or set/view the merge status of files
316 resolve redo merges or set/view the merge status of files
317 revert restore individual files or directories to an earlier state
317 revert restore individual files or directories to an earlier state
318 rollback roll back the last transaction (dangerous)
318 rollback roll back the last transaction (dangerous)
319 root print the root (top) of the current working directory
319 root print the root (top) of the current working directory
320 serve start stand-alone webserver
320 serve start stand-alone webserver
321 showconfig show combined config settings from all hgrc files
321 showconfig show combined config settings from all hgrc files
322 status show changed files in the working directory
322 status show changed files in the working directory
323 summary summarize working directory state
323 summary summarize working directory state
324 tag add one or more tags for the current or given revision
324 tag add one or more tags for the current or given revision
325 tags list repository tags
325 tags list repository tags
326 tip show the tip revision
326 tip show the tip revision
327 unbundle apply one or more changegroup files
327 unbundle apply one or more changegroup files
328 update update working directory (or switch revisions)
328 update update working directory (or switch revisions)
329 verify verify the integrity of the repository
329 verify verify the integrity of the repository
330 version output version and copyright information
330 version output version and copyright information
331
331
332 additional help topics:
332 additional help topics:
333
333
334 config Configuration Files
334 config Configuration Files
335 dates Date Formats
335 dates Date Formats
336 patterns File Name Patterns
336 patterns File Name Patterns
337 environment Environment Variables
337 environment Environment Variables
338 revisions Specifying Single Revisions
338 revisions Specifying Single Revisions
339 multirevs Specifying Multiple Revisions
339 multirevs Specifying Multiple Revisions
340 revsets Specifying Revision Sets
340 revsets Specifying Revision Sets
341 diffs Diff Formats
341 diffs Diff Formats
342 merge-tools Merge Tools
342 templating Template Usage
343 templating Template Usage
343 urls URL Paths
344 urls URL Paths
344 extensions Using additional features
345 extensions Using additional features
345 hgweb Configuring hgweb
346 hgweb Configuring hgweb
346 glossary Glossary
347 glossary Glossary
347
348
348 use "hg -v help" to show aliases and global options
349 use "hg -v help" to show aliases and global options
349
350
350 $ hg --help
351 $ hg --help
351 Mercurial Distributed SCM
352 Mercurial Distributed SCM
352
353
353 list of commands:
354 list of commands:
354
355
355 add add the specified files on the next commit
356 add add the specified files on the next commit
356 addremove add all new files, delete all missing files
357 addremove add all new files, delete all missing files
357 annotate show changeset information by line for each file
358 annotate show changeset information by line for each file
358 archive create an unversioned archive of a repository revision
359 archive create an unversioned archive of a repository revision
359 backout reverse effect of earlier changeset
360 backout reverse effect of earlier changeset
360 bisect subdivision search of changesets
361 bisect subdivision search of changesets
361 branch set or show the current branch name
362 branch set or show the current branch name
362 branches list repository named branches
363 branches list repository named branches
363 bundle create a changegroup file
364 bundle create a changegroup file
364 cat output the current or given revision of files
365 cat output the current or given revision of files
365 clone make a copy of an existing repository
366 clone make a copy of an existing repository
366 commit commit the specified files or all outstanding changes
367 commit commit the specified files or all outstanding changes
367 copy mark files as copied for the next commit
368 copy mark files as copied for the next commit
368 diff diff repository (or selected files)
369 diff diff repository (or selected files)
369 export dump the header and diffs for one or more changesets
370 export dump the header and diffs for one or more changesets
370 forget forget the specified files on the next commit
371 forget forget the specified files on the next commit
371 grep search for a pattern in specified files and revisions
372 grep search for a pattern in specified files and revisions
372 heads show current repository heads or show branch heads
373 heads show current repository heads or show branch heads
373 help show help for a given topic or a help overview
374 help show help for a given topic or a help overview
374 identify identify the working copy or specified revision
375 identify identify the working copy or specified revision
375 import import an ordered set of patches
376 import import an ordered set of patches
376 incoming show new changesets found in source
377 incoming show new changesets found in source
377 init create a new repository in the given directory
378 init create a new repository in the given directory
378 locate locate files matching specific patterns
379 locate locate files matching specific patterns
379 log show revision history of entire repository or files
380 log show revision history of entire repository or files
380 manifest output the current or given revision of the project manifest
381 manifest output the current or given revision of the project manifest
381 merge merge working directory with another revision
382 merge merge working directory with another revision
382 outgoing show changesets not found in the destination
383 outgoing show changesets not found in the destination
383 parents show the parents of the working directory or revision
384 parents show the parents of the working directory or revision
384 paths show aliases for remote repositories
385 paths show aliases for remote repositories
385 pull pull changes from the specified source
386 pull pull changes from the specified source
386 push push changes to the specified destination
387 push push changes to the specified destination
387 recover roll back an interrupted transaction
388 recover roll back an interrupted transaction
388 remove remove the specified files on the next commit
389 remove remove the specified files on the next commit
389 rename rename files; equivalent of copy + remove
390 rename rename files; equivalent of copy + remove
390 resolve redo merges or set/view the merge status of files
391 resolve redo merges or set/view the merge status of files
391 revert restore individual files or directories to an earlier state
392 revert restore individual files or directories to an earlier state
392 rollback roll back the last transaction (dangerous)
393 rollback roll back the last transaction (dangerous)
393 root print the root (top) of the current working directory
394 root print the root (top) of the current working directory
394 serve start stand-alone webserver
395 serve start stand-alone webserver
395 showconfig show combined config settings from all hgrc files
396 showconfig show combined config settings from all hgrc files
396 status show changed files in the working directory
397 status show changed files in the working directory
397 summary summarize working directory state
398 summary summarize working directory state
398 tag add one or more tags for the current or given revision
399 tag add one or more tags for the current or given revision
399 tags list repository tags
400 tags list repository tags
400 tip show the tip revision
401 tip show the tip revision
401 unbundle apply one or more changegroup files
402 unbundle apply one or more changegroup files
402 update update working directory (or switch revisions)
403 update update working directory (or switch revisions)
403 verify verify the integrity of the repository
404 verify verify the integrity of the repository
404 version output version and copyright information
405 version output version and copyright information
405
406
406 additional help topics:
407 additional help topics:
407
408
408 config Configuration Files
409 config Configuration Files
409 dates Date Formats
410 dates Date Formats
410 patterns File Name Patterns
411 patterns File Name Patterns
411 environment Environment Variables
412 environment Environment Variables
412 revisions Specifying Single Revisions
413 revisions Specifying Single Revisions
413 multirevs Specifying Multiple Revisions
414 multirevs Specifying Multiple Revisions
414 revsets Specifying Revision Sets
415 revsets Specifying Revision Sets
415 diffs Diff Formats
416 diffs Diff Formats
417 merge-tools Merge Tools
416 templating Template Usage
418 templating Template Usage
417 urls URL Paths
419 urls URL Paths
418 extensions Using additional features
420 extensions Using additional features
419 hgweb Configuring hgweb
421 hgweb Configuring hgweb
420 glossary Glossary
422 glossary Glossary
421
423
422 use "hg -v help" to show aliases and global options
424 use "hg -v help" to show aliases and global options
423
425
424 Not tested: --debugger
426 Not tested: --debugger
425
427
@@ -1,755 +1,758 b''
1 Short help:
1 Short help:
2
2
3 $ hg
3 $ hg
4 Mercurial Distributed SCM
4 Mercurial Distributed SCM
5
5
6 basic commands:
6 basic commands:
7
7
8 add add the specified files on the next commit
8 add add the specified files on the next commit
9 annotate show changeset information by line for each file
9 annotate show changeset information by line for each file
10 clone make a copy of an existing repository
10 clone make a copy of an existing repository
11 commit commit the specified files or all outstanding changes
11 commit commit the specified files or all outstanding changes
12 diff diff repository (or selected files)
12 diff diff repository (or selected files)
13 export dump the header and diffs for one or more changesets
13 export dump the header and diffs for one or more changesets
14 forget forget the specified files on the next commit
14 forget forget the specified files on the next commit
15 init create a new repository in the given directory
15 init create a new repository in the given directory
16 log show revision history of entire repository or files
16 log show revision history of entire repository or files
17 merge merge working directory with another revision
17 merge merge working directory with another revision
18 pull pull changes from the specified source
18 pull pull changes from the specified source
19 push push changes to the specified destination
19 push push changes to the specified destination
20 remove remove the specified files on the next commit
20 remove remove the specified files on the next commit
21 serve start stand-alone webserver
21 serve start stand-alone webserver
22 status show changed files in the working directory
22 status show changed files in the working directory
23 summary summarize working directory state
23 summary summarize working directory state
24 update update working directory (or switch revisions)
24 update update working directory (or switch revisions)
25
25
26 use "hg help" for the full list of commands or "hg -v" for details
26 use "hg help" for the full list of commands or "hg -v" for details
27
27
28 $ hg -q
28 $ hg -q
29 add add the specified files on the next commit
29 add add the specified files on the next commit
30 annotate show changeset information by line for each file
30 annotate show changeset information by line for each file
31 clone make a copy of an existing repository
31 clone make a copy of an existing repository
32 commit commit the specified files or all outstanding changes
32 commit commit the specified files or all outstanding changes
33 diff diff repository (or selected files)
33 diff diff repository (or selected files)
34 export dump the header and diffs for one or more changesets
34 export dump the header and diffs for one or more changesets
35 forget forget the specified files on the next commit
35 forget forget the specified files on the next commit
36 init create a new repository in the given directory
36 init create a new repository in the given directory
37 log show revision history of entire repository or files
37 log show revision history of entire repository or files
38 merge merge working directory with another revision
38 merge merge working directory with another revision
39 pull pull changes from the specified source
39 pull pull changes from the specified source
40 push push changes to the specified destination
40 push push changes to the specified destination
41 remove remove the specified files on the next commit
41 remove remove the specified files on the next commit
42 serve start stand-alone webserver
42 serve start stand-alone webserver
43 status show changed files in the working directory
43 status show changed files in the working directory
44 summary summarize working directory state
44 summary summarize working directory state
45 update update working directory (or switch revisions)
45 update update working directory (or switch revisions)
46
46
47 $ hg help
47 $ hg help
48 Mercurial Distributed SCM
48 Mercurial Distributed SCM
49
49
50 list of commands:
50 list of commands:
51
51
52 add add the specified files on the next commit
52 add add the specified files on the next commit
53 addremove add all new files, delete all missing files
53 addremove add all new files, delete all missing files
54 annotate show changeset information by line for each file
54 annotate show changeset information by line for each file
55 archive create an unversioned archive of a repository revision
55 archive create an unversioned archive of a repository revision
56 backout reverse effect of earlier changeset
56 backout reverse effect of earlier changeset
57 bisect subdivision search of changesets
57 bisect subdivision search of changesets
58 branch set or show the current branch name
58 branch set or show the current branch name
59 branches list repository named branches
59 branches list repository named branches
60 bundle create a changegroup file
60 bundle create a changegroup file
61 cat output the current or given revision of files
61 cat output the current or given revision of files
62 clone make a copy of an existing repository
62 clone make a copy of an existing repository
63 commit commit the specified files or all outstanding changes
63 commit commit the specified files or all outstanding changes
64 copy mark files as copied for the next commit
64 copy mark files as copied for the next commit
65 diff diff repository (or selected files)
65 diff diff repository (or selected files)
66 export dump the header and diffs for one or more changesets
66 export dump the header and diffs for one or more changesets
67 forget forget the specified files on the next commit
67 forget forget the specified files on the next commit
68 grep search for a pattern in specified files and revisions
68 grep search for a pattern in specified files and revisions
69 heads show current repository heads or show branch heads
69 heads show current repository heads or show branch heads
70 help show help for a given topic or a help overview
70 help show help for a given topic or a help overview
71 identify identify the working copy or specified revision
71 identify identify the working copy or specified revision
72 import import an ordered set of patches
72 import import an ordered set of patches
73 incoming show new changesets found in source
73 incoming show new changesets found in source
74 init create a new repository in the given directory
74 init create a new repository in the given directory
75 locate locate files matching specific patterns
75 locate locate files matching specific patterns
76 log show revision history of entire repository or files
76 log show revision history of entire repository or files
77 manifest output the current or given revision of the project manifest
77 manifest output the current or given revision of the project manifest
78 merge merge working directory with another revision
78 merge merge working directory with another revision
79 outgoing show changesets not found in the destination
79 outgoing show changesets not found in the destination
80 parents show the parents of the working directory or revision
80 parents show the parents of the working directory or revision
81 paths show aliases for remote repositories
81 paths show aliases for remote repositories
82 pull pull changes from the specified source
82 pull pull changes from the specified source
83 push push changes to the specified destination
83 push push changes to the specified destination
84 recover roll back an interrupted transaction
84 recover roll back an interrupted transaction
85 remove remove the specified files on the next commit
85 remove remove the specified files on the next commit
86 rename rename files; equivalent of copy + remove
86 rename rename files; equivalent of copy + remove
87 resolve redo merges or set/view the merge status of files
87 resolve redo merges or set/view the merge status of files
88 revert restore individual files or directories to an earlier state
88 revert restore individual files or directories to an earlier state
89 rollback roll back the last transaction (dangerous)
89 rollback roll back the last transaction (dangerous)
90 root print the root (top) of the current working directory
90 root print the root (top) of the current working directory
91 serve start stand-alone webserver
91 serve start stand-alone webserver
92 showconfig show combined config settings from all hgrc files
92 showconfig show combined config settings from all hgrc files
93 status show changed files in the working directory
93 status show changed files in the working directory
94 summary summarize working directory state
94 summary summarize working directory state
95 tag add one or more tags for the current or given revision
95 tag add one or more tags for the current or given revision
96 tags list repository tags
96 tags list repository tags
97 tip show the tip revision
97 tip show the tip revision
98 unbundle apply one or more changegroup files
98 unbundle apply one or more changegroup files
99 update update working directory (or switch revisions)
99 update update working directory (or switch revisions)
100 verify verify the integrity of the repository
100 verify verify the integrity of the repository
101 version output version and copyright information
101 version output version and copyright information
102
102
103 additional help topics:
103 additional help topics:
104
104
105 config Configuration Files
105 config Configuration Files
106 dates Date Formats
106 dates Date Formats
107 patterns File Name Patterns
107 patterns File Name Patterns
108 environment Environment Variables
108 environment Environment Variables
109 revisions Specifying Single Revisions
109 revisions Specifying Single Revisions
110 multirevs Specifying Multiple Revisions
110 multirevs Specifying Multiple Revisions
111 revsets Specifying Revision Sets
111 revsets Specifying Revision Sets
112 diffs Diff Formats
112 diffs Diff Formats
113 merge-tools Merge Tools
113 templating Template Usage
114 templating Template Usage
114 urls URL Paths
115 urls URL Paths
115 extensions Using additional features
116 extensions Using additional features
116 hgweb Configuring hgweb
117 hgweb Configuring hgweb
117 glossary Glossary
118 glossary Glossary
118
119
119 use "hg -v help" to show aliases and global options
120 use "hg -v help" to show aliases and global options
120
121
121 $ hg -q help
122 $ hg -q help
122 add add the specified files on the next commit
123 add add the specified files on the next commit
123 addremove add all new files, delete all missing files
124 addremove add all new files, delete all missing files
124 annotate show changeset information by line for each file
125 annotate show changeset information by line for each file
125 archive create an unversioned archive of a repository revision
126 archive create an unversioned archive of a repository revision
126 backout reverse effect of earlier changeset
127 backout reverse effect of earlier changeset
127 bisect subdivision search of changesets
128 bisect subdivision search of changesets
128 branch set or show the current branch name
129 branch set or show the current branch name
129 branches list repository named branches
130 branches list repository named branches
130 bundle create a changegroup file
131 bundle create a changegroup file
131 cat output the current or given revision of files
132 cat output the current or given revision of files
132 clone make a copy of an existing repository
133 clone make a copy of an existing repository
133 commit commit the specified files or all outstanding changes
134 commit commit the specified files or all outstanding changes
134 copy mark files as copied for the next commit
135 copy mark files as copied for the next commit
135 diff diff repository (or selected files)
136 diff diff repository (or selected files)
136 export dump the header and diffs for one or more changesets
137 export dump the header and diffs for one or more changesets
137 forget forget the specified files on the next commit
138 forget forget the specified files on the next commit
138 grep search for a pattern in specified files and revisions
139 grep search for a pattern in specified files and revisions
139 heads show current repository heads or show branch heads
140 heads show current repository heads or show branch heads
140 help show help for a given topic or a help overview
141 help show help for a given topic or a help overview
141 identify identify the working copy or specified revision
142 identify identify the working copy or specified revision
142 import import an ordered set of patches
143 import import an ordered set of patches
143 incoming show new changesets found in source
144 incoming show new changesets found in source
144 init create a new repository in the given directory
145 init create a new repository in the given directory
145 locate locate files matching specific patterns
146 locate locate files matching specific patterns
146 log show revision history of entire repository or files
147 log show revision history of entire repository or files
147 manifest output the current or given revision of the project manifest
148 manifest output the current or given revision of the project manifest
148 merge merge working directory with another revision
149 merge merge working directory with another revision
149 outgoing show changesets not found in the destination
150 outgoing show changesets not found in the destination
150 parents show the parents of the working directory or revision
151 parents show the parents of the working directory or revision
151 paths show aliases for remote repositories
152 paths show aliases for remote repositories
152 pull pull changes from the specified source
153 pull pull changes from the specified source
153 push push changes to the specified destination
154 push push changes to the specified destination
154 recover roll back an interrupted transaction
155 recover roll back an interrupted transaction
155 remove remove the specified files on the next commit
156 remove remove the specified files on the next commit
156 rename rename files; equivalent of copy + remove
157 rename rename files; equivalent of copy + remove
157 resolve redo merges or set/view the merge status of files
158 resolve redo merges or set/view the merge status of files
158 revert restore individual files or directories to an earlier state
159 revert restore individual files or directories to an earlier state
159 rollback roll back the last transaction (dangerous)
160 rollback roll back the last transaction (dangerous)
160 root print the root (top) of the current working directory
161 root print the root (top) of the current working directory
161 serve start stand-alone webserver
162 serve start stand-alone webserver
162 showconfig show combined config settings from all hgrc files
163 showconfig show combined config settings from all hgrc files
163 status show changed files in the working directory
164 status show changed files in the working directory
164 summary summarize working directory state
165 summary summarize working directory state
165 tag add one or more tags for the current or given revision
166 tag add one or more tags for the current or given revision
166 tags list repository tags
167 tags list repository tags
167 tip show the tip revision
168 tip show the tip revision
168 unbundle apply one or more changegroup files
169 unbundle apply one or more changegroup files
169 update update working directory (or switch revisions)
170 update update working directory (or switch revisions)
170 verify verify the integrity of the repository
171 verify verify the integrity of the repository
171 version output version and copyright information
172 version output version and copyright information
172
173
173 additional help topics:
174 additional help topics:
174
175
175 config Configuration Files
176 config Configuration Files
176 dates Date Formats
177 dates Date Formats
177 patterns File Name Patterns
178 patterns File Name Patterns
178 environment Environment Variables
179 environment Environment Variables
179 revisions Specifying Single Revisions
180 revisions Specifying Single Revisions
180 multirevs Specifying Multiple Revisions
181 multirevs Specifying Multiple Revisions
181 revsets Specifying Revision Sets
182 revsets Specifying Revision Sets
182 diffs Diff Formats
183 diffs Diff Formats
184 merge-tools Merge Tools
183 templating Template Usage
185 templating Template Usage
184 urls URL Paths
186 urls URL Paths
185 extensions Using additional features
187 extensions Using additional features
186 hgweb Configuring hgweb
188 hgweb Configuring hgweb
187 glossary Glossary
189 glossary Glossary
188
190
189 Test short command list with verbose option
191 Test short command list with verbose option
190
192
191 $ hg -v help shortlist
193 $ hg -v help shortlist
192 Mercurial Distributed SCM (version *) (glob)
194 Mercurial Distributed SCM (version *) (glob)
193
195
194 Copyright (C) 2005-2010 Matt Mackall <mpm@selenic.com> and others
196 Copyright (C) 2005-2010 Matt Mackall <mpm@selenic.com> and others
195 This is free software; see the source for copying conditions. There is NO
197 This is free software; see the source for copying conditions. There is NO
196 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
198 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
197
199
198 basic commands:
200 basic commands:
199
201
200 add:
202 add:
201 add the specified files on the next commit
203 add the specified files on the next commit
202 annotate, blame:
204 annotate, blame:
203 show changeset information by line for each file
205 show changeset information by line for each file
204 clone:
206 clone:
205 make a copy of an existing repository
207 make a copy of an existing repository
206 commit, ci:
208 commit, ci:
207 commit the specified files or all outstanding changes
209 commit the specified files or all outstanding changes
208 diff:
210 diff:
209 diff repository (or selected files)
211 diff repository (or selected files)
210 export:
212 export:
211 dump the header and diffs for one or more changesets
213 dump the header and diffs for one or more changesets
212 forget:
214 forget:
213 forget the specified files on the next commit
215 forget the specified files on the next commit
214 init:
216 init:
215 create a new repository in the given directory
217 create a new repository in the given directory
216 log, history:
218 log, history:
217 show revision history of entire repository or files
219 show revision history of entire repository or files
218 merge:
220 merge:
219 merge working directory with another revision
221 merge working directory with another revision
220 pull:
222 pull:
221 pull changes from the specified source
223 pull changes from the specified source
222 push:
224 push:
223 push changes to the specified destination
225 push changes to the specified destination
224 remove, rm:
226 remove, rm:
225 remove the specified files on the next commit
227 remove the specified files on the next commit
226 serve:
228 serve:
227 start stand-alone webserver
229 start stand-alone webserver
228 status, st:
230 status, st:
229 show changed files in the working directory
231 show changed files in the working directory
230 summary, sum:
232 summary, sum:
231 summarize working directory state
233 summarize working directory state
232 update, up, checkout, co:
234 update, up, checkout, co:
233 update working directory (or switch revisions)
235 update working directory (or switch revisions)
234
236
235 global options:
237 global options:
236 -R --repository REPO repository root directory or name of overlay bundle
238 -R --repository REPO repository root directory or name of overlay bundle
237 file
239 file
238 --cwd DIR change working directory
240 --cwd DIR change working directory
239 -y --noninteractive do not prompt, assume 'yes' for any required answers
241 -y --noninteractive do not prompt, assume 'yes' for any required answers
240 -q --quiet suppress output
242 -q --quiet suppress output
241 -v --verbose enable additional output
243 -v --verbose enable additional output
242 --config CONFIG [+] set/override config option (use 'section.name=value')
244 --config CONFIG [+] set/override config option (use 'section.name=value')
243 --debug enable debugging output
245 --debug enable debugging output
244 --debugger start debugger
246 --debugger start debugger
245 --encoding ENCODE set the charset encoding (default: ascii)
247 --encoding ENCODE set the charset encoding (default: ascii)
246 --encodingmode MODE set the charset encoding mode (default: strict)
248 --encodingmode MODE set the charset encoding mode (default: strict)
247 --traceback always print a traceback on exception
249 --traceback always print a traceback on exception
248 --time time how long the command takes
250 --time time how long the command takes
249 --profile print command execution profile
251 --profile print command execution profile
250 --version output version information and exit
252 --version output version information and exit
251 -h --help display help and exit
253 -h --help display help and exit
252
254
253 [+] marked option can be specified multiple times
255 [+] marked option can be specified multiple times
254
256
255 use "hg help" for the full list of commands
257 use "hg help" for the full list of commands
256
258
257 $ hg add -h
259 $ hg add -h
258 hg add [OPTION]... [FILE]...
260 hg add [OPTION]... [FILE]...
259
261
260 add the specified files on the next commit
262 add the specified files on the next commit
261
263
262 Schedule files to be version controlled and added to the repository.
264 Schedule files to be version controlled and added to the repository.
263
265
264 The files will be added to the repository at the next commit. To undo an
266 The files will be added to the repository at the next commit. To undo an
265 add before that, see "hg forget".
267 add before that, see "hg forget".
266
268
267 If no names are given, add all files to the repository.
269 If no names are given, add all files to the repository.
268
270
269 Returns 0 if all files are successfully added.
271 Returns 0 if all files are successfully added.
270
272
271 use "hg -v help add" to show verbose help
273 use "hg -v help add" to show verbose help
272
274
273 options:
275 options:
274
276
275 -I --include PATTERN [+] include names matching the given patterns
277 -I --include PATTERN [+] include names matching the given patterns
276 -X --exclude PATTERN [+] exclude names matching the given patterns
278 -X --exclude PATTERN [+] exclude names matching the given patterns
277 -S --subrepos recurse into subrepositories
279 -S --subrepos recurse into subrepositories
278 -n --dry-run do not perform actions, just print output
280 -n --dry-run do not perform actions, just print output
279
281
280 [+] marked option can be specified multiple times
282 [+] marked option can be specified multiple times
281
283
282 use "hg -v help add" to show global options
284 use "hg -v help add" to show global options
283
285
284 Verbose help for add
286 Verbose help for add
285
287
286 $ hg add -hv
288 $ hg add -hv
287 hg add [OPTION]... [FILE]...
289 hg add [OPTION]... [FILE]...
288
290
289 add the specified files on the next commit
291 add the specified files on the next commit
290
292
291 Schedule files to be version controlled and added to the repository.
293 Schedule files to be version controlled and added to the repository.
292
294
293 The files will be added to the repository at the next commit. To undo an
295 The files will be added to the repository at the next commit. To undo an
294 add before that, see "hg forget".
296 add before that, see "hg forget".
295
297
296 If no names are given, add all files to the repository.
298 If no names are given, add all files to the repository.
297
299
298 An example showing how new (unknown) files are added automatically by "hg
300 An example showing how new (unknown) files are added automatically by "hg
299 add":
301 add":
300
302
301 $ ls
303 $ ls
302 foo.c
304 foo.c
303 $ hg status
305 $ hg status
304 ? foo.c
306 ? foo.c
305 $ hg add
307 $ hg add
306 adding foo.c
308 adding foo.c
307 $ hg status
309 $ hg status
308 A foo.c
310 A foo.c
309
311
310 Returns 0 if all files are successfully added.
312 Returns 0 if all files are successfully added.
311
313
312 options:
314 options:
313
315
314 -I --include PATTERN [+] include names matching the given patterns
316 -I --include PATTERN [+] include names matching the given patterns
315 -X --exclude PATTERN [+] exclude names matching the given patterns
317 -X --exclude PATTERN [+] exclude names matching the given patterns
316 -S --subrepos recurse into subrepositories
318 -S --subrepos recurse into subrepositories
317 -n --dry-run do not perform actions, just print output
319 -n --dry-run do not perform actions, just print output
318
320
319 global options:
321 global options:
320 -R --repository REPO repository root directory or name of overlay bundle
322 -R --repository REPO repository root directory or name of overlay bundle
321 file
323 file
322 --cwd DIR change working directory
324 --cwd DIR change working directory
323 -y --noninteractive do not prompt, assume 'yes' for any required
325 -y --noninteractive do not prompt, assume 'yes' for any required
324 answers
326 answers
325 -q --quiet suppress output
327 -q --quiet suppress output
326 -v --verbose enable additional output
328 -v --verbose enable additional output
327 --config CONFIG [+] set/override config option (use
329 --config CONFIG [+] set/override config option (use
328 'section.name=value')
330 'section.name=value')
329 --debug enable debugging output
331 --debug enable debugging output
330 --debugger start debugger
332 --debugger start debugger
331 --encoding ENCODE set the charset encoding (default: ascii)
333 --encoding ENCODE set the charset encoding (default: ascii)
332 --encodingmode MODE set the charset encoding mode (default: strict)
334 --encodingmode MODE set the charset encoding mode (default: strict)
333 --traceback always print a traceback on exception
335 --traceback always print a traceback on exception
334 --time time how long the command takes
336 --time time how long the command takes
335 --profile print command execution profile
337 --profile print command execution profile
336 --version output version information and exit
338 --version output version information and exit
337 -h --help display help and exit
339 -h --help display help and exit
338
340
339 [+] marked option can be specified multiple times
341 [+] marked option can be specified multiple times
340
342
341 Test help option with version option
343 Test help option with version option
342
344
343 $ hg add -h --version
345 $ hg add -h --version
344 Mercurial Distributed SCM (version *) (glob)
346 Mercurial Distributed SCM (version *) (glob)
345
347
346 Copyright (C) 2005-2010 Matt Mackall <mpm@selenic.com> and others
348 Copyright (C) 2005-2010 Matt Mackall <mpm@selenic.com> and others
347 This is free software; see the source for copying conditions. There is NO
349 This is free software; see the source for copying conditions. There is NO
348 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
350 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
349
351
350 hg add [OPTION]... [FILE]...
352 hg add [OPTION]... [FILE]...
351
353
352 add the specified files on the next commit
354 add the specified files on the next commit
353
355
354 Schedule files to be version controlled and added to the repository.
356 Schedule files to be version controlled and added to the repository.
355
357
356 The files will be added to the repository at the next commit. To undo an
358 The files will be added to the repository at the next commit. To undo an
357 add before that, see "hg forget".
359 add before that, see "hg forget".
358
360
359 If no names are given, add all files to the repository.
361 If no names are given, add all files to the repository.
360
362
361 Returns 0 if all files are successfully added.
363 Returns 0 if all files are successfully added.
362
364
363 use "hg -v help add" to show verbose help
365 use "hg -v help add" to show verbose help
364
366
365 options:
367 options:
366
368
367 -I --include PATTERN [+] include names matching the given patterns
369 -I --include PATTERN [+] include names matching the given patterns
368 -X --exclude PATTERN [+] exclude names matching the given patterns
370 -X --exclude PATTERN [+] exclude names matching the given patterns
369 -S --subrepos recurse into subrepositories
371 -S --subrepos recurse into subrepositories
370 -n --dry-run do not perform actions, just print output
372 -n --dry-run do not perform actions, just print output
371
373
372 [+] marked option can be specified multiple times
374 [+] marked option can be specified multiple times
373
375
374 use "hg -v help add" to show global options
376 use "hg -v help add" to show global options
375
377
376 $ hg add --skjdfks
378 $ hg add --skjdfks
377 hg add: option --skjdfks not recognized
379 hg add: option --skjdfks not recognized
378 hg add [OPTION]... [FILE]...
380 hg add [OPTION]... [FILE]...
379
381
380 add the specified files on the next commit
382 add the specified files on the next commit
381
383
382 Schedule files to be version controlled and added to the repository.
384 Schedule files to be version controlled and added to the repository.
383
385
384 The files will be added to the repository at the next commit. To undo an
386 The files will be added to the repository at the next commit. To undo an
385 add before that, see "hg forget".
387 add before that, see "hg forget".
386
388
387 If no names are given, add all files to the repository.
389 If no names are given, add all files to the repository.
388
390
389 Returns 0 if all files are successfully added.
391 Returns 0 if all files are successfully added.
390
392
391 use "hg -v help add" to show verbose help
393 use "hg -v help add" to show verbose help
392
394
393 options:
395 options:
394
396
395 -I --include PATTERN [+] include names matching the given patterns
397 -I --include PATTERN [+] include names matching the given patterns
396 -X --exclude PATTERN [+] exclude names matching the given patterns
398 -X --exclude PATTERN [+] exclude names matching the given patterns
397 -S --subrepos recurse into subrepositories
399 -S --subrepos recurse into subrepositories
398 -n --dry-run do not perform actions, just print output
400 -n --dry-run do not perform actions, just print output
399
401
400 [+] marked option can be specified multiple times
402 [+] marked option can be specified multiple times
401
403
402 use "hg -v help add" to show global options
404 use "hg -v help add" to show global options
403 [255]
405 [255]
404
406
405 Test ambiguous command help
407 Test ambiguous command help
406
408
407 $ hg help ad
409 $ hg help ad
408 list of commands:
410 list of commands:
409
411
410 add add the specified files on the next commit
412 add add the specified files on the next commit
411 addremove add all new files, delete all missing files
413 addremove add all new files, delete all missing files
412
414
413 use "hg -v help ad" to show aliases and global options
415 use "hg -v help ad" to show aliases and global options
414
416
415 Test command without options
417 Test command without options
416
418
417 $ hg help verify
419 $ hg help verify
418 hg verify
420 hg verify
419
421
420 verify the integrity of the repository
422 verify the integrity of the repository
421
423
422 Verify the integrity of the current repository.
424 Verify the integrity of the current repository.
423
425
424 This will perform an extensive check of the repository's integrity,
426 This will perform an extensive check of the repository's integrity,
425 validating the hashes and checksums of each entry in the changelog,
427 validating the hashes and checksums of each entry in the changelog,
426 manifest, and tracked files, as well as the integrity of their crosslinks
428 manifest, and tracked files, as well as the integrity of their crosslinks
427 and indices.
429 and indices.
428
430
429 Returns 0 on success, 1 if errors are encountered.
431 Returns 0 on success, 1 if errors are encountered.
430
432
431 use "hg -v help verify" to show global options
433 use "hg -v help verify" to show global options
432
434
433 $ hg help diff
435 $ hg help diff
434 hg diff [OPTION]... ([-c REV] | [-r REV1 [-r REV2]]) [FILE]...
436 hg diff [OPTION]... ([-c REV] | [-r REV1 [-r REV2]]) [FILE]...
435
437
436 diff repository (or selected files)
438 diff repository (or selected files)
437
439
438 Show differences between revisions for the specified files.
440 Show differences between revisions for the specified files.
439
441
440 Differences between files are shown using the unified diff format.
442 Differences between files are shown using the unified diff format.
441
443
442 Note:
444 Note:
443 diff may generate unexpected results for merges, as it will default to
445 diff may generate unexpected results for merges, as it will default to
444 comparing against the working directory's first parent changeset if no
446 comparing against the working directory's first parent changeset if no
445 revisions are specified.
447 revisions are specified.
446
448
447 When two revision arguments are given, then changes are shown between
449 When two revision arguments are given, then changes are shown between
448 those revisions. If only one revision is specified then that revision is
450 those revisions. If only one revision is specified then that revision is
449 compared to the working directory, and, when no revisions are specified,
451 compared to the working directory, and, when no revisions are specified,
450 the working directory files are compared to its parent.
452 the working directory files are compared to its parent.
451
453
452 Alternatively you can specify -c/--change with a revision to see the
454 Alternatively you can specify -c/--change with a revision to see the
453 changes in that changeset relative to its first parent.
455 changes in that changeset relative to its first parent.
454
456
455 Without the -a/--text option, diff will avoid generating diffs of files it
457 Without the -a/--text option, diff will avoid generating diffs of files it
456 detects as binary. With -a, diff will generate a diff anyway, probably
458 detects as binary. With -a, diff will generate a diff anyway, probably
457 with undesirable results.
459 with undesirable results.
458
460
459 Use the -g/--git option to generate diffs in the git extended diff format.
461 Use the -g/--git option to generate diffs in the git extended diff format.
460 For more information, read "hg help diffs".
462 For more information, read "hg help diffs".
461
463
462 Returns 0 on success.
464 Returns 0 on success.
463
465
464 options:
466 options:
465
467
466 -r --rev REV [+] revision
468 -r --rev REV [+] revision
467 -c --change REV change made by revision
469 -c --change REV change made by revision
468 -a --text treat all files as text
470 -a --text treat all files as text
469 -g --git use git extended diff format
471 -g --git use git extended diff format
470 --nodates omit dates from diff headers
472 --nodates omit dates from diff headers
471 -p --show-function show which function each change is in
473 -p --show-function show which function each change is in
472 --reverse produce a diff that undoes the changes
474 --reverse produce a diff that undoes the changes
473 -w --ignore-all-space ignore white space when comparing lines
475 -w --ignore-all-space ignore white space when comparing lines
474 -b --ignore-space-change ignore changes in the amount of white space
476 -b --ignore-space-change ignore changes in the amount of white space
475 -B --ignore-blank-lines ignore changes whose lines are all blank
477 -B --ignore-blank-lines ignore changes whose lines are all blank
476 -U --unified NUM number of lines of context to show
478 -U --unified NUM number of lines of context to show
477 --stat output diffstat-style summary of changes
479 --stat output diffstat-style summary of changes
478 -I --include PATTERN [+] include names matching the given patterns
480 -I --include PATTERN [+] include names matching the given patterns
479 -X --exclude PATTERN [+] exclude names matching the given patterns
481 -X --exclude PATTERN [+] exclude names matching the given patterns
480 -S --subrepos recurse into subrepositories
482 -S --subrepos recurse into subrepositories
481
483
482 [+] marked option can be specified multiple times
484 [+] marked option can be specified multiple times
483
485
484 use "hg -v help diff" to show global options
486 use "hg -v help diff" to show global options
485
487
486 $ hg help status
488 $ hg help status
487 hg status [OPTION]... [FILE]...
489 hg status [OPTION]... [FILE]...
488
490
489 aliases: st
491 aliases: st
490
492
491 show changed files in the working directory
493 show changed files in the working directory
492
494
493 Show status of files in the repository. If names are given, only files
495 Show status of files in the repository. If names are given, only files
494 that match are shown. Files that are clean or ignored or the source of a
496 that match are shown. Files that are clean or ignored or the source of a
495 copy/move operation, are not listed unless -c/--clean, -i/--ignored,
497 copy/move operation, are not listed unless -c/--clean, -i/--ignored,
496 -C/--copies or -A/--all are given. Unless options described with "show
498 -C/--copies or -A/--all are given. Unless options described with "show
497 only ..." are given, the options -mardu are used.
499 only ..." are given, the options -mardu are used.
498
500
499 Option -q/--quiet hides untracked (unknown and ignored) files unless
501 Option -q/--quiet hides untracked (unknown and ignored) files unless
500 explicitly requested with -u/--unknown or -i/--ignored.
502 explicitly requested with -u/--unknown or -i/--ignored.
501
503
502 Note:
504 Note:
503 status may appear to disagree with diff if permissions have changed or
505 status may appear to disagree with diff if permissions have changed or
504 a merge has occurred. The standard diff format does not report
506 a merge has occurred. The standard diff format does not report
505 permission changes and diff only reports changes relative to one merge
507 permission changes and diff only reports changes relative to one merge
506 parent.
508 parent.
507
509
508 If one revision is given, it is used as the base revision. If two
510 If one revision is given, it is used as the base revision. If two
509 revisions are given, the differences between them are shown. The --change
511 revisions are given, the differences between them are shown. The --change
510 option can also be used as a shortcut to list the changed files of a
512 option can also be used as a shortcut to list the changed files of a
511 revision from its first parent.
513 revision from its first parent.
512
514
513 The codes used to show the status of files are:
515 The codes used to show the status of files are:
514
516
515 M = modified
517 M = modified
516 A = added
518 A = added
517 R = removed
519 R = removed
518 C = clean
520 C = clean
519 ! = missing (deleted by non-hg command, but still tracked)
521 ! = missing (deleted by non-hg command, but still tracked)
520 ? = not tracked
522 ? = not tracked
521 I = ignored
523 I = ignored
522 = origin of the previous file listed as A (added)
524 = origin of the previous file listed as A (added)
523
525
524 Returns 0 on success.
526 Returns 0 on success.
525
527
526 options:
528 options:
527
529
528 -A --all show status of all files
530 -A --all show status of all files
529 -m --modified show only modified files
531 -m --modified show only modified files
530 -a --added show only added files
532 -a --added show only added files
531 -r --removed show only removed files
533 -r --removed show only removed files
532 -d --deleted show only deleted (but tracked) files
534 -d --deleted show only deleted (but tracked) files
533 -c --clean show only files without changes
535 -c --clean show only files without changes
534 -u --unknown show only unknown (not tracked) files
536 -u --unknown show only unknown (not tracked) files
535 -i --ignored show only ignored files
537 -i --ignored show only ignored files
536 -n --no-status hide status prefix
538 -n --no-status hide status prefix
537 -C --copies show source of copied files
539 -C --copies show source of copied files
538 -0 --print0 end filenames with NUL, for use with xargs
540 -0 --print0 end filenames with NUL, for use with xargs
539 --rev REV [+] show difference from revision
541 --rev REV [+] show difference from revision
540 --change REV list the changed files of a revision
542 --change REV list the changed files of a revision
541 -I --include PATTERN [+] include names matching the given patterns
543 -I --include PATTERN [+] include names matching the given patterns
542 -X --exclude PATTERN [+] exclude names matching the given patterns
544 -X --exclude PATTERN [+] exclude names matching the given patterns
543 -S --subrepos recurse into subrepositories
545 -S --subrepos recurse into subrepositories
544
546
545 [+] marked option can be specified multiple times
547 [+] marked option can be specified multiple times
546
548
547 use "hg -v help status" to show global options
549 use "hg -v help status" to show global options
548
550
549 $ hg -q help status
551 $ hg -q help status
550 hg status [OPTION]... [FILE]...
552 hg status [OPTION]... [FILE]...
551
553
552 show changed files in the working directory
554 show changed files in the working directory
553
555
554 $ hg help foo
556 $ hg help foo
555 hg: unknown command 'foo'
557 hg: unknown command 'foo'
556 Mercurial Distributed SCM
558 Mercurial Distributed SCM
557
559
558 basic commands:
560 basic commands:
559
561
560 add add the specified files on the next commit
562 add add the specified files on the next commit
561 annotate show changeset information by line for each file
563 annotate show changeset information by line for each file
562 clone make a copy of an existing repository
564 clone make a copy of an existing repository
563 commit commit the specified files or all outstanding changes
565 commit commit the specified files or all outstanding changes
564 diff diff repository (or selected files)
566 diff diff repository (or selected files)
565 export dump the header and diffs for one or more changesets
567 export dump the header and diffs for one or more changesets
566 forget forget the specified files on the next commit
568 forget forget the specified files on the next commit
567 init create a new repository in the given directory
569 init create a new repository in the given directory
568 log show revision history of entire repository or files
570 log show revision history of entire repository or files
569 merge merge working directory with another revision
571 merge merge working directory with another revision
570 pull pull changes from the specified source
572 pull pull changes from the specified source
571 push push changes to the specified destination
573 push push changes to the specified destination
572 remove remove the specified files on the next commit
574 remove remove the specified files on the next commit
573 serve start stand-alone webserver
575 serve start stand-alone webserver
574 status show changed files in the working directory
576 status show changed files in the working directory
575 summary summarize working directory state
577 summary summarize working directory state
576 update update working directory (or switch revisions)
578 update update working directory (or switch revisions)
577
579
578 use "hg help" for the full list of commands or "hg -v" for details
580 use "hg help" for the full list of commands or "hg -v" for details
579 [255]
581 [255]
580
582
581 $ hg skjdfks
583 $ hg skjdfks
582 hg: unknown command 'skjdfks'
584 hg: unknown command 'skjdfks'
583 Mercurial Distributed SCM
585 Mercurial Distributed SCM
584
586
585 basic commands:
587 basic commands:
586
588
587 add add the specified files on the next commit
589 add add the specified files on the next commit
588 annotate show changeset information by line for each file
590 annotate show changeset information by line for each file
589 clone make a copy of an existing repository
591 clone make a copy of an existing repository
590 commit commit the specified files or all outstanding changes
592 commit commit the specified files or all outstanding changes
591 diff diff repository (or selected files)
593 diff diff repository (or selected files)
592 export dump the header and diffs for one or more changesets
594 export dump the header and diffs for one or more changesets
593 forget forget the specified files on the next commit
595 forget forget the specified files on the next commit
594 init create a new repository in the given directory
596 init create a new repository in the given directory
595 log show revision history of entire repository or files
597 log show revision history of entire repository or files
596 merge merge working directory with another revision
598 merge merge working directory with another revision
597 pull pull changes from the specified source
599 pull pull changes from the specified source
598 push push changes to the specified destination
600 push push changes to the specified destination
599 remove remove the specified files on the next commit
601 remove remove the specified files on the next commit
600 serve start stand-alone webserver
602 serve start stand-alone webserver
601 status show changed files in the working directory
603 status show changed files in the working directory
602 summary summarize working directory state
604 summary summarize working directory state
603 update update working directory (or switch revisions)
605 update update working directory (or switch revisions)
604
606
605 use "hg help" for the full list of commands or "hg -v" for details
607 use "hg help" for the full list of commands or "hg -v" for details
606 [255]
608 [255]
607
609
608 $ cat > helpext.py <<EOF
610 $ cat > helpext.py <<EOF
609 > import os
611 > import os
610 > from mercurial import commands
612 > from mercurial import commands
611 >
613 >
612 > def nohelp(ui, *args, **kwargs):
614 > def nohelp(ui, *args, **kwargs):
613 > pass
615 > pass
614 >
616 >
615 > cmdtable = {
617 > cmdtable = {
616 > "nohelp": (nohelp, [], "hg nohelp"),
618 > "nohelp": (nohelp, [], "hg nohelp"),
617 > }
619 > }
618 >
620 >
619 > commands.norepo += ' nohelp'
621 > commands.norepo += ' nohelp'
620 > EOF
622 > EOF
621 $ echo '[extensions]' >> $HGRCPATH
623 $ echo '[extensions]' >> $HGRCPATH
622 $ echo "helpext = `pwd`/helpext.py" >> $HGRCPATH
624 $ echo "helpext = `pwd`/helpext.py" >> $HGRCPATH
623
625
624 Test command with no help text
626 Test command with no help text
625
627
626 $ hg help nohelp
628 $ hg help nohelp
627 hg nohelp
629 hg nohelp
628
630
629 (no help text available)
631 (no help text available)
630
632
631 use "hg -v help nohelp" to show global options
633 use "hg -v help nohelp" to show global options
632
634
633 Test that default list of commands omits extension commands
635 Test that default list of commands omits extension commands
634
636
635 $ hg help
637 $ hg help
636 Mercurial Distributed SCM
638 Mercurial Distributed SCM
637
639
638 list of commands:
640 list of commands:
639
641
640 add add the specified files on the next commit
642 add add the specified files on the next commit
641 addremove add all new files, delete all missing files
643 addremove add all new files, delete all missing files
642 annotate show changeset information by line for each file
644 annotate show changeset information by line for each file
643 archive create an unversioned archive of a repository revision
645 archive create an unversioned archive of a repository revision
644 backout reverse effect of earlier changeset
646 backout reverse effect of earlier changeset
645 bisect subdivision search of changesets
647 bisect subdivision search of changesets
646 branch set or show the current branch name
648 branch set or show the current branch name
647 branches list repository named branches
649 branches list repository named branches
648 bundle create a changegroup file
650 bundle create a changegroup file
649 cat output the current or given revision of files
651 cat output the current or given revision of files
650 clone make a copy of an existing repository
652 clone make a copy of an existing repository
651 commit commit the specified files or all outstanding changes
653 commit commit the specified files or all outstanding changes
652 copy mark files as copied for the next commit
654 copy mark files as copied for the next commit
653 diff diff repository (or selected files)
655 diff diff repository (or selected files)
654 export dump the header and diffs for one or more changesets
656 export dump the header and diffs for one or more changesets
655 forget forget the specified files on the next commit
657 forget forget the specified files on the next commit
656 grep search for a pattern in specified files and revisions
658 grep search for a pattern in specified files and revisions
657 heads show current repository heads or show branch heads
659 heads show current repository heads or show branch heads
658 help show help for a given topic or a help overview
660 help show help for a given topic or a help overview
659 identify identify the working copy or specified revision
661 identify identify the working copy or specified revision
660 import import an ordered set of patches
662 import import an ordered set of patches
661 incoming show new changesets found in source
663 incoming show new changesets found in source
662 init create a new repository in the given directory
664 init create a new repository in the given directory
663 locate locate files matching specific patterns
665 locate locate files matching specific patterns
664 log show revision history of entire repository or files
666 log show revision history of entire repository or files
665 manifest output the current or given revision of the project manifest
667 manifest output the current or given revision of the project manifest
666 merge merge working directory with another revision
668 merge merge working directory with another revision
667 outgoing show changesets not found in the destination
669 outgoing show changesets not found in the destination
668 parents show the parents of the working directory or revision
670 parents show the parents of the working directory or revision
669 paths show aliases for remote repositories
671 paths show aliases for remote repositories
670 pull pull changes from the specified source
672 pull pull changes from the specified source
671 push push changes to the specified destination
673 push push changes to the specified destination
672 recover roll back an interrupted transaction
674 recover roll back an interrupted transaction
673 remove remove the specified files on the next commit
675 remove remove the specified files on the next commit
674 rename rename files; equivalent of copy + remove
676 rename rename files; equivalent of copy + remove
675 resolve redo merges or set/view the merge status of files
677 resolve redo merges or set/view the merge status of files
676 revert restore individual files or directories to an earlier state
678 revert restore individual files or directories to an earlier state
677 rollback roll back the last transaction (dangerous)
679 rollback roll back the last transaction (dangerous)
678 root print the root (top) of the current working directory
680 root print the root (top) of the current working directory
679 serve start stand-alone webserver
681 serve start stand-alone webserver
680 showconfig show combined config settings from all hgrc files
682 showconfig show combined config settings from all hgrc files
681 status show changed files in the working directory
683 status show changed files in the working directory
682 summary summarize working directory state
684 summary summarize working directory state
683 tag add one or more tags for the current or given revision
685 tag add one or more tags for the current or given revision
684 tags list repository tags
686 tags list repository tags
685 tip show the tip revision
687 tip show the tip revision
686 unbundle apply one or more changegroup files
688 unbundle apply one or more changegroup files
687 update update working directory (or switch revisions)
689 update update working directory (or switch revisions)
688 verify verify the integrity of the repository
690 verify verify the integrity of the repository
689 version output version and copyright information
691 version output version and copyright information
690
692
691 enabled extensions:
693 enabled extensions:
692
694
693 helpext (no help text available)
695 helpext (no help text available)
694
696
695 additional help topics:
697 additional help topics:
696
698
697 config Configuration Files
699 config Configuration Files
698 dates Date Formats
700 dates Date Formats
699 patterns File Name Patterns
701 patterns File Name Patterns
700 environment Environment Variables
702 environment Environment Variables
701 revisions Specifying Single Revisions
703 revisions Specifying Single Revisions
702 multirevs Specifying Multiple Revisions
704 multirevs Specifying Multiple Revisions
703 revsets Specifying Revision Sets
705 revsets Specifying Revision Sets
704 diffs Diff Formats
706 diffs Diff Formats
707 merge-tools Merge Tools
705 templating Template Usage
708 templating Template Usage
706 urls URL Paths
709 urls URL Paths
707 extensions Using additional features
710 extensions Using additional features
708 hgweb Configuring hgweb
711 hgweb Configuring hgweb
709 glossary Glossary
712 glossary Glossary
710
713
711 use "hg -v help" to show aliases and global options
714 use "hg -v help" to show aliases and global options
712
715
713 Test list of commands with command with no help text
716 Test list of commands with command with no help text
714
717
715 $ hg help helpext
718 $ hg help helpext
716 helpext extension - no help text available
719 helpext extension - no help text available
717
720
718 list of commands:
721 list of commands:
719
722
720 nohelp (no help text available)
723 nohelp (no help text available)
721
724
722 use "hg -v help helpext" to show aliases and global options
725 use "hg -v help helpext" to show aliases and global options
723
726
724 Test a help topic
727 Test a help topic
725
728
726 $ hg help revs
729 $ hg help revs
727 Specifying Single Revisions
730 Specifying Single Revisions
728
731
729 Mercurial supports several ways to specify individual revisions.
732 Mercurial supports several ways to specify individual revisions.
730
733
731 A plain integer is treated as a revision number. Negative integers are
734 A plain integer is treated as a revision number. Negative integers are
732 treated as sequential offsets from the tip, with -1 denoting the tip, -2
735 treated as sequential offsets from the tip, with -1 denoting the tip, -2
733 denoting the revision prior to the tip, and so forth.
736 denoting the revision prior to the tip, and so forth.
734
737
735 A 40-digit hexadecimal string is treated as a unique revision identifier.
738 A 40-digit hexadecimal string is treated as a unique revision identifier.
736
739
737 A hexadecimal string less than 40 characters long is treated as a unique
740 A hexadecimal string less than 40 characters long is treated as a unique
738 revision identifier and is referred to as a short-form identifier. A
741 revision identifier and is referred to as a short-form identifier. A
739 short-form identifier is only valid if it is the prefix of exactly one
742 short-form identifier is only valid if it is the prefix of exactly one
740 full-length identifier.
743 full-length identifier.
741
744
742 Any other string is treated as a tag or branch name. A tag name is a
745 Any other string is treated as a tag or branch name. A tag name is a
743 symbolic name associated with a revision identifier. A branch name denotes
746 symbolic name associated with a revision identifier. A branch name denotes
744 the tipmost revision of that branch. Tag and branch names must not contain
747 the tipmost revision of that branch. Tag and branch names must not contain
745 the ":" character.
748 the ":" character.
746
749
747 The reserved name "tip" is a special tag that always identifies the most
750 The reserved name "tip" is a special tag that always identifies the most
748 recent revision.
751 recent revision.
749
752
750 The reserved name "null" indicates the null revision. This is the revision
753 The reserved name "null" indicates the null revision. This is the revision
751 of an empty repository, and the parent of revision 0.
754 of an empty repository, and the parent of revision 0.
752
755
753 The reserved name "." indicates the working directory parent. If no
756 The reserved name "." indicates the working directory parent. If no
754 working directory is checked out, it is equivalent to null. If an
757 working directory is checked out, it is equivalent to null. If an
755 uncommitted merge is in progress, "." is the revision of the first parent.
758 uncommitted merge is in progress, "." is the revision of the first parent.
General Comments 0
You need to be logged in to leave comments. Login now