##// END OF EJS Templates
tests: use raw strings in test-help.t...
Gregory Szorc -
r41692:033a0f4b default
parent child Browse files
Show More
@@ -1,3830 +1,3830 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 another revision into working directory
17 merge merge another revision into working directory
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 another revision into working directory
38 merge merge another revision into working directory
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 Extra extensions will be printed in help output in a non-reliable order since
47 Extra extensions will be printed in help output in a non-reliable order since
48 the extension is unknown.
48 the extension is unknown.
49 #if no-extraextensions
49 #if no-extraextensions
50
50
51 $ hg help
51 $ hg help
52 Mercurial Distributed SCM
52 Mercurial Distributed SCM
53
53
54 list of commands:
54 list of commands:
55
55
56 Repository creation:
56 Repository creation:
57
57
58 clone make a copy of an existing repository
58 clone make a copy of an existing repository
59 init create a new repository in the given directory
59 init create a new repository in the given directory
60
60
61 Remote repository management:
61 Remote repository management:
62
62
63 incoming show new changesets found in source
63 incoming show new changesets found in source
64 outgoing show changesets not found in the destination
64 outgoing show changesets not found in the destination
65 paths show aliases for remote repositories
65 paths show aliases for remote repositories
66 pull pull changes from the specified source
66 pull pull changes from the specified source
67 push push changes to the specified destination
67 push push changes to the specified destination
68 serve start stand-alone webserver
68 serve start stand-alone webserver
69
69
70 Change creation:
70 Change creation:
71
71
72 commit commit the specified files or all outstanding changes
72 commit commit the specified files or all outstanding changes
73
73
74 Change manipulation:
74 Change manipulation:
75
75
76 backout reverse effect of earlier changeset
76 backout reverse effect of earlier changeset
77 graft copy changes from other branches onto the current branch
77 graft copy changes from other branches onto the current branch
78 merge merge another revision into working directory
78 merge merge another revision into working directory
79
79
80 Change organization:
80 Change organization:
81
81
82 bookmarks create a new bookmark or list existing bookmarks
82 bookmarks create a new bookmark or list existing bookmarks
83 branch set or show the current branch name
83 branch set or show the current branch name
84 branches list repository named branches
84 branches list repository named branches
85 phase set or show the current phase name
85 phase set or show the current phase name
86 tag add one or more tags for the current or given revision
86 tag add one or more tags for the current or given revision
87 tags list repository tags
87 tags list repository tags
88
88
89 File content management:
89 File content management:
90
90
91 annotate show changeset information by line for each file
91 annotate show changeset information by line for each file
92 cat output the current or given revision of files
92 cat output the current or given revision of files
93 copy mark files as copied for the next commit
93 copy mark files as copied for the next commit
94 diff diff repository (or selected files)
94 diff diff repository (or selected files)
95 grep search revision history for a pattern in specified files
95 grep search revision history for a pattern in specified files
96
96
97 Change navigation:
97 Change navigation:
98
98
99 bisect subdivision search of changesets
99 bisect subdivision search of changesets
100 heads show branch heads
100 heads show branch heads
101 identify identify the working directory or specified revision
101 identify identify the working directory or specified revision
102 log show revision history of entire repository or files
102 log show revision history of entire repository or files
103
103
104 Working directory management:
104 Working directory management:
105
105
106 add add the specified files on the next commit
106 add add the specified files on the next commit
107 addremove add all new files, delete all missing files
107 addremove add all new files, delete all missing files
108 files list tracked files
108 files list tracked files
109 forget forget the specified files on the next commit
109 forget forget the specified files on the next commit
110 remove remove the specified files on the next commit
110 remove remove the specified files on the next commit
111 rename rename files; equivalent of copy + remove
111 rename rename files; equivalent of copy + remove
112 resolve redo merges or set/view the merge status of files
112 resolve redo merges or set/view the merge status of files
113 revert restore files to their checkout state
113 revert restore files to their checkout state
114 root print the root (top) of the current working directory
114 root print the root (top) of the current working directory
115 status show changed files in the working directory
115 status show changed files in the working directory
116 summary summarize working directory state
116 summary summarize working directory state
117 update update working directory (or switch revisions)
117 update update working directory (or switch revisions)
118
118
119 Change import/export:
119 Change import/export:
120
120
121 archive create an unversioned archive of a repository revision
121 archive create an unversioned archive of a repository revision
122 bundle create a bundle file
122 bundle create a bundle file
123 export dump the header and diffs for one or more changesets
123 export dump the header and diffs for one or more changesets
124 import import an ordered set of patches
124 import import an ordered set of patches
125 unbundle apply one or more bundle files
125 unbundle apply one or more bundle files
126
126
127 Repository maintenance:
127 Repository maintenance:
128
128
129 manifest output the current or given revision of the project manifest
129 manifest output the current or given revision of the project manifest
130 recover roll back an interrupted transaction
130 recover roll back an interrupted transaction
131 verify verify the integrity of the repository
131 verify verify the integrity of the repository
132
132
133 Help:
133 Help:
134
134
135 config show combined config settings from all hgrc files
135 config show combined config settings from all hgrc files
136 help show help for a given topic or a help overview
136 help show help for a given topic or a help overview
137 version output version and copyright information
137 version output version and copyright information
138
138
139 additional help topics:
139 additional help topics:
140
140
141 Mercurial identifiers:
141 Mercurial identifiers:
142
142
143 filesets Specifying File Sets
143 filesets Specifying File Sets
144 hgignore Syntax for Mercurial Ignore Files
144 hgignore Syntax for Mercurial Ignore Files
145 patterns File Name Patterns
145 patterns File Name Patterns
146 revisions Specifying Revisions
146 revisions Specifying Revisions
147 urls URL Paths
147 urls URL Paths
148
148
149 Mercurial output:
149 Mercurial output:
150
150
151 color Colorizing Outputs
151 color Colorizing Outputs
152 dates Date Formats
152 dates Date Formats
153 diffs Diff Formats
153 diffs Diff Formats
154 templating Template Usage
154 templating Template Usage
155
155
156 Mercurial configuration:
156 Mercurial configuration:
157
157
158 config Configuration Files
158 config Configuration Files
159 environment Environment Variables
159 environment Environment Variables
160 extensions Using Additional Features
160 extensions Using Additional Features
161 flags Command-line flags
161 flags Command-line flags
162 hgweb Configuring hgweb
162 hgweb Configuring hgweb
163 merge-tools Merge Tools
163 merge-tools Merge Tools
164 pager Pager Support
164 pager Pager Support
165
165
166 Concepts:
166 Concepts:
167
167
168 bundlespec Bundle File Formats
168 bundlespec Bundle File Formats
169 glossary Glossary
169 glossary Glossary
170 phases Working with Phases
170 phases Working with Phases
171 subrepos Subrepositories
171 subrepos Subrepositories
172
172
173 Miscellaneous:
173 Miscellaneous:
174
174
175 deprecated Deprecated Features
175 deprecated Deprecated Features
176 internals Technical implementation topics
176 internals Technical implementation topics
177 scripting Using Mercurial from scripts and automation
177 scripting Using Mercurial from scripts and automation
178
178
179 (use 'hg help -v' to show built-in aliases and global options)
179 (use 'hg help -v' to show built-in aliases and global options)
180
180
181 $ hg -q help
181 $ hg -q help
182 Repository creation:
182 Repository creation:
183
183
184 clone make a copy of an existing repository
184 clone make a copy of an existing repository
185 init create a new repository in the given directory
185 init create a new repository in the given directory
186
186
187 Remote repository management:
187 Remote repository management:
188
188
189 incoming show new changesets found in source
189 incoming show new changesets found in source
190 outgoing show changesets not found in the destination
190 outgoing show changesets not found in the destination
191 paths show aliases for remote repositories
191 paths show aliases for remote repositories
192 pull pull changes from the specified source
192 pull pull changes from the specified source
193 push push changes to the specified destination
193 push push changes to the specified destination
194 serve start stand-alone webserver
194 serve start stand-alone webserver
195
195
196 Change creation:
196 Change creation:
197
197
198 commit commit the specified files or all outstanding changes
198 commit commit the specified files or all outstanding changes
199
199
200 Change manipulation:
200 Change manipulation:
201
201
202 backout reverse effect of earlier changeset
202 backout reverse effect of earlier changeset
203 graft copy changes from other branches onto the current branch
203 graft copy changes from other branches onto the current branch
204 merge merge another revision into working directory
204 merge merge another revision into working directory
205
205
206 Change organization:
206 Change organization:
207
207
208 bookmarks create a new bookmark or list existing bookmarks
208 bookmarks create a new bookmark or list existing bookmarks
209 branch set or show the current branch name
209 branch set or show the current branch name
210 branches list repository named branches
210 branches list repository named branches
211 phase set or show the current phase name
211 phase set or show the current phase name
212 tag add one or more tags for the current or given revision
212 tag add one or more tags for the current or given revision
213 tags list repository tags
213 tags list repository tags
214
214
215 File content management:
215 File content management:
216
216
217 annotate show changeset information by line for each file
217 annotate show changeset information by line for each file
218 cat output the current or given revision of files
218 cat output the current or given revision of files
219 copy mark files as copied for the next commit
219 copy mark files as copied for the next commit
220 diff diff repository (or selected files)
220 diff diff repository (or selected files)
221 grep search revision history for a pattern in specified files
221 grep search revision history for a pattern in specified files
222
222
223 Change navigation:
223 Change navigation:
224
224
225 bisect subdivision search of changesets
225 bisect subdivision search of changesets
226 heads show branch heads
226 heads show branch heads
227 identify identify the working directory or specified revision
227 identify identify the working directory or specified revision
228 log show revision history of entire repository or files
228 log show revision history of entire repository or files
229
229
230 Working directory management:
230 Working directory management:
231
231
232 add add the specified files on the next commit
232 add add the specified files on the next commit
233 addremove add all new files, delete all missing files
233 addremove add all new files, delete all missing files
234 files list tracked files
234 files list tracked files
235 forget forget the specified files on the next commit
235 forget forget the specified files on the next commit
236 remove remove the specified files on the next commit
236 remove remove the specified files on the next commit
237 rename rename files; equivalent of copy + remove
237 rename rename files; equivalent of copy + remove
238 resolve redo merges or set/view the merge status of files
238 resolve redo merges or set/view the merge status of files
239 revert restore files to their checkout state
239 revert restore files to their checkout state
240 root print the root (top) of the current working directory
240 root print the root (top) of the current working directory
241 status show changed files in the working directory
241 status show changed files in the working directory
242 summary summarize working directory state
242 summary summarize working directory state
243 update update working directory (or switch revisions)
243 update update working directory (or switch revisions)
244
244
245 Change import/export:
245 Change import/export:
246
246
247 archive create an unversioned archive of a repository revision
247 archive create an unversioned archive of a repository revision
248 bundle create a bundle file
248 bundle create a bundle file
249 export dump the header and diffs for one or more changesets
249 export dump the header and diffs for one or more changesets
250 import import an ordered set of patches
250 import import an ordered set of patches
251 unbundle apply one or more bundle files
251 unbundle apply one or more bundle files
252
252
253 Repository maintenance:
253 Repository maintenance:
254
254
255 manifest output the current or given revision of the project manifest
255 manifest output the current or given revision of the project manifest
256 recover roll back an interrupted transaction
256 recover roll back an interrupted transaction
257 verify verify the integrity of the repository
257 verify verify the integrity of the repository
258
258
259 Help:
259 Help:
260
260
261 config show combined config settings from all hgrc files
261 config show combined config settings from all hgrc files
262 help show help for a given topic or a help overview
262 help show help for a given topic or a help overview
263 version output version and copyright information
263 version output version and copyright information
264
264
265 additional help topics:
265 additional help topics:
266
266
267 Mercurial identifiers:
267 Mercurial identifiers:
268
268
269 filesets Specifying File Sets
269 filesets Specifying File Sets
270 hgignore Syntax for Mercurial Ignore Files
270 hgignore Syntax for Mercurial Ignore Files
271 patterns File Name Patterns
271 patterns File Name Patterns
272 revisions Specifying Revisions
272 revisions Specifying Revisions
273 urls URL Paths
273 urls URL Paths
274
274
275 Mercurial output:
275 Mercurial output:
276
276
277 color Colorizing Outputs
277 color Colorizing Outputs
278 dates Date Formats
278 dates Date Formats
279 diffs Diff Formats
279 diffs Diff Formats
280 templating Template Usage
280 templating Template Usage
281
281
282 Mercurial configuration:
282 Mercurial configuration:
283
283
284 config Configuration Files
284 config Configuration Files
285 environment Environment Variables
285 environment Environment Variables
286 extensions Using Additional Features
286 extensions Using Additional Features
287 flags Command-line flags
287 flags Command-line flags
288 hgweb Configuring hgweb
288 hgweb Configuring hgweb
289 merge-tools Merge Tools
289 merge-tools Merge Tools
290 pager Pager Support
290 pager Pager Support
291
291
292 Concepts:
292 Concepts:
293
293
294 bundlespec Bundle File Formats
294 bundlespec Bundle File Formats
295 glossary Glossary
295 glossary Glossary
296 phases Working with Phases
296 phases Working with Phases
297 subrepos Subrepositories
297 subrepos Subrepositories
298
298
299 Miscellaneous:
299 Miscellaneous:
300
300
301 deprecated Deprecated Features
301 deprecated Deprecated Features
302 internals Technical implementation topics
302 internals Technical implementation topics
303 scripting Using Mercurial from scripts and automation
303 scripting Using Mercurial from scripts and automation
304
304
305 Test extension help:
305 Test extension help:
306 $ hg help extensions --config extensions.rebase= --config extensions.children=
306 $ hg help extensions --config extensions.rebase= --config extensions.children=
307 Using Additional Features
307 Using Additional Features
308 """""""""""""""""""""""""
308 """""""""""""""""""""""""
309
309
310 Mercurial has the ability to add new features through the use of
310 Mercurial has the ability to add new features through the use of
311 extensions. Extensions may add new commands, add options to existing
311 extensions. Extensions may add new commands, add options to existing
312 commands, change the default behavior of commands, or implement hooks.
312 commands, change the default behavior of commands, or implement hooks.
313
313
314 To enable the "foo" extension, either shipped with Mercurial or in the
314 To enable the "foo" extension, either shipped with Mercurial or in the
315 Python search path, create an entry for it in your configuration file,
315 Python search path, create an entry for it in your configuration file,
316 like this:
316 like this:
317
317
318 [extensions]
318 [extensions]
319 foo =
319 foo =
320
320
321 You may also specify the full path to an extension:
321 You may also specify the full path to an extension:
322
322
323 [extensions]
323 [extensions]
324 myfeature = ~/.hgext/myfeature.py
324 myfeature = ~/.hgext/myfeature.py
325
325
326 See 'hg help config' for more information on configuration files.
326 See 'hg help config' for more information on configuration files.
327
327
328 Extensions are not loaded by default for a variety of reasons: they can
328 Extensions are not loaded by default for a variety of reasons: they can
329 increase startup overhead; they may be meant for advanced usage only; they
329 increase startup overhead; they may be meant for advanced usage only; they
330 may provide potentially dangerous abilities (such as letting you destroy
330 may provide potentially dangerous abilities (such as letting you destroy
331 or modify history); they might not be ready for prime time; or they may
331 or modify history); they might not be ready for prime time; or they may
332 alter some usual behaviors of stock Mercurial. It is thus up to the user
332 alter some usual behaviors of stock Mercurial. It is thus up to the user
333 to activate extensions as needed.
333 to activate extensions as needed.
334
334
335 To explicitly disable an extension enabled in a configuration file of
335 To explicitly disable an extension enabled in a configuration file of
336 broader scope, prepend its path with !:
336 broader scope, prepend its path with !:
337
337
338 [extensions]
338 [extensions]
339 # disabling extension bar residing in /path/to/extension/bar.py
339 # disabling extension bar residing in /path/to/extension/bar.py
340 bar = !/path/to/extension/bar.py
340 bar = !/path/to/extension/bar.py
341 # ditto, but no path was supplied for extension baz
341 # ditto, but no path was supplied for extension baz
342 baz = !
342 baz = !
343
343
344 enabled extensions:
344 enabled extensions:
345
345
346 children command to display child changesets (DEPRECATED)
346 children command to display child changesets (DEPRECATED)
347 rebase command to move sets of revisions to a different ancestor
347 rebase command to move sets of revisions to a different ancestor
348
348
349 disabled extensions:
349 disabled extensions:
350
350
351 acl hooks for controlling repository access
351 acl hooks for controlling repository access
352 blackbox log repository events to a blackbox for debugging
352 blackbox log repository events to a blackbox for debugging
353 bugzilla hooks for integrating with the Bugzilla bug tracker
353 bugzilla hooks for integrating with the Bugzilla bug tracker
354 censor erase file content at a given revision
354 censor erase file content at a given revision
355 churn command to display statistics about repository history
355 churn command to display statistics about repository history
356 clonebundles advertise pre-generated bundles to seed clones
356 clonebundles advertise pre-generated bundles to seed clones
357 closehead close arbitrary heads without checking them out first
357 closehead close arbitrary heads without checking them out first
358 convert import revisions from foreign VCS repositories into
358 convert import revisions from foreign VCS repositories into
359 Mercurial
359 Mercurial
360 eol automatically manage newlines in repository files
360 eol automatically manage newlines in repository files
361 extdiff command to allow external programs to compare revisions
361 extdiff command to allow external programs to compare revisions
362 factotum http authentication with factotum
362 factotum http authentication with factotum
363 githelp try mapping git commands to Mercurial commands
363 githelp try mapping git commands to Mercurial commands
364 gpg commands to sign and verify changesets
364 gpg commands to sign and verify changesets
365 hgk browse the repository in a graphical way
365 hgk browse the repository in a graphical way
366 highlight syntax highlighting for hgweb (requires Pygments)
366 highlight syntax highlighting for hgweb (requires Pygments)
367 histedit interactive history editing
367 histedit interactive history editing
368 keyword expand keywords in tracked files
368 keyword expand keywords in tracked files
369 largefiles track large binary files
369 largefiles track large binary files
370 mq manage a stack of patches
370 mq manage a stack of patches
371 notify hooks for sending email push notifications
371 notify hooks for sending email push notifications
372 patchbomb command to send changesets as (a series of) patch emails
372 patchbomb command to send changesets as (a series of) patch emails
373 purge command to delete untracked files from the working
373 purge command to delete untracked files from the working
374 directory
374 directory
375 relink recreates hardlinks between repository clones
375 relink recreates hardlinks between repository clones
376 schemes extend schemes with shortcuts to repository swarms
376 schemes extend schemes with shortcuts to repository swarms
377 share share a common history between several working directories
377 share share a common history between several working directories
378 shelve save and restore changes to the working directory
378 shelve save and restore changes to the working directory
379 strip strip changesets and their descendants from history
379 strip strip changesets and their descendants from history
380 transplant command to transplant changesets from another branch
380 transplant command to transplant changesets from another branch
381 win32mbcs allow the use of MBCS paths with problematic encodings
381 win32mbcs allow the use of MBCS paths with problematic encodings
382 zeroconf discover and advertise repositories on the local network
382 zeroconf discover and advertise repositories on the local network
383
383
384 #endif
384 #endif
385
385
386 Verify that deprecated extensions are included if --verbose:
386 Verify that deprecated extensions are included if --verbose:
387
387
388 $ hg -v help extensions | grep children
388 $ hg -v help extensions | grep children
389 children command to display child changesets (DEPRECATED)
389 children command to display child changesets (DEPRECATED)
390
390
391 Verify that extension keywords appear in help templates
391 Verify that extension keywords appear in help templates
392
392
393 $ hg help --config extensions.transplant= templating|grep transplant > /dev/null
393 $ hg help --config extensions.transplant= templating|grep transplant > /dev/null
394
394
395 Test short command list with verbose option
395 Test short command list with verbose option
396
396
397 $ hg -v help shortlist
397 $ hg -v help shortlist
398 Mercurial Distributed SCM
398 Mercurial Distributed SCM
399
399
400 basic commands:
400 basic commands:
401
401
402 add add the specified files on the next commit
402 add add the specified files on the next commit
403 annotate, blame
403 annotate, blame
404 show changeset information by line for each file
404 show changeset information by line for each file
405 clone make a copy of an existing repository
405 clone make a copy of an existing repository
406 commit, ci commit the specified files or all outstanding changes
406 commit, ci commit the specified files or all outstanding changes
407 diff diff repository (or selected files)
407 diff diff repository (or selected files)
408 export dump the header and diffs for one or more changesets
408 export dump the header and diffs for one or more changesets
409 forget forget the specified files on the next commit
409 forget forget the specified files on the next commit
410 init create a new repository in the given directory
410 init create a new repository in the given directory
411 log, history show revision history of entire repository or files
411 log, history show revision history of entire repository or files
412 merge merge another revision into working directory
412 merge merge another revision into working directory
413 pull pull changes from the specified source
413 pull pull changes from the specified source
414 push push changes to the specified destination
414 push push changes to the specified destination
415 remove, rm remove the specified files on the next commit
415 remove, rm remove the specified files on the next commit
416 serve start stand-alone webserver
416 serve start stand-alone webserver
417 status, st show changed files in the working directory
417 status, st show changed files in the working directory
418 summary, sum summarize working directory state
418 summary, sum summarize working directory state
419 update, up, checkout, co
419 update, up, checkout, co
420 update working directory (or switch revisions)
420 update working directory (or switch revisions)
421
421
422 global options ([+] can be repeated):
422 global options ([+] can be repeated):
423
423
424 -R --repository REPO repository root directory or name of overlay bundle
424 -R --repository REPO repository root directory or name of overlay bundle
425 file
425 file
426 --cwd DIR change working directory
426 --cwd DIR change working directory
427 -y --noninteractive do not prompt, automatically pick the first choice for
427 -y --noninteractive do not prompt, automatically pick the first choice for
428 all prompts
428 all prompts
429 -q --quiet suppress output
429 -q --quiet suppress output
430 -v --verbose enable additional output
430 -v --verbose enable additional output
431 --color TYPE when to colorize (boolean, always, auto, never, or
431 --color TYPE when to colorize (boolean, always, auto, never, or
432 debug)
432 debug)
433 --config CONFIG [+] set/override config option (use 'section.name=value')
433 --config CONFIG [+] set/override config option (use 'section.name=value')
434 --debug enable debugging output
434 --debug enable debugging output
435 --debugger start debugger
435 --debugger start debugger
436 --encoding ENCODE set the charset encoding (default: ascii)
436 --encoding ENCODE set the charset encoding (default: ascii)
437 --encodingmode MODE set the charset encoding mode (default: strict)
437 --encodingmode MODE set the charset encoding mode (default: strict)
438 --traceback always print a traceback on exception
438 --traceback always print a traceback on exception
439 --time time how long the command takes
439 --time time how long the command takes
440 --profile print command execution profile
440 --profile print command execution profile
441 --version output version information and exit
441 --version output version information and exit
442 -h --help display help and exit
442 -h --help display help and exit
443 --hidden consider hidden changesets
443 --hidden consider hidden changesets
444 --pager TYPE when to paginate (boolean, always, auto, or never)
444 --pager TYPE when to paginate (boolean, always, auto, or never)
445 (default: auto)
445 (default: auto)
446
446
447 (use 'hg help' for the full list of commands)
447 (use 'hg help' for the full list of commands)
448
448
449 $ hg add -h
449 $ hg add -h
450 hg add [OPTION]... [FILE]...
450 hg add [OPTION]... [FILE]...
451
451
452 add the specified files on the next commit
452 add the specified files on the next commit
453
453
454 Schedule files to be version controlled and added to the repository.
454 Schedule files to be version controlled and added to the repository.
455
455
456 The files will be added to the repository at the next commit. To undo an
456 The files will be added to the repository at the next commit. To undo an
457 add before that, see 'hg forget'.
457 add before that, see 'hg forget'.
458
458
459 If no names are given, add all files to the repository (except files
459 If no names are given, add all files to the repository (except files
460 matching ".hgignore").
460 matching ".hgignore").
461
461
462 Returns 0 if all files are successfully added.
462 Returns 0 if all files are successfully added.
463
463
464 options ([+] can be repeated):
464 options ([+] can be repeated):
465
465
466 -I --include PATTERN [+] include names matching the given patterns
466 -I --include PATTERN [+] include names matching the given patterns
467 -X --exclude PATTERN [+] exclude names matching the given patterns
467 -X --exclude PATTERN [+] exclude names matching the given patterns
468 -S --subrepos recurse into subrepositories
468 -S --subrepos recurse into subrepositories
469 -n --dry-run do not perform actions, just print output
469 -n --dry-run do not perform actions, just print output
470
470
471 (some details hidden, use --verbose to show complete help)
471 (some details hidden, use --verbose to show complete help)
472
472
473 Verbose help for add
473 Verbose help for add
474
474
475 $ hg add -hv
475 $ hg add -hv
476 hg add [OPTION]... [FILE]...
476 hg add [OPTION]... [FILE]...
477
477
478 add the specified files on the next commit
478 add the specified files on the next commit
479
479
480 Schedule files to be version controlled and added to the repository.
480 Schedule files to be version controlled and added to the repository.
481
481
482 The files will be added to the repository at the next commit. To undo an
482 The files will be added to the repository at the next commit. To undo an
483 add before that, see 'hg forget'.
483 add before that, see 'hg forget'.
484
484
485 If no names are given, add all files to the repository (except files
485 If no names are given, add all files to the repository (except files
486 matching ".hgignore").
486 matching ".hgignore").
487
487
488 Examples:
488 Examples:
489
489
490 - New (unknown) files are added automatically by 'hg add':
490 - New (unknown) files are added automatically by 'hg add':
491
491
492 $ ls
492 $ ls
493 foo.c
493 foo.c
494 $ hg status
494 $ hg status
495 ? foo.c
495 ? foo.c
496 $ hg add
496 $ hg add
497 adding foo.c
497 adding foo.c
498 $ hg status
498 $ hg status
499 A foo.c
499 A foo.c
500
500
501 - Specific files to be added can be specified:
501 - Specific files to be added can be specified:
502
502
503 $ ls
503 $ ls
504 bar.c foo.c
504 bar.c foo.c
505 $ hg status
505 $ hg status
506 ? bar.c
506 ? bar.c
507 ? foo.c
507 ? foo.c
508 $ hg add bar.c
508 $ hg add bar.c
509 $ hg status
509 $ hg status
510 A bar.c
510 A bar.c
511 ? foo.c
511 ? foo.c
512
512
513 Returns 0 if all files are successfully added.
513 Returns 0 if all files are successfully added.
514
514
515 options ([+] can be repeated):
515 options ([+] can be repeated):
516
516
517 -I --include PATTERN [+] include names matching the given patterns
517 -I --include PATTERN [+] include names matching the given patterns
518 -X --exclude PATTERN [+] exclude names matching the given patterns
518 -X --exclude PATTERN [+] exclude names matching the given patterns
519 -S --subrepos recurse into subrepositories
519 -S --subrepos recurse into subrepositories
520 -n --dry-run do not perform actions, just print output
520 -n --dry-run do not perform actions, just print output
521
521
522 global options ([+] can be repeated):
522 global options ([+] can be repeated):
523
523
524 -R --repository REPO repository root directory or name of overlay bundle
524 -R --repository REPO repository root directory or name of overlay bundle
525 file
525 file
526 --cwd DIR change working directory
526 --cwd DIR change working directory
527 -y --noninteractive do not prompt, automatically pick the first choice for
527 -y --noninteractive do not prompt, automatically pick the first choice for
528 all prompts
528 all prompts
529 -q --quiet suppress output
529 -q --quiet suppress output
530 -v --verbose enable additional output
530 -v --verbose enable additional output
531 --color TYPE when to colorize (boolean, always, auto, never, or
531 --color TYPE when to colorize (boolean, always, auto, never, or
532 debug)
532 debug)
533 --config CONFIG [+] set/override config option (use 'section.name=value')
533 --config CONFIG [+] set/override config option (use 'section.name=value')
534 --debug enable debugging output
534 --debug enable debugging output
535 --debugger start debugger
535 --debugger start debugger
536 --encoding ENCODE set the charset encoding (default: ascii)
536 --encoding ENCODE set the charset encoding (default: ascii)
537 --encodingmode MODE set the charset encoding mode (default: strict)
537 --encodingmode MODE set the charset encoding mode (default: strict)
538 --traceback always print a traceback on exception
538 --traceback always print a traceback on exception
539 --time time how long the command takes
539 --time time how long the command takes
540 --profile print command execution profile
540 --profile print command execution profile
541 --version output version information and exit
541 --version output version information and exit
542 -h --help display help and exit
542 -h --help display help and exit
543 --hidden consider hidden changesets
543 --hidden consider hidden changesets
544 --pager TYPE when to paginate (boolean, always, auto, or never)
544 --pager TYPE when to paginate (boolean, always, auto, or never)
545 (default: auto)
545 (default: auto)
546
546
547 Test the textwidth config option
547 Test the textwidth config option
548
548
549 $ hg root -h --config ui.textwidth=50
549 $ hg root -h --config ui.textwidth=50
550 hg root
550 hg root
551
551
552 print the root (top) of the current working
552 print the root (top) of the current working
553 directory
553 directory
554
554
555 Print the root directory of the current
555 Print the root directory of the current
556 repository.
556 repository.
557
557
558 Returns 0 on success.
558 Returns 0 on success.
559
559
560 (some details hidden, use --verbose to show
560 (some details hidden, use --verbose to show
561 complete help)
561 complete help)
562
562
563 Test help option with version option
563 Test help option with version option
564
564
565 $ hg add -h --version
565 $ hg add -h --version
566 Mercurial Distributed SCM (version *) (glob)
566 Mercurial Distributed SCM (version *) (glob)
567 (see https://mercurial-scm.org for more information)
567 (see https://mercurial-scm.org for more information)
568
568
569 Copyright (C) 2005-* Matt Mackall and others (glob)
569 Copyright (C) 2005-* Matt Mackall and others (glob)
570 This is free software; see the source for copying conditions. There is NO
570 This is free software; see the source for copying conditions. There is NO
571 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
571 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
572
572
573 $ hg add --skjdfks
573 $ hg add --skjdfks
574 hg add: option --skjdfks not recognized
574 hg add: option --skjdfks not recognized
575 hg add [OPTION]... [FILE]...
575 hg add [OPTION]... [FILE]...
576
576
577 add the specified files on the next commit
577 add the specified files on the next commit
578
578
579 options ([+] can be repeated):
579 options ([+] can be repeated):
580
580
581 -I --include PATTERN [+] include names matching the given patterns
581 -I --include PATTERN [+] include names matching the given patterns
582 -X --exclude PATTERN [+] exclude names matching the given patterns
582 -X --exclude PATTERN [+] exclude names matching the given patterns
583 -S --subrepos recurse into subrepositories
583 -S --subrepos recurse into subrepositories
584 -n --dry-run do not perform actions, just print output
584 -n --dry-run do not perform actions, just print output
585
585
586 (use 'hg add -h' to show more help)
586 (use 'hg add -h' to show more help)
587 [255]
587 [255]
588
588
589 Test ambiguous command help
589 Test ambiguous command help
590
590
591 $ hg help ad
591 $ hg help ad
592 list of commands:
592 list of commands:
593
593
594 add add the specified files on the next commit
594 add add the specified files on the next commit
595 addremove add all new files, delete all missing files
595 addremove add all new files, delete all missing files
596
596
597 (use 'hg help -v ad' to show built-in aliases and global options)
597 (use 'hg help -v ad' to show built-in aliases and global options)
598
598
599 Test command without options
599 Test command without options
600
600
601 $ hg help verify
601 $ hg help verify
602 hg verify
602 hg verify
603
603
604 verify the integrity of the repository
604 verify the integrity of the repository
605
605
606 Verify the integrity of the current repository.
606 Verify the integrity of the current repository.
607
607
608 This will perform an extensive check of the repository's integrity,
608 This will perform an extensive check of the repository's integrity,
609 validating the hashes and checksums of each entry in the changelog,
609 validating the hashes and checksums of each entry in the changelog,
610 manifest, and tracked files, as well as the integrity of their crosslinks
610 manifest, and tracked files, as well as the integrity of their crosslinks
611 and indices.
611 and indices.
612
612
613 Please see https://mercurial-scm.org/wiki/RepositoryCorruption for more
613 Please see https://mercurial-scm.org/wiki/RepositoryCorruption for more
614 information about recovery from corruption of the repository.
614 information about recovery from corruption of the repository.
615
615
616 Returns 0 on success, 1 if errors are encountered.
616 Returns 0 on success, 1 if errors are encountered.
617
617
618 (some details hidden, use --verbose to show complete help)
618 (some details hidden, use --verbose to show complete help)
619
619
620 $ hg help diff
620 $ hg help diff
621 hg diff [OPTION]... ([-c REV] | [-r REV1 [-r REV2]]) [FILE]...
621 hg diff [OPTION]... ([-c REV] | [-r REV1 [-r REV2]]) [FILE]...
622
622
623 diff repository (or selected files)
623 diff repository (or selected files)
624
624
625 Show differences between revisions for the specified files.
625 Show differences between revisions for the specified files.
626
626
627 Differences between files are shown using the unified diff format.
627 Differences between files are shown using the unified diff format.
628
628
629 Note:
629 Note:
630 'hg diff' may generate unexpected results for merges, as it will
630 'hg diff' may generate unexpected results for merges, as it will
631 default to comparing against the working directory's first parent
631 default to comparing against the working directory's first parent
632 changeset if no revisions are specified.
632 changeset if no revisions are specified.
633
633
634 When two revision arguments are given, then changes are shown between
634 When two revision arguments are given, then changes are shown between
635 those revisions. If only one revision is specified then that revision is
635 those revisions. If only one revision is specified then that revision is
636 compared to the working directory, and, when no revisions are specified,
636 compared to the working directory, and, when no revisions are specified,
637 the working directory files are compared to its first parent.
637 the working directory files are compared to its first parent.
638
638
639 Alternatively you can specify -c/--change with a revision to see the
639 Alternatively you can specify -c/--change with a revision to see the
640 changes in that changeset relative to its first parent.
640 changes in that changeset relative to its first parent.
641
641
642 Without the -a/--text option, diff will avoid generating diffs of files it
642 Without the -a/--text option, diff will avoid generating diffs of files it
643 detects as binary. With -a, diff will generate a diff anyway, probably
643 detects as binary. With -a, diff will generate a diff anyway, probably
644 with undesirable results.
644 with undesirable results.
645
645
646 Use the -g/--git option to generate diffs in the git extended diff format.
646 Use the -g/--git option to generate diffs in the git extended diff format.
647 For more information, read 'hg help diffs'.
647 For more information, read 'hg help diffs'.
648
648
649 Returns 0 on success.
649 Returns 0 on success.
650
650
651 options ([+] can be repeated):
651 options ([+] can be repeated):
652
652
653 -r --rev REV [+] revision
653 -r --rev REV [+] revision
654 -c --change REV change made by revision
654 -c --change REV change made by revision
655 -a --text treat all files as text
655 -a --text treat all files as text
656 -g --git use git extended diff format
656 -g --git use git extended diff format
657 --binary generate binary diffs in git mode (default)
657 --binary generate binary diffs in git mode (default)
658 --nodates omit dates from diff headers
658 --nodates omit dates from diff headers
659 --noprefix omit a/ and b/ prefixes from filenames
659 --noprefix omit a/ and b/ prefixes from filenames
660 -p --show-function show which function each change is in
660 -p --show-function show which function each change is in
661 --reverse produce a diff that undoes the changes
661 --reverse produce a diff that undoes the changes
662 -w --ignore-all-space ignore white space when comparing lines
662 -w --ignore-all-space ignore white space when comparing lines
663 -b --ignore-space-change ignore changes in the amount of white space
663 -b --ignore-space-change ignore changes in the amount of white space
664 -B --ignore-blank-lines ignore changes whose lines are all blank
664 -B --ignore-blank-lines ignore changes whose lines are all blank
665 -Z --ignore-space-at-eol ignore changes in whitespace at EOL
665 -Z --ignore-space-at-eol ignore changes in whitespace at EOL
666 -U --unified NUM number of lines of context to show
666 -U --unified NUM number of lines of context to show
667 --stat output diffstat-style summary of changes
667 --stat output diffstat-style summary of changes
668 --root DIR produce diffs relative to subdirectory
668 --root DIR produce diffs relative to subdirectory
669 -I --include PATTERN [+] include names matching the given patterns
669 -I --include PATTERN [+] include names matching the given patterns
670 -X --exclude PATTERN [+] exclude names matching the given patterns
670 -X --exclude PATTERN [+] exclude names matching the given patterns
671 -S --subrepos recurse into subrepositories
671 -S --subrepos recurse into subrepositories
672
672
673 (some details hidden, use --verbose to show complete help)
673 (some details hidden, use --verbose to show complete help)
674
674
675 $ hg help status
675 $ hg help status
676 hg status [OPTION]... [FILE]...
676 hg status [OPTION]... [FILE]...
677
677
678 aliases: st
678 aliases: st
679
679
680 show changed files in the working directory
680 show changed files in the working directory
681
681
682 Show status of files in the repository. If names are given, only files
682 Show status of files in the repository. If names are given, only files
683 that match are shown. Files that are clean or ignored or the source of a
683 that match are shown. Files that are clean or ignored or the source of a
684 copy/move operation, are not listed unless -c/--clean, -i/--ignored,
684 copy/move operation, are not listed unless -c/--clean, -i/--ignored,
685 -C/--copies or -A/--all are given. Unless options described with "show
685 -C/--copies or -A/--all are given. Unless options described with "show
686 only ..." are given, the options -mardu are used.
686 only ..." are given, the options -mardu are used.
687
687
688 Option -q/--quiet hides untracked (unknown and ignored) files unless
688 Option -q/--quiet hides untracked (unknown and ignored) files unless
689 explicitly requested with -u/--unknown or -i/--ignored.
689 explicitly requested with -u/--unknown or -i/--ignored.
690
690
691 Note:
691 Note:
692 'hg status' may appear to disagree with diff if permissions have
692 'hg status' may appear to disagree with diff if permissions have
693 changed or a merge has occurred. The standard diff format does not
693 changed or a merge has occurred. The standard diff format does not
694 report permission changes and diff only reports changes relative to one
694 report permission changes and diff only reports changes relative to one
695 merge parent.
695 merge parent.
696
696
697 If one revision is given, it is used as the base revision. If two
697 If one revision is given, it is used as the base revision. If two
698 revisions are given, the differences between them are shown. The --change
698 revisions are given, the differences between them are shown. The --change
699 option can also be used as a shortcut to list the changed files of a
699 option can also be used as a shortcut to list the changed files of a
700 revision from its first parent.
700 revision from its first parent.
701
701
702 The codes used to show the status of files are:
702 The codes used to show the status of files are:
703
703
704 M = modified
704 M = modified
705 A = added
705 A = added
706 R = removed
706 R = removed
707 C = clean
707 C = clean
708 ! = missing (deleted by non-hg command, but still tracked)
708 ! = missing (deleted by non-hg command, but still tracked)
709 ? = not tracked
709 ? = not tracked
710 I = ignored
710 I = ignored
711 = origin of the previous file (with --copies)
711 = origin of the previous file (with --copies)
712
712
713 Returns 0 on success.
713 Returns 0 on success.
714
714
715 options ([+] can be repeated):
715 options ([+] can be repeated):
716
716
717 -A --all show status of all files
717 -A --all show status of all files
718 -m --modified show only modified files
718 -m --modified show only modified files
719 -a --added show only added files
719 -a --added show only added files
720 -r --removed show only removed files
720 -r --removed show only removed files
721 -d --deleted show only deleted (but tracked) files
721 -d --deleted show only deleted (but tracked) files
722 -c --clean show only files without changes
722 -c --clean show only files without changes
723 -u --unknown show only unknown (not tracked) files
723 -u --unknown show only unknown (not tracked) files
724 -i --ignored show only ignored files
724 -i --ignored show only ignored files
725 -n --no-status hide status prefix
725 -n --no-status hide status prefix
726 -C --copies show source of copied files
726 -C --copies show source of copied files
727 -0 --print0 end filenames with NUL, for use with xargs
727 -0 --print0 end filenames with NUL, for use with xargs
728 --rev REV [+] show difference from revision
728 --rev REV [+] show difference from revision
729 --change REV list the changed files of a revision
729 --change REV list the changed files of a revision
730 -I --include PATTERN [+] include names matching the given patterns
730 -I --include PATTERN [+] include names matching the given patterns
731 -X --exclude PATTERN [+] exclude names matching the given patterns
731 -X --exclude PATTERN [+] exclude names matching the given patterns
732 -S --subrepos recurse into subrepositories
732 -S --subrepos recurse into subrepositories
733 -T --template TEMPLATE display with template
733 -T --template TEMPLATE display with template
734
734
735 (some details hidden, use --verbose to show complete help)
735 (some details hidden, use --verbose to show complete help)
736
736
737 $ hg -q help status
737 $ hg -q help status
738 hg status [OPTION]... [FILE]...
738 hg status [OPTION]... [FILE]...
739
739
740 show changed files in the working directory
740 show changed files in the working directory
741
741
742 $ hg help foo
742 $ hg help foo
743 abort: no such help topic: foo
743 abort: no such help topic: foo
744 (try 'hg help --keyword foo')
744 (try 'hg help --keyword foo')
745 [255]
745 [255]
746
746
747 $ hg skjdfks
747 $ hg skjdfks
748 hg: unknown command 'skjdfks'
748 hg: unknown command 'skjdfks'
749 (use 'hg help' for a list of commands)
749 (use 'hg help' for a list of commands)
750 [255]
750 [255]
751
751
752 Typoed command gives suggestion
752 Typoed command gives suggestion
753 $ hg puls
753 $ hg puls
754 hg: unknown command 'puls'
754 hg: unknown command 'puls'
755 (did you mean one of pull, push?)
755 (did you mean one of pull, push?)
756 [255]
756 [255]
757
757
758 Not enabled extension gets suggested
758 Not enabled extension gets suggested
759
759
760 $ hg rebase
760 $ hg rebase
761 hg: unknown command 'rebase'
761 hg: unknown command 'rebase'
762 'rebase' is provided by the following extension:
762 'rebase' is provided by the following extension:
763
763
764 rebase command to move sets of revisions to a different ancestor
764 rebase command to move sets of revisions to a different ancestor
765
765
766 (use 'hg help extensions' for information on enabling extensions)
766 (use 'hg help extensions' for information on enabling extensions)
767 [255]
767 [255]
768
768
769 Disabled extension gets suggested
769 Disabled extension gets suggested
770 $ hg --config extensions.rebase=! rebase
770 $ hg --config extensions.rebase=! rebase
771 hg: unknown command 'rebase'
771 hg: unknown command 'rebase'
772 'rebase' is provided by the following extension:
772 'rebase' is provided by the following extension:
773
773
774 rebase command to move sets of revisions to a different ancestor
774 rebase command to move sets of revisions to a different ancestor
775
775
776 (use 'hg help extensions' for information on enabling extensions)
776 (use 'hg help extensions' for information on enabling extensions)
777 [255]
777 [255]
778
778
779 Make sure that we don't run afoul of the help system thinking that
779 Make sure that we don't run afoul of the help system thinking that
780 this is a section and erroring out weirdly.
780 this is a section and erroring out weirdly.
781
781
782 $ hg .log
782 $ hg .log
783 hg: unknown command '.log'
783 hg: unknown command '.log'
784 (did you mean log?)
784 (did you mean log?)
785 [255]
785 [255]
786
786
787 $ hg log.
787 $ hg log.
788 hg: unknown command 'log.'
788 hg: unknown command 'log.'
789 (did you mean log?)
789 (did you mean log?)
790 [255]
790 [255]
791 $ hg pu.lh
791 $ hg pu.lh
792 hg: unknown command 'pu.lh'
792 hg: unknown command 'pu.lh'
793 (did you mean one of pull, push?)
793 (did you mean one of pull, push?)
794 [255]
794 [255]
795
795
796 $ cat > helpext.py <<EOF
796 $ cat > helpext.py <<EOF
797 > import os
797 > import os
798 > from mercurial import commands, fancyopts, registrar
798 > from mercurial import commands, fancyopts, registrar
799 >
799 >
800 > def func(arg):
800 > def func(arg):
801 > return '%sfoo' % arg
801 > return '%sfoo' % arg
802 > class customopt(fancyopts.customopt):
802 > class customopt(fancyopts.customopt):
803 > def newstate(self, oldstate, newparam, abort):
803 > def newstate(self, oldstate, newparam, abort):
804 > return '%sbar' % oldstate
804 > return '%sbar' % oldstate
805 > cmdtable = {}
805 > cmdtable = {}
806 > command = registrar.command(cmdtable)
806 > command = registrar.command(cmdtable)
807 >
807 >
808 > @command(b'nohelp',
808 > @command(b'nohelp',
809 > [(b'', b'longdesc', 3, b'x'*67),
809 > [(b'', b'longdesc', 3, b'x'*67),
810 > (b'n', b'', None, b'normal desc'),
810 > (b'n', b'', None, b'normal desc'),
811 > (b'', b'newline', b'', b'line1\nline2'),
811 > (b'', b'newline', b'', b'line1\nline2'),
812 > (b'', b'default-off', False, b'enable X'),
812 > (b'', b'default-off', False, b'enable X'),
813 > (b'', b'default-on', True, b'enable Y'),
813 > (b'', b'default-on', True, b'enable Y'),
814 > (b'', b'callableopt', func, b'adds foo'),
814 > (b'', b'callableopt', func, b'adds foo'),
815 > (b'', b'customopt', customopt(''), b'adds bar'),
815 > (b'', b'customopt', customopt(''), b'adds bar'),
816 > (b'', b'customopt-withdefault', customopt('foo'), b'adds bar')],
816 > (b'', b'customopt-withdefault', customopt('foo'), b'adds bar')],
817 > b'hg nohelp',
817 > b'hg nohelp',
818 > norepo=True)
818 > norepo=True)
819 > @command(b'debugoptADV', [(b'', b'aopt', None, b'option is (ADVANCED)')])
819 > @command(b'debugoptADV', [(b'', b'aopt', None, b'option is (ADVANCED)')])
820 > @command(b'debugoptDEP', [(b'', b'dopt', None, b'option is (DEPRECATED)')])
820 > @command(b'debugoptDEP', [(b'', b'dopt', None, b'option is (DEPRECATED)')])
821 > @command(b'debugoptEXP', [(b'', b'eopt', None, b'option is (EXPERIMENTAL)')])
821 > @command(b'debugoptEXP', [(b'', b'eopt', None, b'option is (EXPERIMENTAL)')])
822 > def nohelp(ui, *args, **kwargs):
822 > def nohelp(ui, *args, **kwargs):
823 > pass
823 > pass
824 >
824 >
825 > @command(b'hashelp', [], b'hg hashelp', norepo=True)
825 > @command(b'hashelp', [], b'hg hashelp', norepo=True)
826 > def hashelp(ui, *args, **kwargs):
826 > def hashelp(ui, *args, **kwargs):
827 > """Extension command's help"""
827 > """Extension command's help"""
828 > pass
828 > pass
829 >
829 >
830 > def uisetup(ui):
830 > def uisetup(ui):
831 > ui.setconfig(b'alias', b'shellalias', b'!echo hi', b'helpext')
831 > ui.setconfig(b'alias', b'shellalias', b'!echo hi', b'helpext')
832 > ui.setconfig(b'alias', b'hgalias', b'summary', b'helpext')
832 > ui.setconfig(b'alias', b'hgalias', b'summary', b'helpext')
833 > ui.setconfig(b'alias', b'hgalias:doc', b'My doc', b'helpext')
833 > ui.setconfig(b'alias', b'hgalias:doc', b'My doc', b'helpext')
834 > ui.setconfig(b'alias', b'hgalias:category', b'navigation', b'helpext')
834 > ui.setconfig(b'alias', b'hgalias:category', b'navigation', b'helpext')
835 > ui.setconfig(b'alias', b'hgaliasnodoc', b'summary', b'helpext')
835 > ui.setconfig(b'alias', b'hgaliasnodoc', b'summary', b'helpext')
836 >
836 >
837 > EOF
837 > EOF
838 $ echo '[extensions]' >> $HGRCPATH
838 $ echo '[extensions]' >> $HGRCPATH
839 $ echo "helpext = `pwd`/helpext.py" >> $HGRCPATH
839 $ echo "helpext = `pwd`/helpext.py" >> $HGRCPATH
840
840
841 Test for aliases
841 Test for aliases
842
842
843 $ hg help | grep hgalias
843 $ hg help | grep hgalias
844 hgalias My doc
844 hgalias My doc
845
845
846 $ hg help hgalias
846 $ hg help hgalias
847 hg hgalias [--remote]
847 hg hgalias [--remote]
848
848
849 alias for: hg summary
849 alias for: hg summary
850
850
851 My doc
851 My doc
852
852
853 defined by: helpext
853 defined by: helpext
854
854
855 options:
855 options:
856
856
857 --remote check for push and pull
857 --remote check for push and pull
858
858
859 (some details hidden, use --verbose to show complete help)
859 (some details hidden, use --verbose to show complete help)
860 $ hg help hgaliasnodoc
860 $ hg help hgaliasnodoc
861 hg hgaliasnodoc [--remote]
861 hg hgaliasnodoc [--remote]
862
862
863 alias for: hg summary
863 alias for: hg summary
864
864
865 summarize working directory state
865 summarize working directory state
866
866
867 This generates a brief summary of the working directory state, including
867 This generates a brief summary of the working directory state, including
868 parents, branch, commit status, phase and available updates.
868 parents, branch, commit status, phase and available updates.
869
869
870 With the --remote option, this will check the default paths for incoming
870 With the --remote option, this will check the default paths for incoming
871 and outgoing changes. This can be time-consuming.
871 and outgoing changes. This can be time-consuming.
872
872
873 Returns 0 on success.
873 Returns 0 on success.
874
874
875 defined by: helpext
875 defined by: helpext
876
876
877 options:
877 options:
878
878
879 --remote check for push and pull
879 --remote check for push and pull
880
880
881 (some details hidden, use --verbose to show complete help)
881 (some details hidden, use --verbose to show complete help)
882
882
883 $ hg help shellalias
883 $ hg help shellalias
884 hg shellalias
884 hg shellalias
885
885
886 shell alias for: echo hi
886 shell alias for: echo hi
887
887
888 (no help text available)
888 (no help text available)
889
889
890 defined by: helpext
890 defined by: helpext
891
891
892 (some details hidden, use --verbose to show complete help)
892 (some details hidden, use --verbose to show complete help)
893
893
894 Test command with no help text
894 Test command with no help text
895
895
896 $ hg help nohelp
896 $ hg help nohelp
897 hg nohelp
897 hg nohelp
898
898
899 (no help text available)
899 (no help text available)
900
900
901 options:
901 options:
902
902
903 --longdesc VALUE
903 --longdesc VALUE
904 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
904 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
905 xxxxxxxxxxxxxxxxxxxxxxx (default: 3)
905 xxxxxxxxxxxxxxxxxxxxxxx (default: 3)
906 -n -- normal desc
906 -n -- normal desc
907 --newline VALUE line1 line2
907 --newline VALUE line1 line2
908 --default-off enable X
908 --default-off enable X
909 --[no-]default-on enable Y (default: on)
909 --[no-]default-on enable Y (default: on)
910 --callableopt VALUE adds foo
910 --callableopt VALUE adds foo
911 --customopt VALUE adds bar
911 --customopt VALUE adds bar
912 --customopt-withdefault VALUE adds bar (default: foo)
912 --customopt-withdefault VALUE adds bar (default: foo)
913
913
914 (some details hidden, use --verbose to show complete help)
914 (some details hidden, use --verbose to show complete help)
915
915
916 Test that default list of commands includes extension commands that have help,
916 Test that default list of commands includes extension commands that have help,
917 but not those that don't, except in verbose mode, when a keyword is passed, or
917 but not those that don't, except in verbose mode, when a keyword is passed, or
918 when help about the extension is requested.
918 when help about the extension is requested.
919
919
920 #if no-extraextensions
920 #if no-extraextensions
921
921
922 $ hg help | grep hashelp
922 $ hg help | grep hashelp
923 hashelp Extension command's help
923 hashelp Extension command's help
924 $ hg help | grep nohelp
924 $ hg help | grep nohelp
925 [1]
925 [1]
926 $ hg help -v | grep nohelp
926 $ hg help -v | grep nohelp
927 nohelp (no help text available)
927 nohelp (no help text available)
928
928
929 $ hg help -k nohelp
929 $ hg help -k nohelp
930 Commands:
930 Commands:
931
931
932 nohelp hg nohelp
932 nohelp hg nohelp
933
933
934 Extension Commands:
934 Extension Commands:
935
935
936 nohelp (no help text available)
936 nohelp (no help text available)
937
937
938 $ hg help helpext
938 $ hg help helpext
939 helpext extension - no help text available
939 helpext extension - no help text available
940
940
941 list of commands:
941 list of commands:
942
942
943 hashelp Extension command's help
943 hashelp Extension command's help
944 nohelp (no help text available)
944 nohelp (no help text available)
945
945
946 (use 'hg help -v helpext' to show built-in aliases and global options)
946 (use 'hg help -v helpext' to show built-in aliases and global options)
947
947
948 #endif
948 #endif
949
949
950 Test list of internal help commands
950 Test list of internal help commands
951
951
952 $ hg help debug
952 $ hg help debug
953 debug commands (internal and unsupported):
953 debug commands (internal and unsupported):
954
954
955 debugancestor
955 debugancestor
956 find the ancestor revision of two revisions in a given index
956 find the ancestor revision of two revisions in a given index
957 debugapplystreamclonebundle
957 debugapplystreamclonebundle
958 apply a stream clone bundle file
958 apply a stream clone bundle file
959 debugbuilddag
959 debugbuilddag
960 builds a repo with a given DAG from scratch in the current
960 builds a repo with a given DAG from scratch in the current
961 empty repo
961 empty repo
962 debugbundle lists the contents of a bundle
962 debugbundle lists the contents of a bundle
963 debugcapabilities
963 debugcapabilities
964 lists the capabilities of a remote peer
964 lists the capabilities of a remote peer
965 debugcheckstate
965 debugcheckstate
966 validate the correctness of the current dirstate
966 validate the correctness of the current dirstate
967 debugcolor show available color, effects or style
967 debugcolor show available color, effects or style
968 debugcommands
968 debugcommands
969 list all available commands and options
969 list all available commands and options
970 debugcomplete
970 debugcomplete
971 returns the completion list associated with the given command
971 returns the completion list associated with the given command
972 debugcreatestreamclonebundle
972 debugcreatestreamclonebundle
973 create a stream clone bundle file
973 create a stream clone bundle file
974 debugdag format the changelog or an index DAG as a concise textual
974 debugdag format the changelog or an index DAG as a concise textual
975 description
975 description
976 debugdata dump the contents of a data file revision
976 debugdata dump the contents of a data file revision
977 debugdate parse and display a date
977 debugdate parse and display a date
978 debugdeltachain
978 debugdeltachain
979 dump information about delta chains in a revlog
979 dump information about delta chains in a revlog
980 debugdirstate
980 debugdirstate
981 show the contents of the current dirstate
981 show the contents of the current dirstate
982 debugdiscovery
982 debugdiscovery
983 runs the changeset discovery protocol in isolation
983 runs the changeset discovery protocol in isolation
984 debugdownload
984 debugdownload
985 download a resource using Mercurial logic and config
985 download a resource using Mercurial logic and config
986 debugextensions
986 debugextensions
987 show information about active extensions
987 show information about active extensions
988 debugfileset parse and apply a fileset specification
988 debugfileset parse and apply a fileset specification
989 debugformat display format information about the current repository
989 debugformat display format information about the current repository
990 debugfsinfo show information detected about current filesystem
990 debugfsinfo show information detected about current filesystem
991 debuggetbundle
991 debuggetbundle
992 retrieves a bundle from a repo
992 retrieves a bundle from a repo
993 debugignore display the combined ignore pattern and information about
993 debugignore display the combined ignore pattern and information about
994 ignored files
994 ignored files
995 debugindex dump index data for a storage primitive
995 debugindex dump index data for a storage primitive
996 debugindexdot
996 debugindexdot
997 dump an index DAG as a graphviz dot file
997 dump an index DAG as a graphviz dot file
998 debugindexstats
998 debugindexstats
999 show stats related to the changelog index
999 show stats related to the changelog index
1000 debuginstall test Mercurial installation
1000 debuginstall test Mercurial installation
1001 debugknown test whether node ids are known to a repo
1001 debugknown test whether node ids are known to a repo
1002 debuglocks show or modify state of locks
1002 debuglocks show or modify state of locks
1003 debugmanifestfulltextcache
1003 debugmanifestfulltextcache
1004 show, clear or amend the contents of the manifest fulltext
1004 show, clear or amend the contents of the manifest fulltext
1005 cache
1005 cache
1006 debugmergestate
1006 debugmergestate
1007 print merge state
1007 print merge state
1008 debugnamecomplete
1008 debugnamecomplete
1009 complete "names" - tags, open branch names, bookmark names
1009 complete "names" - tags, open branch names, bookmark names
1010 debugobsolete
1010 debugobsolete
1011 create arbitrary obsolete marker
1011 create arbitrary obsolete marker
1012 debugoptADV (no help text available)
1012 debugoptADV (no help text available)
1013 debugoptDEP (no help text available)
1013 debugoptDEP (no help text available)
1014 debugoptEXP (no help text available)
1014 debugoptEXP (no help text available)
1015 debugpathcomplete
1015 debugpathcomplete
1016 complete part or all of a tracked path
1016 complete part or all of a tracked path
1017 debugpathcopies
1017 debugpathcopies
1018 show copies between two revisions
1018 show copies between two revisions
1019 debugpeer establish a connection to a peer repository
1019 debugpeer establish a connection to a peer repository
1020 debugpickmergetool
1020 debugpickmergetool
1021 examine which merge tool is chosen for specified file
1021 examine which merge tool is chosen for specified file
1022 debugpushkey access the pushkey key/value protocol
1022 debugpushkey access the pushkey key/value protocol
1023 debugpvec (no help text available)
1023 debugpvec (no help text available)
1024 debugrebuilddirstate
1024 debugrebuilddirstate
1025 rebuild the dirstate as it would look like for the given
1025 rebuild the dirstate as it would look like for the given
1026 revision
1026 revision
1027 debugrebuildfncache
1027 debugrebuildfncache
1028 rebuild the fncache file
1028 rebuild the fncache file
1029 debugrename dump rename information
1029 debugrename dump rename information
1030 debugrevlog show data and statistics about a revlog
1030 debugrevlog show data and statistics about a revlog
1031 debugrevlogindex
1031 debugrevlogindex
1032 dump the contents of a revlog index
1032 dump the contents of a revlog index
1033 debugrevspec parse and apply a revision specification
1033 debugrevspec parse and apply a revision specification
1034 debugserve run a server with advanced settings
1034 debugserve run a server with advanced settings
1035 debugsetparents
1035 debugsetparents
1036 manually set the parents of the current working directory
1036 manually set the parents of the current working directory
1037 debugssl test a secure connection to a server
1037 debugssl test a secure connection to a server
1038 debugsub (no help text available)
1038 debugsub (no help text available)
1039 debugsuccessorssets
1039 debugsuccessorssets
1040 show set of successors for revision
1040 show set of successors for revision
1041 debugtemplate
1041 debugtemplate
1042 parse and apply a template
1042 parse and apply a template
1043 debuguigetpass
1043 debuguigetpass
1044 show prompt to type password
1044 show prompt to type password
1045 debuguiprompt
1045 debuguiprompt
1046 show plain prompt
1046 show plain prompt
1047 debugupdatecaches
1047 debugupdatecaches
1048 warm all known caches in the repository
1048 warm all known caches in the repository
1049 debugupgraderepo
1049 debugupgraderepo
1050 upgrade a repository to use different features
1050 upgrade a repository to use different features
1051 debugwalk show how files match on given patterns
1051 debugwalk show how files match on given patterns
1052 debugwhyunstable
1052 debugwhyunstable
1053 explain instabilities of a changeset
1053 explain instabilities of a changeset
1054 debugwireargs
1054 debugwireargs
1055 (no help text available)
1055 (no help text available)
1056 debugwireproto
1056 debugwireproto
1057 send wire protocol commands to a server
1057 send wire protocol commands to a server
1058
1058
1059 (use 'hg help -v debug' to show built-in aliases and global options)
1059 (use 'hg help -v debug' to show built-in aliases and global options)
1060
1060
1061 internals topic renders index of available sub-topics
1061 internals topic renders index of available sub-topics
1062
1062
1063 $ hg help internals
1063 $ hg help internals
1064 Technical implementation topics
1064 Technical implementation topics
1065 """""""""""""""""""""""""""""""
1065 """""""""""""""""""""""""""""""
1066
1066
1067 To access a subtopic, use "hg help internals.{subtopic-name}"
1067 To access a subtopic, use "hg help internals.{subtopic-name}"
1068
1068
1069 bundle2 Bundle2
1069 bundle2 Bundle2
1070 bundles Bundles
1070 bundles Bundles
1071 cbor CBOR
1071 cbor CBOR
1072 censor Censor
1072 censor Censor
1073 changegroups Changegroups
1073 changegroups Changegroups
1074 config Config Registrar
1074 config Config Registrar
1075 extensions Extension API
1075 extensions Extension API
1076 requirements Repository Requirements
1076 requirements Repository Requirements
1077 revlogs Revision Logs
1077 revlogs Revision Logs
1078 wireprotocol Wire Protocol
1078 wireprotocol Wire Protocol
1079 wireprotocolrpc
1079 wireprotocolrpc
1080 Wire Protocol RPC
1080 Wire Protocol RPC
1081 wireprotocolv2
1081 wireprotocolv2
1082 Wire Protocol Version 2
1082 Wire Protocol Version 2
1083
1083
1084 sub-topics can be accessed
1084 sub-topics can be accessed
1085
1085
1086 $ hg help internals.changegroups
1086 $ hg help internals.changegroups
1087 Changegroups
1087 Changegroups
1088 """"""""""""
1088 """"""""""""
1089
1089
1090 Changegroups are representations of repository revlog data, specifically
1090 Changegroups are representations of repository revlog data, specifically
1091 the changelog data, root/flat manifest data, treemanifest data, and
1091 the changelog data, root/flat manifest data, treemanifest data, and
1092 filelogs.
1092 filelogs.
1093
1093
1094 There are 3 versions of changegroups: "1", "2", and "3". From a high-
1094 There are 3 versions of changegroups: "1", "2", and "3". From a high-
1095 level, versions "1" and "2" are almost exactly the same, with the only
1095 level, versions "1" and "2" are almost exactly the same, with the only
1096 difference being an additional item in the *delta header*. Version "3"
1096 difference being an additional item in the *delta header*. Version "3"
1097 adds support for storage flags in the *delta header* and optionally
1097 adds support for storage flags in the *delta header* and optionally
1098 exchanging treemanifests (enabled by setting an option on the
1098 exchanging treemanifests (enabled by setting an option on the
1099 "changegroup" part in the bundle2).
1099 "changegroup" part in the bundle2).
1100
1100
1101 Changegroups when not exchanging treemanifests consist of 3 logical
1101 Changegroups when not exchanging treemanifests consist of 3 logical
1102 segments:
1102 segments:
1103
1103
1104 +---------------------------------+
1104 +---------------------------------+
1105 | | | |
1105 | | | |
1106 | changeset | manifest | filelogs |
1106 | changeset | manifest | filelogs |
1107 | | | |
1107 | | | |
1108 | | | |
1108 | | | |
1109 +---------------------------------+
1109 +---------------------------------+
1110
1110
1111 When exchanging treemanifests, there are 4 logical segments:
1111 When exchanging treemanifests, there are 4 logical segments:
1112
1112
1113 +-------------------------------------------------+
1113 +-------------------------------------------------+
1114 | | | | |
1114 | | | | |
1115 | changeset | root | treemanifests | filelogs |
1115 | changeset | root | treemanifests | filelogs |
1116 | | manifest | | |
1116 | | manifest | | |
1117 | | | | |
1117 | | | | |
1118 +-------------------------------------------------+
1118 +-------------------------------------------------+
1119
1119
1120 The principle building block of each segment is a *chunk*. A *chunk* is a
1120 The principle building block of each segment is a *chunk*. A *chunk* is a
1121 framed piece of data:
1121 framed piece of data:
1122
1122
1123 +---------------------------------------+
1123 +---------------------------------------+
1124 | | |
1124 | | |
1125 | length | data |
1125 | length | data |
1126 | (4 bytes) | (<length - 4> bytes) |
1126 | (4 bytes) | (<length - 4> bytes) |
1127 | | |
1127 | | |
1128 +---------------------------------------+
1128 +---------------------------------------+
1129
1129
1130 All integers are big-endian signed integers. Each chunk starts with a
1130 All integers are big-endian signed integers. Each chunk starts with a
1131 32-bit integer indicating the length of the entire chunk (including the
1131 32-bit integer indicating the length of the entire chunk (including the
1132 length field itself).
1132 length field itself).
1133
1133
1134 There is a special case chunk that has a value of 0 for the length
1134 There is a special case chunk that has a value of 0 for the length
1135 ("0x00000000"). We call this an *empty chunk*.
1135 ("0x00000000"). We call this an *empty chunk*.
1136
1136
1137 Delta Groups
1137 Delta Groups
1138 ============
1138 ============
1139
1139
1140 A *delta group* expresses the content of a revlog as a series of deltas,
1140 A *delta group* expresses the content of a revlog as a series of deltas,
1141 or patches against previous revisions.
1141 or patches against previous revisions.
1142
1142
1143 Delta groups consist of 0 or more *chunks* followed by the *empty chunk*
1143 Delta groups consist of 0 or more *chunks* followed by the *empty chunk*
1144 to signal the end of the delta group:
1144 to signal the end of the delta group:
1145
1145
1146 +------------------------------------------------------------------------+
1146 +------------------------------------------------------------------------+
1147 | | | | | |
1147 | | | | | |
1148 | chunk0 length | chunk0 data | chunk1 length | chunk1 data | 0x0 |
1148 | chunk0 length | chunk0 data | chunk1 length | chunk1 data | 0x0 |
1149 | (4 bytes) | (various) | (4 bytes) | (various) | (4 bytes) |
1149 | (4 bytes) | (various) | (4 bytes) | (various) | (4 bytes) |
1150 | | | | | |
1150 | | | | | |
1151 +------------------------------------------------------------------------+
1151 +------------------------------------------------------------------------+
1152
1152
1153 Each *chunk*'s data consists of the following:
1153 Each *chunk*'s data consists of the following:
1154
1154
1155 +---------------------------------------+
1155 +---------------------------------------+
1156 | | |
1156 | | |
1157 | delta header | delta data |
1157 | delta header | delta data |
1158 | (various by version) | (various) |
1158 | (various by version) | (various) |
1159 | | |
1159 | | |
1160 +---------------------------------------+
1160 +---------------------------------------+
1161
1161
1162 The *delta data* is a series of *delta*s that describe a diff from an
1162 The *delta data* is a series of *delta*s that describe a diff from an
1163 existing entry (either that the recipient already has, or previously
1163 existing entry (either that the recipient already has, or previously
1164 specified in the bundle/changegroup).
1164 specified in the bundle/changegroup).
1165
1165
1166 The *delta header* is different between versions "1", "2", and "3" of the
1166 The *delta header* is different between versions "1", "2", and "3" of the
1167 changegroup format.
1167 changegroup format.
1168
1168
1169 Version 1 (headerlen=80):
1169 Version 1 (headerlen=80):
1170
1170
1171 +------------------------------------------------------+
1171 +------------------------------------------------------+
1172 | | | | |
1172 | | | | |
1173 | node | p1 node | p2 node | link node |
1173 | node | p1 node | p2 node | link node |
1174 | (20 bytes) | (20 bytes) | (20 bytes) | (20 bytes) |
1174 | (20 bytes) | (20 bytes) | (20 bytes) | (20 bytes) |
1175 | | | | |
1175 | | | | |
1176 +------------------------------------------------------+
1176 +------------------------------------------------------+
1177
1177
1178 Version 2 (headerlen=100):
1178 Version 2 (headerlen=100):
1179
1179
1180 +------------------------------------------------------------------+
1180 +------------------------------------------------------------------+
1181 | | | | | |
1181 | | | | | |
1182 | node | p1 node | p2 node | base node | link node |
1182 | node | p1 node | p2 node | base node | link node |
1183 | (20 bytes) | (20 bytes) | (20 bytes) | (20 bytes) | (20 bytes) |
1183 | (20 bytes) | (20 bytes) | (20 bytes) | (20 bytes) | (20 bytes) |
1184 | | | | | |
1184 | | | | | |
1185 +------------------------------------------------------------------+
1185 +------------------------------------------------------------------+
1186
1186
1187 Version 3 (headerlen=102):
1187 Version 3 (headerlen=102):
1188
1188
1189 +------------------------------------------------------------------------------+
1189 +------------------------------------------------------------------------------+
1190 | | | | | | |
1190 | | | | | | |
1191 | node | p1 node | p2 node | base node | link node | flags |
1191 | node | p1 node | p2 node | base node | link node | flags |
1192 | (20 bytes) | (20 bytes) | (20 bytes) | (20 bytes) | (20 bytes) | (2 bytes) |
1192 | (20 bytes) | (20 bytes) | (20 bytes) | (20 bytes) | (20 bytes) | (2 bytes) |
1193 | | | | | | |
1193 | | | | | | |
1194 +------------------------------------------------------------------------------+
1194 +------------------------------------------------------------------------------+
1195
1195
1196 The *delta data* consists of "chunklen - 4 - headerlen" bytes, which
1196 The *delta data* consists of "chunklen - 4 - headerlen" bytes, which
1197 contain a series of *delta*s, densely packed (no separators). These deltas
1197 contain a series of *delta*s, densely packed (no separators). These deltas
1198 describe a diff from an existing entry (either that the recipient already
1198 describe a diff from an existing entry (either that the recipient already
1199 has, or previously specified in the bundle/changegroup). The format is
1199 has, or previously specified in the bundle/changegroup). The format is
1200 described more fully in "hg help internals.bdiff", but briefly:
1200 described more fully in "hg help internals.bdiff", but briefly:
1201
1201
1202 +---------------------------------------------------------------+
1202 +---------------------------------------------------------------+
1203 | | | | |
1203 | | | | |
1204 | start offset | end offset | new length | content |
1204 | start offset | end offset | new length | content |
1205 | (4 bytes) | (4 bytes) | (4 bytes) | (<new length> bytes) |
1205 | (4 bytes) | (4 bytes) | (4 bytes) | (<new length> bytes) |
1206 | | | | |
1206 | | | | |
1207 +---------------------------------------------------------------+
1207 +---------------------------------------------------------------+
1208
1208
1209 Please note that the length field in the delta data does *not* include
1209 Please note that the length field in the delta data does *not* include
1210 itself.
1210 itself.
1211
1211
1212 In version 1, the delta is always applied against the previous node from
1212 In version 1, the delta is always applied against the previous node from
1213 the changegroup or the first parent if this is the first entry in the
1213 the changegroup or the first parent if this is the first entry in the
1214 changegroup.
1214 changegroup.
1215
1215
1216 In version 2 and up, the delta base node is encoded in the entry in the
1216 In version 2 and up, the delta base node is encoded in the entry in the
1217 changegroup. This allows the delta to be expressed against any parent,
1217 changegroup. This allows the delta to be expressed against any parent,
1218 which can result in smaller deltas and more efficient encoding of data.
1218 which can result in smaller deltas and more efficient encoding of data.
1219
1219
1220 The *flags* field holds bitwise flags affecting the processing of revision
1220 The *flags* field holds bitwise flags affecting the processing of revision
1221 data. The following flags are defined:
1221 data. The following flags are defined:
1222
1222
1223 32768
1223 32768
1224 Censored revision. The revision's fulltext has been replaced by censor
1224 Censored revision. The revision's fulltext has been replaced by censor
1225 metadata. May only occur on file revisions.
1225 metadata. May only occur on file revisions.
1226
1226
1227 16384
1227 16384
1228 Ellipsis revision. Revision hash does not match data (likely due to
1228 Ellipsis revision. Revision hash does not match data (likely due to
1229 rewritten parents).
1229 rewritten parents).
1230
1230
1231 8192
1231 8192
1232 Externally stored. The revision fulltext contains "key:value" "\n"
1232 Externally stored. The revision fulltext contains "key:value" "\n"
1233 delimited metadata defining an object stored elsewhere. Used by the LFS
1233 delimited metadata defining an object stored elsewhere. Used by the LFS
1234 extension.
1234 extension.
1235
1235
1236 For historical reasons, the integer values are identical to revlog version
1236 For historical reasons, the integer values are identical to revlog version
1237 1 per-revision storage flags and correspond to bits being set in this
1237 1 per-revision storage flags and correspond to bits being set in this
1238 2-byte field. Bits were allocated starting from the most-significant bit,
1238 2-byte field. Bits were allocated starting from the most-significant bit,
1239 hence the reverse ordering and allocation of these flags.
1239 hence the reverse ordering and allocation of these flags.
1240
1240
1241 Changeset Segment
1241 Changeset Segment
1242 =================
1242 =================
1243
1243
1244 The *changeset segment* consists of a single *delta group* holding
1244 The *changeset segment* consists of a single *delta group* holding
1245 changelog data. The *empty chunk* at the end of the *delta group* denotes
1245 changelog data. The *empty chunk* at the end of the *delta group* denotes
1246 the boundary to the *manifest segment*.
1246 the boundary to the *manifest segment*.
1247
1247
1248 Manifest Segment
1248 Manifest Segment
1249 ================
1249 ================
1250
1250
1251 The *manifest segment* consists of a single *delta group* holding manifest
1251 The *manifest segment* consists of a single *delta group* holding manifest
1252 data. If treemanifests are in use, it contains only the manifest for the
1252 data. If treemanifests are in use, it contains only the manifest for the
1253 root directory of the repository. Otherwise, it contains the entire
1253 root directory of the repository. Otherwise, it contains the entire
1254 manifest data. The *empty chunk* at the end of the *delta group* denotes
1254 manifest data. The *empty chunk* at the end of the *delta group* denotes
1255 the boundary to the next segment (either the *treemanifests segment* or
1255 the boundary to the next segment (either the *treemanifests segment* or
1256 the *filelogs segment*, depending on version and the request options).
1256 the *filelogs segment*, depending on version and the request options).
1257
1257
1258 Treemanifests Segment
1258 Treemanifests Segment
1259 ---------------------
1259 ---------------------
1260
1260
1261 The *treemanifests segment* only exists in changegroup version "3", and
1261 The *treemanifests segment* only exists in changegroup version "3", and
1262 only if the 'treemanifest' param is part of the bundle2 changegroup part
1262 only if the 'treemanifest' param is part of the bundle2 changegroup part
1263 (it is not possible to use changegroup version 3 outside of bundle2).
1263 (it is not possible to use changegroup version 3 outside of bundle2).
1264 Aside from the filenames in the *treemanifests segment* containing a
1264 Aside from the filenames in the *treemanifests segment* containing a
1265 trailing "/" character, it behaves identically to the *filelogs segment*
1265 trailing "/" character, it behaves identically to the *filelogs segment*
1266 (see below). The final sub-segment is followed by an *empty chunk*
1266 (see below). The final sub-segment is followed by an *empty chunk*
1267 (logically, a sub-segment with filename size 0). This denotes the boundary
1267 (logically, a sub-segment with filename size 0). This denotes the boundary
1268 to the *filelogs segment*.
1268 to the *filelogs segment*.
1269
1269
1270 Filelogs Segment
1270 Filelogs Segment
1271 ================
1271 ================
1272
1272
1273 The *filelogs segment* consists of multiple sub-segments, each
1273 The *filelogs segment* consists of multiple sub-segments, each
1274 corresponding to an individual file whose data is being described:
1274 corresponding to an individual file whose data is being described:
1275
1275
1276 +--------------------------------------------------+
1276 +--------------------------------------------------+
1277 | | | | | |
1277 | | | | | |
1278 | filelog0 | filelog1 | filelog2 | ... | 0x0 |
1278 | filelog0 | filelog1 | filelog2 | ... | 0x0 |
1279 | | | | | (4 bytes) |
1279 | | | | | (4 bytes) |
1280 | | | | | |
1280 | | | | | |
1281 +--------------------------------------------------+
1281 +--------------------------------------------------+
1282
1282
1283 The final filelog sub-segment is followed by an *empty chunk* (logically,
1283 The final filelog sub-segment is followed by an *empty chunk* (logically,
1284 a sub-segment with filename size 0). This denotes the end of the segment
1284 a sub-segment with filename size 0). This denotes the end of the segment
1285 and of the overall changegroup.
1285 and of the overall changegroup.
1286
1286
1287 Each filelog sub-segment consists of the following:
1287 Each filelog sub-segment consists of the following:
1288
1288
1289 +------------------------------------------------------+
1289 +------------------------------------------------------+
1290 | | | |
1290 | | | |
1291 | filename length | filename | delta group |
1291 | filename length | filename | delta group |
1292 | (4 bytes) | (<length - 4> bytes) | (various) |
1292 | (4 bytes) | (<length - 4> bytes) | (various) |
1293 | | | |
1293 | | | |
1294 +------------------------------------------------------+
1294 +------------------------------------------------------+
1295
1295
1296 That is, a *chunk* consisting of the filename (not terminated or padded)
1296 That is, a *chunk* consisting of the filename (not terminated or padded)
1297 followed by N chunks constituting the *delta group* for this file. The
1297 followed by N chunks constituting the *delta group* for this file. The
1298 *empty chunk* at the end of each *delta group* denotes the boundary to the
1298 *empty chunk* at the end of each *delta group* denotes the boundary to the
1299 next filelog sub-segment.
1299 next filelog sub-segment.
1300
1300
1301 test advanced, deprecated and experimental options are hidden in command help
1301 test advanced, deprecated and experimental options are hidden in command help
1302 $ hg help debugoptADV
1302 $ hg help debugoptADV
1303 hg debugoptADV
1303 hg debugoptADV
1304
1304
1305 (no help text available)
1305 (no help text available)
1306
1306
1307 options:
1307 options:
1308
1308
1309 (some details hidden, use --verbose to show complete help)
1309 (some details hidden, use --verbose to show complete help)
1310 $ hg help debugoptDEP
1310 $ hg help debugoptDEP
1311 hg debugoptDEP
1311 hg debugoptDEP
1312
1312
1313 (no help text available)
1313 (no help text available)
1314
1314
1315 options:
1315 options:
1316
1316
1317 (some details hidden, use --verbose to show complete help)
1317 (some details hidden, use --verbose to show complete help)
1318
1318
1319 $ hg help debugoptEXP
1319 $ hg help debugoptEXP
1320 hg debugoptEXP
1320 hg debugoptEXP
1321
1321
1322 (no help text available)
1322 (no help text available)
1323
1323
1324 options:
1324 options:
1325
1325
1326 (some details hidden, use --verbose to show complete help)
1326 (some details hidden, use --verbose to show complete help)
1327
1327
1328 test advanced, deprecated and experimental options are shown with -v
1328 test advanced, deprecated and experimental options are shown with -v
1329 $ hg help -v debugoptADV | grep aopt
1329 $ hg help -v debugoptADV | grep aopt
1330 --aopt option is (ADVANCED)
1330 --aopt option is (ADVANCED)
1331 $ hg help -v debugoptDEP | grep dopt
1331 $ hg help -v debugoptDEP | grep dopt
1332 --dopt option is (DEPRECATED)
1332 --dopt option is (DEPRECATED)
1333 $ hg help -v debugoptEXP | grep eopt
1333 $ hg help -v debugoptEXP | grep eopt
1334 --eopt option is (EXPERIMENTAL)
1334 --eopt option is (EXPERIMENTAL)
1335
1335
1336 #if gettext
1336 #if gettext
1337 test deprecated option is hidden with translation with untranslated description
1337 test deprecated option is hidden with translation with untranslated description
1338 (use many globy for not failing on changed transaction)
1338 (use many globy for not failing on changed transaction)
1339 $ LANGUAGE=sv hg help debugoptDEP
1339 $ LANGUAGE=sv hg help debugoptDEP
1340 hg debugoptDEP
1340 hg debugoptDEP
1341
1341
1342 (*) (glob)
1342 (*) (glob)
1343
1343
1344 options:
1344 options:
1345
1345
1346 (some details hidden, use --verbose to show complete help)
1346 (some details hidden, use --verbose to show complete help)
1347 #endif
1347 #endif
1348
1348
1349 Test commands that collide with topics (issue4240)
1349 Test commands that collide with topics (issue4240)
1350
1350
1351 $ hg config -hq
1351 $ hg config -hq
1352 hg config [-u] [NAME]...
1352 hg config [-u] [NAME]...
1353
1353
1354 show combined config settings from all hgrc files
1354 show combined config settings from all hgrc files
1355 $ hg showconfig -hq
1355 $ hg showconfig -hq
1356 hg config [-u] [NAME]...
1356 hg config [-u] [NAME]...
1357
1357
1358 show combined config settings from all hgrc files
1358 show combined config settings from all hgrc files
1359
1359
1360 Test a help topic
1360 Test a help topic
1361
1361
1362 $ hg help dates
1362 $ hg help dates
1363 Date Formats
1363 Date Formats
1364 """"""""""""
1364 """"""""""""
1365
1365
1366 Some commands allow the user to specify a date, e.g.:
1366 Some commands allow the user to specify a date, e.g.:
1367
1367
1368 - backout, commit, import, tag: Specify the commit date.
1368 - backout, commit, import, tag: Specify the commit date.
1369 - log, revert, update: Select revision(s) by date.
1369 - log, revert, update: Select revision(s) by date.
1370
1370
1371 Many date formats are valid. Here are some examples:
1371 Many date formats are valid. Here are some examples:
1372
1372
1373 - "Wed Dec 6 13:18:29 2006" (local timezone assumed)
1373 - "Wed Dec 6 13:18:29 2006" (local timezone assumed)
1374 - "Dec 6 13:18 -0600" (year assumed, time offset provided)
1374 - "Dec 6 13:18 -0600" (year assumed, time offset provided)
1375 - "Dec 6 13:18 UTC" (UTC and GMT are aliases for +0000)
1375 - "Dec 6 13:18 UTC" (UTC and GMT are aliases for +0000)
1376 - "Dec 6" (midnight)
1376 - "Dec 6" (midnight)
1377 - "13:18" (today assumed)
1377 - "13:18" (today assumed)
1378 - "3:39" (3:39AM assumed)
1378 - "3:39" (3:39AM assumed)
1379 - "3:39pm" (15:39)
1379 - "3:39pm" (15:39)
1380 - "2006-12-06 13:18:29" (ISO 8601 format)
1380 - "2006-12-06 13:18:29" (ISO 8601 format)
1381 - "2006-12-6 13:18"
1381 - "2006-12-6 13:18"
1382 - "2006-12-6"
1382 - "2006-12-6"
1383 - "12-6"
1383 - "12-6"
1384 - "12/6"
1384 - "12/6"
1385 - "12/6/6" (Dec 6 2006)
1385 - "12/6/6" (Dec 6 2006)
1386 - "today" (midnight)
1386 - "today" (midnight)
1387 - "yesterday" (midnight)
1387 - "yesterday" (midnight)
1388 - "now" - right now
1388 - "now" - right now
1389
1389
1390 Lastly, there is Mercurial's internal format:
1390 Lastly, there is Mercurial's internal format:
1391
1391
1392 - "1165411109 0" (Wed Dec 6 13:18:29 2006 UTC)
1392 - "1165411109 0" (Wed Dec 6 13:18:29 2006 UTC)
1393
1393
1394 This is the internal representation format for dates. The first number is
1394 This is the internal representation format for dates. The first number is
1395 the number of seconds since the epoch (1970-01-01 00:00 UTC). The second
1395 the number of seconds since the epoch (1970-01-01 00:00 UTC). The second
1396 is the offset of the local timezone, in seconds west of UTC (negative if
1396 is the offset of the local timezone, in seconds west of UTC (negative if
1397 the timezone is east of UTC).
1397 the timezone is east of UTC).
1398
1398
1399 The log command also accepts date ranges:
1399 The log command also accepts date ranges:
1400
1400
1401 - "<DATE" - at or before a given date/time
1401 - "<DATE" - at or before a given date/time
1402 - ">DATE" - on or after a given date/time
1402 - ">DATE" - on or after a given date/time
1403 - "DATE to DATE" - a date range, inclusive
1403 - "DATE to DATE" - a date range, inclusive
1404 - "-DAYS" - within a given number of days of today
1404 - "-DAYS" - within a given number of days of today
1405
1405
1406 Test repeated config section name
1406 Test repeated config section name
1407
1407
1408 $ hg help config.host
1408 $ hg help config.host
1409 "http_proxy.host"
1409 "http_proxy.host"
1410 Host name and (optional) port of the proxy server, for example
1410 Host name and (optional) port of the proxy server, for example
1411 "myproxy:8000".
1411 "myproxy:8000".
1412
1412
1413 "smtp.host"
1413 "smtp.host"
1414 Host name of mail server, e.g. "mail.example.com".
1414 Host name of mail server, e.g. "mail.example.com".
1415
1415
1416
1416
1417 Test section name with dot
1417 Test section name with dot
1418
1418
1419 $ hg help config.ui.username
1419 $ hg help config.ui.username
1420 "ui.username"
1420 "ui.username"
1421 The committer of a changeset created when running "commit". Typically
1421 The committer of a changeset created when running "commit". Typically
1422 a person's name and email address, e.g. "Fred Widget
1422 a person's name and email address, e.g. "Fred Widget
1423 <fred@example.com>". Environment variables in the username are
1423 <fred@example.com>". Environment variables in the username are
1424 expanded.
1424 expanded.
1425
1425
1426 (default: "$EMAIL" or "username@hostname". If the username in hgrc is
1426 (default: "$EMAIL" or "username@hostname". If the username in hgrc is
1427 empty, e.g. if the system admin set "username =" in the system hgrc,
1427 empty, e.g. if the system admin set "username =" in the system hgrc,
1428 it has to be specified manually or in a different hgrc file)
1428 it has to be specified manually or in a different hgrc file)
1429
1429
1430
1430
1431 $ hg help config.annotate.git
1431 $ hg help config.annotate.git
1432 abort: help section not found: config.annotate.git
1432 abort: help section not found: config.annotate.git
1433 [255]
1433 [255]
1434
1434
1435 $ hg help config.update.check
1435 $ hg help config.update.check
1436 "commands.update.check"
1436 "commands.update.check"
1437 Determines what level of checking 'hg update' will perform before
1437 Determines what level of checking 'hg update' will perform before
1438 moving to a destination revision. Valid values are "abort", "none",
1438 moving to a destination revision. Valid values are "abort", "none",
1439 "linear", and "noconflict". "abort" always fails if the working
1439 "linear", and "noconflict". "abort" always fails if the working
1440 directory has uncommitted changes. "none" performs no checking, and
1440 directory has uncommitted changes. "none" performs no checking, and
1441 may result in a merge with uncommitted changes. "linear" allows any
1441 may result in a merge with uncommitted changes. "linear" allows any
1442 update as long as it follows a straight line in the revision history,
1442 update as long as it follows a straight line in the revision history,
1443 and may trigger a merge with uncommitted changes. "noconflict" will
1443 and may trigger a merge with uncommitted changes. "noconflict" will
1444 allow any update which would not trigger a merge with uncommitted
1444 allow any update which would not trigger a merge with uncommitted
1445 changes, if any are present. (default: "linear")
1445 changes, if any are present. (default: "linear")
1446
1446
1447
1447
1448 $ hg help config.commands.update.check
1448 $ hg help config.commands.update.check
1449 "commands.update.check"
1449 "commands.update.check"
1450 Determines what level of checking 'hg update' will perform before
1450 Determines what level of checking 'hg update' will perform before
1451 moving to a destination revision. Valid values are "abort", "none",
1451 moving to a destination revision. Valid values are "abort", "none",
1452 "linear", and "noconflict". "abort" always fails if the working
1452 "linear", and "noconflict". "abort" always fails if the working
1453 directory has uncommitted changes. "none" performs no checking, and
1453 directory has uncommitted changes. "none" performs no checking, and
1454 may result in a merge with uncommitted changes. "linear" allows any
1454 may result in a merge with uncommitted changes. "linear" allows any
1455 update as long as it follows a straight line in the revision history,
1455 update as long as it follows a straight line in the revision history,
1456 and may trigger a merge with uncommitted changes. "noconflict" will
1456 and may trigger a merge with uncommitted changes. "noconflict" will
1457 allow any update which would not trigger a merge with uncommitted
1457 allow any update which would not trigger a merge with uncommitted
1458 changes, if any are present. (default: "linear")
1458 changes, if any are present. (default: "linear")
1459
1459
1460
1460
1461 $ hg help config.ommands.update.check
1461 $ hg help config.ommands.update.check
1462 abort: help section not found: config.ommands.update.check
1462 abort: help section not found: config.ommands.update.check
1463 [255]
1463 [255]
1464
1464
1465 Unrelated trailing paragraphs shouldn't be included
1465 Unrelated trailing paragraphs shouldn't be included
1466
1466
1467 $ hg help config.extramsg | grep '^$'
1467 $ hg help config.extramsg | grep '^$'
1468
1468
1469
1469
1470 Test capitalized section name
1470 Test capitalized section name
1471
1471
1472 $ hg help scripting.HGPLAIN > /dev/null
1472 $ hg help scripting.HGPLAIN > /dev/null
1473
1473
1474 Help subsection:
1474 Help subsection:
1475
1475
1476 $ hg help config.charsets |grep "Email example:" > /dev/null
1476 $ hg help config.charsets |grep "Email example:" > /dev/null
1477 [1]
1477 [1]
1478
1478
1479 Show nested definitions
1479 Show nested definitions
1480 ("profiling.type"[break]"ls"[break]"stat"[break])
1480 ("profiling.type"[break]"ls"[break]"stat"[break])
1481
1481
1482 $ hg help config.type | egrep '^$'|wc -l
1482 $ hg help config.type | egrep '^$'|wc -l
1483 \s*3 (re)
1483 \s*3 (re)
1484
1484
1485 $ hg help config.profiling.type.ls
1485 $ hg help config.profiling.type.ls
1486 "profiling.type.ls"
1486 "profiling.type.ls"
1487 Use Python's built-in instrumenting profiler. This profiler works on
1487 Use Python's built-in instrumenting profiler. This profiler works on
1488 all platforms, but each line number it reports is the first line of
1488 all platforms, but each line number it reports is the first line of
1489 a function. This restriction makes it difficult to identify the
1489 a function. This restriction makes it difficult to identify the
1490 expensive parts of a non-trivial function.
1490 expensive parts of a non-trivial function.
1491
1491
1492
1492
1493 Separate sections from subsections
1493 Separate sections from subsections
1494
1494
1495 $ hg help config.format | egrep '^ ("|-)|^\s*$' | uniq
1495 $ hg help config.format | egrep '^ ("|-)|^\s*$' | uniq
1496 "format"
1496 "format"
1497 --------
1497 --------
1498
1498
1499 "usegeneraldelta"
1499 "usegeneraldelta"
1500
1500
1501 "dotencode"
1501 "dotencode"
1502
1502
1503 "usefncache"
1503 "usefncache"
1504
1504
1505 "usestore"
1505 "usestore"
1506
1506
1507 "sparse-revlog"
1507 "sparse-revlog"
1508
1508
1509 "profiling"
1509 "profiling"
1510 -----------
1510 -----------
1511
1511
1512 "format"
1512 "format"
1513
1513
1514 "progress"
1514 "progress"
1515 ----------
1515 ----------
1516
1516
1517 "format"
1517 "format"
1518
1518
1519
1519
1520 Last item in help config.*:
1520 Last item in help config.*:
1521
1521
1522 $ hg help config.`hg help config|grep '^ "'| \
1522 $ hg help config.`hg help config|grep '^ "'| \
1523 > tail -1|sed 's![ "]*!!g'`| \
1523 > tail -1|sed 's![ "]*!!g'`| \
1524 > grep 'hg help -c config' > /dev/null
1524 > grep 'hg help -c config' > /dev/null
1525 [1]
1525 [1]
1526
1526
1527 note to use help -c for general hg help config:
1527 note to use help -c for general hg help config:
1528
1528
1529 $ hg help config |grep 'hg help -c config' > /dev/null
1529 $ hg help config |grep 'hg help -c config' > /dev/null
1530
1530
1531 Test templating help
1531 Test templating help
1532
1532
1533 $ hg help templating | egrep '(desc|diffstat|firstline|nonempty) '
1533 $ hg help templating | egrep '(desc|diffstat|firstline|nonempty) '
1534 desc String. The text of the changeset description.
1534 desc String. The text of the changeset description.
1535 diffstat String. Statistics of changes with the following format:
1535 diffstat String. Statistics of changes with the following format:
1536 firstline Any text. Returns the first line of text.
1536 firstline Any text. Returns the first line of text.
1537 nonempty Any text. Returns '(none)' if the string is empty.
1537 nonempty Any text. Returns '(none)' if the string is empty.
1538
1538
1539 Test deprecated items
1539 Test deprecated items
1540
1540
1541 $ hg help -v templating | grep currentbookmark
1541 $ hg help -v templating | grep currentbookmark
1542 currentbookmark
1542 currentbookmark
1543 $ hg help templating | (grep currentbookmark || true)
1543 $ hg help templating | (grep currentbookmark || true)
1544
1544
1545 Test help hooks
1545 Test help hooks
1546
1546
1547 $ cat > helphook1.py <<EOF
1547 $ cat > helphook1.py <<EOF
1548 > from mercurial import help
1548 > from mercurial import help
1549 >
1549 >
1550 > def rewrite(ui, topic, doc):
1550 > def rewrite(ui, topic, doc):
1551 > return doc + b'\nhelphook1\n'
1551 > return doc + b'\nhelphook1\n'
1552 >
1552 >
1553 > def extsetup(ui):
1553 > def extsetup(ui):
1554 > help.addtopichook(b'revisions', rewrite)
1554 > help.addtopichook(b'revisions', rewrite)
1555 > EOF
1555 > EOF
1556 $ cat > helphook2.py <<EOF
1556 $ cat > helphook2.py <<EOF
1557 > from mercurial import help
1557 > from mercurial import help
1558 >
1558 >
1559 > def rewrite(ui, topic, doc):
1559 > def rewrite(ui, topic, doc):
1560 > return doc + b'\nhelphook2\n'
1560 > return doc + b'\nhelphook2\n'
1561 >
1561 >
1562 > def extsetup(ui):
1562 > def extsetup(ui):
1563 > help.addtopichook(b'revisions', rewrite)
1563 > help.addtopichook(b'revisions', rewrite)
1564 > EOF
1564 > EOF
1565 $ echo '[extensions]' >> $HGRCPATH
1565 $ echo '[extensions]' >> $HGRCPATH
1566 $ echo "helphook1 = `pwd`/helphook1.py" >> $HGRCPATH
1566 $ echo "helphook1 = `pwd`/helphook1.py" >> $HGRCPATH
1567 $ echo "helphook2 = `pwd`/helphook2.py" >> $HGRCPATH
1567 $ echo "helphook2 = `pwd`/helphook2.py" >> $HGRCPATH
1568 $ hg help revsets | grep helphook
1568 $ hg help revsets | grep helphook
1569 helphook1
1569 helphook1
1570 helphook2
1570 helphook2
1571
1571
1572 help -c should only show debug --debug
1572 help -c should only show debug --debug
1573
1573
1574 $ hg help -c --debug|egrep debug|wc -l|egrep '^\s*0\s*$'
1574 $ hg help -c --debug|egrep debug|wc -l|egrep '^\s*0\s*$'
1575 [1]
1575 [1]
1576
1576
1577 help -c should only show deprecated for -v
1577 help -c should only show deprecated for -v
1578
1578
1579 $ hg help -c -v|egrep DEPRECATED|wc -l|egrep '^\s*0\s*$'
1579 $ hg help -c -v|egrep DEPRECATED|wc -l|egrep '^\s*0\s*$'
1580 [1]
1580 [1]
1581
1581
1582 Test -s / --system
1582 Test -s / --system
1583
1583
1584 $ hg help config.files -s windows |grep 'etc/mercurial' | \
1584 $ hg help config.files -s windows |grep 'etc/mercurial' | \
1585 > wc -l | sed -e 's/ //g'
1585 > wc -l | sed -e 's/ //g'
1586 0
1586 0
1587 $ hg help config.files --system unix | grep 'USER' | \
1587 $ hg help config.files --system unix | grep 'USER' | \
1588 > wc -l | sed -e 's/ //g'
1588 > wc -l | sed -e 's/ //g'
1589 0
1589 0
1590
1590
1591 Test -e / -c / -k combinations
1591 Test -e / -c / -k combinations
1592
1592
1593 $ hg help -c|egrep '^[A-Z].*:|^ debug'
1593 $ hg help -c|egrep '^[A-Z].*:|^ debug'
1594 Commands:
1594 Commands:
1595 $ hg help -e|egrep '^[A-Z].*:|^ debug'
1595 $ hg help -e|egrep '^[A-Z].*:|^ debug'
1596 Extensions:
1596 Extensions:
1597 $ hg help -k|egrep '^[A-Z].*:|^ debug'
1597 $ hg help -k|egrep '^[A-Z].*:|^ debug'
1598 Topics:
1598 Topics:
1599 Commands:
1599 Commands:
1600 Extensions:
1600 Extensions:
1601 Extension Commands:
1601 Extension Commands:
1602 $ hg help -c schemes
1602 $ hg help -c schemes
1603 abort: no such help topic: schemes
1603 abort: no such help topic: schemes
1604 (try 'hg help --keyword schemes')
1604 (try 'hg help --keyword schemes')
1605 [255]
1605 [255]
1606 $ hg help -e schemes |head -1
1606 $ hg help -e schemes |head -1
1607 schemes extension - extend schemes with shortcuts to repository swarms
1607 schemes extension - extend schemes with shortcuts to repository swarms
1608 $ hg help -c -k dates |egrep '^(Topics|Extensions|Commands):'
1608 $ hg help -c -k dates |egrep '^(Topics|Extensions|Commands):'
1609 Commands:
1609 Commands:
1610 $ hg help -e -k a |egrep '^(Topics|Extensions|Commands):'
1610 $ hg help -e -k a |egrep '^(Topics|Extensions|Commands):'
1611 Extensions:
1611 Extensions:
1612 $ hg help -e -c -k date |egrep '^(Topics|Extensions|Commands):'
1612 $ hg help -e -c -k date |egrep '^(Topics|Extensions|Commands):'
1613 Extensions:
1613 Extensions:
1614 Commands:
1614 Commands:
1615 $ hg help -c commit > /dev/null
1615 $ hg help -c commit > /dev/null
1616 $ hg help -e -c commit > /dev/null
1616 $ hg help -e -c commit > /dev/null
1617 $ hg help -e commit
1617 $ hg help -e commit
1618 abort: no such help topic: commit
1618 abort: no such help topic: commit
1619 (try 'hg help --keyword commit')
1619 (try 'hg help --keyword commit')
1620 [255]
1620 [255]
1621
1621
1622 Test keyword search help
1622 Test keyword search help
1623
1623
1624 $ cat > prefixedname.py <<EOF
1624 $ cat > prefixedname.py <<EOF
1625 > '''matched against word "clone"
1625 > '''matched against word "clone"
1626 > '''
1626 > '''
1627 > EOF
1627 > EOF
1628 $ echo '[extensions]' >> $HGRCPATH
1628 $ echo '[extensions]' >> $HGRCPATH
1629 $ echo "dot.dot.prefixedname = `pwd`/prefixedname.py" >> $HGRCPATH
1629 $ echo "dot.dot.prefixedname = `pwd`/prefixedname.py" >> $HGRCPATH
1630 $ hg help -k clone
1630 $ hg help -k clone
1631 Topics:
1631 Topics:
1632
1632
1633 config Configuration Files
1633 config Configuration Files
1634 extensions Using Additional Features
1634 extensions Using Additional Features
1635 glossary Glossary
1635 glossary Glossary
1636 phases Working with Phases
1636 phases Working with Phases
1637 subrepos Subrepositories
1637 subrepos Subrepositories
1638 urls URL Paths
1638 urls URL Paths
1639
1639
1640 Commands:
1640 Commands:
1641
1641
1642 bookmarks create a new bookmark or list existing bookmarks
1642 bookmarks create a new bookmark or list existing bookmarks
1643 clone make a copy of an existing repository
1643 clone make a copy of an existing repository
1644 paths show aliases for remote repositories
1644 paths show aliases for remote repositories
1645 pull pull changes from the specified source
1645 pull pull changes from the specified source
1646 update update working directory (or switch revisions)
1646 update update working directory (or switch revisions)
1647
1647
1648 Extensions:
1648 Extensions:
1649
1649
1650 clonebundles advertise pre-generated bundles to seed clones
1650 clonebundles advertise pre-generated bundles to seed clones
1651 narrow create clones which fetch history data for subset of files
1651 narrow create clones which fetch history data for subset of files
1652 (EXPERIMENTAL)
1652 (EXPERIMENTAL)
1653 prefixedname matched against word "clone"
1653 prefixedname matched against word "clone"
1654 relink recreates hardlinks between repository clones
1654 relink recreates hardlinks between repository clones
1655
1655
1656 Extension Commands:
1656 Extension Commands:
1657
1657
1658 qclone clone main and patch repository at same time
1658 qclone clone main and patch repository at same time
1659
1659
1660 Test unfound topic
1660 Test unfound topic
1661
1661
1662 $ hg help nonexistingtopicthatwillneverexisteverever
1662 $ hg help nonexistingtopicthatwillneverexisteverever
1663 abort: no such help topic: nonexistingtopicthatwillneverexisteverever
1663 abort: no such help topic: nonexistingtopicthatwillneverexisteverever
1664 (try 'hg help --keyword nonexistingtopicthatwillneverexisteverever')
1664 (try 'hg help --keyword nonexistingtopicthatwillneverexisteverever')
1665 [255]
1665 [255]
1666
1666
1667 Test unfound keyword
1667 Test unfound keyword
1668
1668
1669 $ hg help --keyword nonexistingwordthatwillneverexisteverever
1669 $ hg help --keyword nonexistingwordthatwillneverexisteverever
1670 abort: no matches
1670 abort: no matches
1671 (try 'hg help' for a list of topics)
1671 (try 'hg help' for a list of topics)
1672 [255]
1672 [255]
1673
1673
1674 Test omit indicating for help
1674 Test omit indicating for help
1675
1675
1676 $ cat > addverboseitems.py <<EOF
1676 $ cat > addverboseitems.py <<EOF
1677 > '''extension to test omit indicating.
1677 > r'''extension to test omit indicating.
1678 >
1678 >
1679 > This paragraph is never omitted (for extension)
1679 > This paragraph is never omitted (for extension)
1680 >
1680 >
1681 > .. container:: verbose
1681 > .. container:: verbose
1682 >
1682 >
1683 > This paragraph is omitted,
1683 > This paragraph is omitted,
1684 > if :hg:\`help\` is invoked without \`\`-v\`\` (for extension)
1684 > if :hg:\`help\` is invoked without \`\`-v\`\` (for extension)
1685 >
1685 >
1686 > This paragraph is never omitted, too (for extension)
1686 > This paragraph is never omitted, too (for extension)
1687 > '''
1687 > '''
1688 > from __future__ import absolute_import
1688 > from __future__ import absolute_import
1689 > from mercurial import commands, help
1689 > from mercurial import commands, help
1690 > testtopic = b"""This paragraph is never omitted (for topic).
1690 > testtopic = br"""This paragraph is never omitted (for topic).
1691 >
1691 >
1692 > .. container:: verbose
1692 > .. container:: verbose
1693 >
1693 >
1694 > This paragraph is omitted,
1694 > This paragraph is omitted,
1695 > if :hg:\`help\` is invoked without \`\`-v\`\` (for topic)
1695 > if :hg:\`help\` is invoked without \`\`-v\`\` (for topic)
1696 >
1696 >
1697 > This paragraph is never omitted, too (for topic)
1697 > This paragraph is never omitted, too (for topic)
1698 > """
1698 > """
1699 > def extsetup(ui):
1699 > def extsetup(ui):
1700 > help.helptable.append(([b"topic-containing-verbose"],
1700 > help.helptable.append(([b"topic-containing-verbose"],
1701 > b"This is the topic to test omit indicating.",
1701 > b"This is the topic to test omit indicating.",
1702 > lambda ui: testtopic))
1702 > lambda ui: testtopic))
1703 > EOF
1703 > EOF
1704 $ echo '[extensions]' >> $HGRCPATH
1704 $ echo '[extensions]' >> $HGRCPATH
1705 $ echo "addverboseitems = `pwd`/addverboseitems.py" >> $HGRCPATH
1705 $ echo "addverboseitems = `pwd`/addverboseitems.py" >> $HGRCPATH
1706 $ hg help addverboseitems
1706 $ hg help addverboseitems
1707 addverboseitems extension - extension to test omit indicating.
1707 addverboseitems extension - extension to test omit indicating.
1708
1708
1709 This paragraph is never omitted (for extension)
1709 This paragraph is never omitted (for extension)
1710
1710
1711 This paragraph is never omitted, too (for extension)
1711 This paragraph is never omitted, too (for extension)
1712
1712
1713 (some details hidden, use --verbose to show complete help)
1713 (some details hidden, use --verbose to show complete help)
1714
1714
1715 no commands defined
1715 no commands defined
1716 $ hg help -v addverboseitems
1716 $ hg help -v addverboseitems
1717 addverboseitems extension - extension to test omit indicating.
1717 addverboseitems extension - extension to test omit indicating.
1718
1718
1719 This paragraph is never omitted (for extension)
1719 This paragraph is never omitted (for extension)
1720
1720
1721 This paragraph is omitted, if 'hg help' is invoked without "-v" (for
1721 This paragraph is omitted, if 'hg help' is invoked without "-v" (for
1722 extension)
1722 extension)
1723
1723
1724 This paragraph is never omitted, too (for extension)
1724 This paragraph is never omitted, too (for extension)
1725
1725
1726 no commands defined
1726 no commands defined
1727 $ hg help topic-containing-verbose
1727 $ hg help topic-containing-verbose
1728 This is the topic to test omit indicating.
1728 This is the topic to test omit indicating.
1729 """"""""""""""""""""""""""""""""""""""""""
1729 """"""""""""""""""""""""""""""""""""""""""
1730
1730
1731 This paragraph is never omitted (for topic).
1731 This paragraph is never omitted (for topic).
1732
1732
1733 This paragraph is never omitted, too (for topic)
1733 This paragraph is never omitted, too (for topic)
1734
1734
1735 (some details hidden, use --verbose to show complete help)
1735 (some details hidden, use --verbose to show complete help)
1736 $ hg help -v topic-containing-verbose
1736 $ hg help -v topic-containing-verbose
1737 This is the topic to test omit indicating.
1737 This is the topic to test omit indicating.
1738 """"""""""""""""""""""""""""""""""""""""""
1738 """"""""""""""""""""""""""""""""""""""""""
1739
1739
1740 This paragraph is never omitted (for topic).
1740 This paragraph is never omitted (for topic).
1741
1741
1742 This paragraph is omitted, if 'hg help' is invoked without "-v" (for
1742 This paragraph is omitted, if 'hg help' is invoked without "-v" (for
1743 topic)
1743 topic)
1744
1744
1745 This paragraph is never omitted, too (for topic)
1745 This paragraph is never omitted, too (for topic)
1746
1746
1747 Test section lookup
1747 Test section lookup
1748
1748
1749 $ hg help revset.merge
1749 $ hg help revset.merge
1750 "merge()"
1750 "merge()"
1751 Changeset is a merge changeset.
1751 Changeset is a merge changeset.
1752
1752
1753 $ hg help glossary.dag
1753 $ hg help glossary.dag
1754 DAG
1754 DAG
1755 The repository of changesets of a distributed version control system
1755 The repository of changesets of a distributed version control system
1756 (DVCS) can be described as a directed acyclic graph (DAG), consisting
1756 (DVCS) can be described as a directed acyclic graph (DAG), consisting
1757 of nodes and edges, where nodes correspond to changesets and edges
1757 of nodes and edges, where nodes correspond to changesets and edges
1758 imply a parent -> child relation. This graph can be visualized by
1758 imply a parent -> child relation. This graph can be visualized by
1759 graphical tools such as 'hg log --graph'. In Mercurial, the DAG is
1759 graphical tools such as 'hg log --graph'. In Mercurial, the DAG is
1760 limited by the requirement for children to have at most two parents.
1760 limited by the requirement for children to have at most two parents.
1761
1761
1762
1762
1763 $ hg help hgrc.paths
1763 $ hg help hgrc.paths
1764 "paths"
1764 "paths"
1765 -------
1765 -------
1766
1766
1767 Assigns symbolic names and behavior to repositories.
1767 Assigns symbolic names and behavior to repositories.
1768
1768
1769 Options are symbolic names defining the URL or directory that is the
1769 Options are symbolic names defining the URL or directory that is the
1770 location of the repository. Example:
1770 location of the repository. Example:
1771
1771
1772 [paths]
1772 [paths]
1773 my_server = https://example.com/my_repo
1773 my_server = https://example.com/my_repo
1774 local_path = /home/me/repo
1774 local_path = /home/me/repo
1775
1775
1776 These symbolic names can be used from the command line. To pull from
1776 These symbolic names can be used from the command line. To pull from
1777 "my_server": 'hg pull my_server'. To push to "local_path": 'hg push
1777 "my_server": 'hg pull my_server'. To push to "local_path": 'hg push
1778 local_path'.
1778 local_path'.
1779
1779
1780 Options containing colons (":") denote sub-options that can influence
1780 Options containing colons (":") denote sub-options that can influence
1781 behavior for that specific path. Example:
1781 behavior for that specific path. Example:
1782
1782
1783 [paths]
1783 [paths]
1784 my_server = https://example.com/my_path
1784 my_server = https://example.com/my_path
1785 my_server:pushurl = ssh://example.com/my_path
1785 my_server:pushurl = ssh://example.com/my_path
1786
1786
1787 The following sub-options can be defined:
1787 The following sub-options can be defined:
1788
1788
1789 "pushurl"
1789 "pushurl"
1790 The URL to use for push operations. If not defined, the location
1790 The URL to use for push operations. If not defined, the location
1791 defined by the path's main entry is used.
1791 defined by the path's main entry is used.
1792
1792
1793 "pushrev"
1793 "pushrev"
1794 A revset defining which revisions to push by default.
1794 A revset defining which revisions to push by default.
1795
1795
1796 When 'hg push' is executed without a "-r" argument, the revset defined
1796 When 'hg push' is executed without a "-r" argument, the revset defined
1797 by this sub-option is evaluated to determine what to push.
1797 by this sub-option is evaluated to determine what to push.
1798
1798
1799 For example, a value of "." will push the working directory's revision
1799 For example, a value of "." will push the working directory's revision
1800 by default.
1800 by default.
1801
1801
1802 Revsets specifying bookmarks will not result in the bookmark being
1802 Revsets specifying bookmarks will not result in the bookmark being
1803 pushed.
1803 pushed.
1804
1804
1805 The following special named paths exist:
1805 The following special named paths exist:
1806
1806
1807 "default"
1807 "default"
1808 The URL or directory to use when no source or remote is specified.
1808 The URL or directory to use when no source or remote is specified.
1809
1809
1810 'hg clone' will automatically define this path to the location the
1810 'hg clone' will automatically define this path to the location the
1811 repository was cloned from.
1811 repository was cloned from.
1812
1812
1813 "default-push"
1813 "default-push"
1814 (deprecated) The URL or directory for the default 'hg push' location.
1814 (deprecated) The URL or directory for the default 'hg push' location.
1815 "default:pushurl" should be used instead.
1815 "default:pushurl" should be used instead.
1816
1816
1817 $ hg help glossary.mcguffin
1817 $ hg help glossary.mcguffin
1818 abort: help section not found: glossary.mcguffin
1818 abort: help section not found: glossary.mcguffin
1819 [255]
1819 [255]
1820
1820
1821 $ hg help glossary.mc.guffin
1821 $ hg help glossary.mc.guffin
1822 abort: help section not found: glossary.mc.guffin
1822 abort: help section not found: glossary.mc.guffin
1823 [255]
1823 [255]
1824
1824
1825 $ hg help template.files
1825 $ hg help template.files
1826 files List of strings. All files modified, added, or removed by
1826 files List of strings. All files modified, added, or removed by
1827 this changeset.
1827 this changeset.
1828 files(pattern)
1828 files(pattern)
1829 All files of the current changeset matching the pattern. See
1829 All files of the current changeset matching the pattern. See
1830 'hg help patterns'.
1830 'hg help patterns'.
1831
1831
1832 Test section lookup by translated message
1832 Test section lookup by translated message
1833
1833
1834 str.lower() instead of encoding.lower(str) on translated message might
1834 str.lower() instead of encoding.lower(str) on translated message might
1835 make message meaningless, because some encoding uses 0x41(A) - 0x5a(Z)
1835 make message meaningless, because some encoding uses 0x41(A) - 0x5a(Z)
1836 as the second or later byte of multi-byte character.
1836 as the second or later byte of multi-byte character.
1837
1837
1838 For example, "\x8bL\x98^" (translation of "record" in ja_JP.cp932)
1838 For example, "\x8bL\x98^" (translation of "record" in ja_JP.cp932)
1839 contains 0x4c (L). str.lower() replaces 0x4c(L) by 0x6c(l) and this
1839 contains 0x4c (L). str.lower() replaces 0x4c(L) by 0x6c(l) and this
1840 replacement makes message meaningless.
1840 replacement makes message meaningless.
1841
1841
1842 This tests that section lookup by translated string isn't broken by
1842 This tests that section lookup by translated string isn't broken by
1843 such str.lower().
1843 such str.lower().
1844
1844
1845 $ "$PYTHON" <<EOF
1845 $ "$PYTHON" <<EOF
1846 > def escape(s):
1846 > def escape(s):
1847 > return b''.join(b'\\u%x' % ord(uc) for uc in s.decode('cp932'))
1847 > return b''.join(b'\\u%x' % ord(uc) for uc in s.decode('cp932'))
1848 > # translation of "record" in ja_JP.cp932
1848 > # translation of "record" in ja_JP.cp932
1849 > upper = b"\x8bL\x98^"
1849 > upper = b"\x8bL\x98^"
1850 > # str.lower()-ed section name should be treated as different one
1850 > # str.lower()-ed section name should be treated as different one
1851 > lower = b"\x8bl\x98^"
1851 > lower = b"\x8bl\x98^"
1852 > with open('ambiguous.py', 'wb') as fp:
1852 > with open('ambiguous.py', 'wb') as fp:
1853 > fp.write(b"""# ambiguous section names in ja_JP.cp932
1853 > fp.write(b"""# ambiguous section names in ja_JP.cp932
1854 > u'''summary of extension
1854 > u'''summary of extension
1855 >
1855 >
1856 > %s
1856 > %s
1857 > ----
1857 > ----
1858 >
1858 >
1859 > Upper name should show only this message
1859 > Upper name should show only this message
1860 >
1860 >
1861 > %s
1861 > %s
1862 > ----
1862 > ----
1863 >
1863 >
1864 > Lower name should show only this message
1864 > Lower name should show only this message
1865 >
1865 >
1866 > subsequent section
1866 > subsequent section
1867 > ------------------
1867 > ------------------
1868 >
1868 >
1869 > This should be hidden at 'hg help ambiguous' with section name.
1869 > This should be hidden at 'hg help ambiguous' with section name.
1870 > '''
1870 > '''
1871 > """ % (escape(upper), escape(lower)))
1871 > """ % (escape(upper), escape(lower)))
1872 > EOF
1872 > EOF
1873
1873
1874 $ cat >> $HGRCPATH <<EOF
1874 $ cat >> $HGRCPATH <<EOF
1875 > [extensions]
1875 > [extensions]
1876 > ambiguous = ./ambiguous.py
1876 > ambiguous = ./ambiguous.py
1877 > EOF
1877 > EOF
1878
1878
1879 $ "$PYTHON" <<EOF | sh
1879 $ "$PYTHON" <<EOF | sh
1880 > from mercurial import pycompat
1880 > from mercurial import pycompat
1881 > upper = b"\x8bL\x98^"
1881 > upper = b"\x8bL\x98^"
1882 > pycompat.stdout.write(b"hg --encoding cp932 help -e ambiguous.%s\n" % upper)
1882 > pycompat.stdout.write(b"hg --encoding cp932 help -e ambiguous.%s\n" % upper)
1883 > EOF
1883 > EOF
1884 \x8bL\x98^ (esc)
1884 \x8bL\x98^ (esc)
1885 ----
1885 ----
1886
1886
1887 Upper name should show only this message
1887 Upper name should show only this message
1888
1888
1889
1889
1890 $ "$PYTHON" <<EOF | sh
1890 $ "$PYTHON" <<EOF | sh
1891 > from mercurial import pycompat
1891 > from mercurial import pycompat
1892 > lower = b"\x8bl\x98^"
1892 > lower = b"\x8bl\x98^"
1893 > pycompat.stdout.write(b"hg --encoding cp932 help -e ambiguous.%s\n" % lower)
1893 > pycompat.stdout.write(b"hg --encoding cp932 help -e ambiguous.%s\n" % lower)
1894 > EOF
1894 > EOF
1895 \x8bl\x98^ (esc)
1895 \x8bl\x98^ (esc)
1896 ----
1896 ----
1897
1897
1898 Lower name should show only this message
1898 Lower name should show only this message
1899
1899
1900
1900
1901 $ cat >> $HGRCPATH <<EOF
1901 $ cat >> $HGRCPATH <<EOF
1902 > [extensions]
1902 > [extensions]
1903 > ambiguous = !
1903 > ambiguous = !
1904 > EOF
1904 > EOF
1905
1905
1906 Show help content of disabled extensions
1906 Show help content of disabled extensions
1907
1907
1908 $ cat >> $HGRCPATH <<EOF
1908 $ cat >> $HGRCPATH <<EOF
1909 > [extensions]
1909 > [extensions]
1910 > ambiguous = !./ambiguous.py
1910 > ambiguous = !./ambiguous.py
1911 > EOF
1911 > EOF
1912 $ hg help -e ambiguous
1912 $ hg help -e ambiguous
1913 ambiguous extension - (no help text available)
1913 ambiguous extension - (no help text available)
1914
1914
1915 (use 'hg help extensions' for information on enabling extensions)
1915 (use 'hg help extensions' for information on enabling extensions)
1916
1916
1917 Test dynamic list of merge tools only shows up once
1917 Test dynamic list of merge tools only shows up once
1918 $ hg help merge-tools
1918 $ hg help merge-tools
1919 Merge Tools
1919 Merge Tools
1920 """""""""""
1920 """""""""""
1921
1921
1922 To merge files Mercurial uses merge tools.
1922 To merge files Mercurial uses merge tools.
1923
1923
1924 A merge tool combines two different versions of a file into a merged file.
1924 A merge tool combines two different versions of a file into a merged file.
1925 Merge tools are given the two files and the greatest common ancestor of
1925 Merge tools are given the two files and the greatest common ancestor of
1926 the two file versions, so they can determine the changes made on both
1926 the two file versions, so they can determine the changes made on both
1927 branches.
1927 branches.
1928
1928
1929 Merge tools are used both for 'hg resolve', 'hg merge', 'hg update', 'hg
1929 Merge tools are used both for 'hg resolve', 'hg merge', 'hg update', 'hg
1930 backout' and in several extensions.
1930 backout' and in several extensions.
1931
1931
1932 Usually, the merge tool tries to automatically reconcile the files by
1932 Usually, the merge tool tries to automatically reconcile the files by
1933 combining all non-overlapping changes that occurred separately in the two
1933 combining all non-overlapping changes that occurred separately in the two
1934 different evolutions of the same initial base file. Furthermore, some
1934 different evolutions of the same initial base file. Furthermore, some
1935 interactive merge programs make it easier to manually resolve conflicting
1935 interactive merge programs make it easier to manually resolve conflicting
1936 merges, either in a graphical way, or by inserting some conflict markers.
1936 merges, either in a graphical way, or by inserting some conflict markers.
1937 Mercurial does not include any interactive merge programs but relies on
1937 Mercurial does not include any interactive merge programs but relies on
1938 external tools for that.
1938 external tools for that.
1939
1939
1940 Available merge tools
1940 Available merge tools
1941 =====================
1941 =====================
1942
1942
1943 External merge tools and their properties are configured in the merge-
1943 External merge tools and their properties are configured in the merge-
1944 tools configuration section - see hgrc(5) - but they can often just be
1944 tools configuration section - see hgrc(5) - but they can often just be
1945 named by their executable.
1945 named by their executable.
1946
1946
1947 A merge tool is generally usable if its executable can be found on the
1947 A merge tool is generally usable if its executable can be found on the
1948 system and if it can handle the merge. The executable is found if it is an
1948 system and if it can handle the merge. The executable is found if it is an
1949 absolute or relative executable path or the name of an application in the
1949 absolute or relative executable path or the name of an application in the
1950 executable search path. The tool is assumed to be able to handle the merge
1950 executable search path. The tool is assumed to be able to handle the merge
1951 if it can handle symlinks if the file is a symlink, if it can handle
1951 if it can handle symlinks if the file is a symlink, if it can handle
1952 binary files if the file is binary, and if a GUI is available if the tool
1952 binary files if the file is binary, and if a GUI is available if the tool
1953 requires a GUI.
1953 requires a GUI.
1954
1954
1955 There are some internal merge tools which can be used. The internal merge
1955 There are some internal merge tools which can be used. The internal merge
1956 tools are:
1956 tools are:
1957
1957
1958 ":dump"
1958 ":dump"
1959 Creates three versions of the files to merge, containing the contents of
1959 Creates three versions of the files to merge, containing the contents of
1960 local, other and base. These files can then be used to perform a merge
1960 local, other and base. These files can then be used to perform a merge
1961 manually. If the file to be merged is named "a.txt", these files will
1961 manually. If the file to be merged is named "a.txt", these files will
1962 accordingly be named "a.txt.local", "a.txt.other" and "a.txt.base" and
1962 accordingly be named "a.txt.local", "a.txt.other" and "a.txt.base" and
1963 they will be placed in the same directory as "a.txt".
1963 they will be placed in the same directory as "a.txt".
1964
1964
1965 This implies premerge. Therefore, files aren't dumped, if premerge runs
1965 This implies premerge. Therefore, files aren't dumped, if premerge runs
1966 successfully. Use :forcedump to forcibly write files out.
1966 successfully. Use :forcedump to forcibly write files out.
1967
1967
1968 (actual capabilities: binary, symlink)
1968 (actual capabilities: binary, symlink)
1969
1969
1970 ":fail"
1970 ":fail"
1971 Rather than attempting to merge files that were modified on both
1971 Rather than attempting to merge files that were modified on both
1972 branches, it marks them as unresolved. The resolve command must be used
1972 branches, it marks them as unresolved. The resolve command must be used
1973 to resolve these conflicts.
1973 to resolve these conflicts.
1974
1974
1975 (actual capabilities: binary, symlink)
1975 (actual capabilities: binary, symlink)
1976
1976
1977 ":forcedump"
1977 ":forcedump"
1978 Creates three versions of the files as same as :dump, but omits
1978 Creates three versions of the files as same as :dump, but omits
1979 premerge.
1979 premerge.
1980
1980
1981 (actual capabilities: binary, symlink)
1981 (actual capabilities: binary, symlink)
1982
1982
1983 ":local"
1983 ":local"
1984 Uses the local 'p1()' version of files as the merged version.
1984 Uses the local 'p1()' version of files as the merged version.
1985
1985
1986 (actual capabilities: binary, symlink)
1986 (actual capabilities: binary, symlink)
1987
1987
1988 ":merge"
1988 ":merge"
1989 Uses the internal non-interactive simple merge algorithm for merging
1989 Uses the internal non-interactive simple merge algorithm for merging
1990 files. It will fail if there are any conflicts and leave markers in the
1990 files. It will fail if there are any conflicts and leave markers in the
1991 partially merged file. Markers will have two sections, one for each side
1991 partially merged file. Markers will have two sections, one for each side
1992 of merge.
1992 of merge.
1993
1993
1994 ":merge-local"
1994 ":merge-local"
1995 Like :merge, but resolve all conflicts non-interactively in favor of the
1995 Like :merge, but resolve all conflicts non-interactively in favor of the
1996 local 'p1()' changes.
1996 local 'p1()' changes.
1997
1997
1998 ":merge-other"
1998 ":merge-other"
1999 Like :merge, but resolve all conflicts non-interactively in favor of the
1999 Like :merge, but resolve all conflicts non-interactively in favor of the
2000 other 'p2()' changes.
2000 other 'p2()' changes.
2001
2001
2002 ":merge3"
2002 ":merge3"
2003 Uses the internal non-interactive simple merge algorithm for merging
2003 Uses the internal non-interactive simple merge algorithm for merging
2004 files. It will fail if there are any conflicts and leave markers in the
2004 files. It will fail if there are any conflicts and leave markers in the
2005 partially merged file. Marker will have three sections, one from each
2005 partially merged file. Marker will have three sections, one from each
2006 side of the merge and one for the base content.
2006 side of the merge and one for the base content.
2007
2007
2008 ":other"
2008 ":other"
2009 Uses the other 'p2()' version of files as the merged version.
2009 Uses the other 'p2()' version of files as the merged version.
2010
2010
2011 (actual capabilities: binary, symlink)
2011 (actual capabilities: binary, symlink)
2012
2012
2013 ":prompt"
2013 ":prompt"
2014 Asks the user which of the local 'p1()' or the other 'p2()' version to
2014 Asks the user which of the local 'p1()' or the other 'p2()' version to
2015 keep as the merged version.
2015 keep as the merged version.
2016
2016
2017 (actual capabilities: binary, symlink)
2017 (actual capabilities: binary, symlink)
2018
2018
2019 ":tagmerge"
2019 ":tagmerge"
2020 Uses the internal tag merge algorithm (experimental).
2020 Uses the internal tag merge algorithm (experimental).
2021
2021
2022 ":union"
2022 ":union"
2023 Uses the internal non-interactive simple merge algorithm for merging
2023 Uses the internal non-interactive simple merge algorithm for merging
2024 files. It will use both left and right sides for conflict regions. No
2024 files. It will use both left and right sides for conflict regions. No
2025 markers are inserted.
2025 markers are inserted.
2026
2026
2027 Internal tools are always available and do not require a GUI but will by
2027 Internal tools are always available and do not require a GUI but will by
2028 default not handle symlinks or binary files. See next section for detail
2028 default not handle symlinks or binary files. See next section for detail
2029 about "actual capabilities" described above.
2029 about "actual capabilities" described above.
2030
2030
2031 Choosing a merge tool
2031 Choosing a merge tool
2032 =====================
2032 =====================
2033
2033
2034 Mercurial uses these rules when deciding which merge tool to use:
2034 Mercurial uses these rules when deciding which merge tool to use:
2035
2035
2036 1. If a tool has been specified with the --tool option to merge or
2036 1. If a tool has been specified with the --tool option to merge or
2037 resolve, it is used. If it is the name of a tool in the merge-tools
2037 resolve, it is used. If it is the name of a tool in the merge-tools
2038 configuration, its configuration is used. Otherwise the specified tool
2038 configuration, its configuration is used. Otherwise the specified tool
2039 must be executable by the shell.
2039 must be executable by the shell.
2040 2. If the "HGMERGE" environment variable is present, its value is used and
2040 2. If the "HGMERGE" environment variable is present, its value is used and
2041 must be executable by the shell.
2041 must be executable by the shell.
2042 3. If the filename of the file to be merged matches any of the patterns in
2042 3. If the filename of the file to be merged matches any of the patterns in
2043 the merge-patterns configuration section, the first usable merge tool
2043 the merge-patterns configuration section, the first usable merge tool
2044 corresponding to a matching pattern is used.
2044 corresponding to a matching pattern is used.
2045 4. If ui.merge is set it will be considered next. If the value is not the
2045 4. If ui.merge is set it will be considered next. If the value is not the
2046 name of a configured tool, the specified value is used and must be
2046 name of a configured tool, the specified value is used and must be
2047 executable by the shell. Otherwise the named tool is used if it is
2047 executable by the shell. Otherwise the named tool is used if it is
2048 usable.
2048 usable.
2049 5. If any usable merge tools are present in the merge-tools configuration
2049 5. If any usable merge tools are present in the merge-tools configuration
2050 section, the one with the highest priority is used.
2050 section, the one with the highest priority is used.
2051 6. If a program named "hgmerge" can be found on the system, it is used -
2051 6. If a program named "hgmerge" can be found on the system, it is used -
2052 but it will by default not be used for symlinks and binary files.
2052 but it will by default not be used for symlinks and binary files.
2053 7. If the file to be merged is not binary and is not a symlink, then
2053 7. If the file to be merged is not binary and is not a symlink, then
2054 internal ":merge" is used.
2054 internal ":merge" is used.
2055 8. Otherwise, ":prompt" is used.
2055 8. Otherwise, ":prompt" is used.
2056
2056
2057 For historical reason, Mercurial treats merge tools as below while
2057 For historical reason, Mercurial treats merge tools as below while
2058 examining rules above.
2058 examining rules above.
2059
2059
2060 step specified via binary symlink
2060 step specified via binary symlink
2061 ----------------------------------
2061 ----------------------------------
2062 1. --tool o/o o/o
2062 1. --tool o/o o/o
2063 2. HGMERGE o/o o/o
2063 2. HGMERGE o/o o/o
2064 3. merge-patterns o/o(*) x/?(*)
2064 3. merge-patterns o/o(*) x/?(*)
2065 4. ui.merge x/?(*) x/?(*)
2065 4. ui.merge x/?(*) x/?(*)
2066
2066
2067 Each capability column indicates Mercurial behavior for internal/external
2067 Each capability column indicates Mercurial behavior for internal/external
2068 merge tools at examining each rule.
2068 merge tools at examining each rule.
2069
2069
2070 - "o": "assume that a tool has capability"
2070 - "o": "assume that a tool has capability"
2071 - "x": "assume that a tool does not have capability"
2071 - "x": "assume that a tool does not have capability"
2072 - "?": "check actual capability of a tool"
2072 - "?": "check actual capability of a tool"
2073
2073
2074 If "merge.strict-capability-check" configuration is true, Mercurial checks
2074 If "merge.strict-capability-check" configuration is true, Mercurial checks
2075 capabilities of merge tools strictly in (*) cases above (= each capability
2075 capabilities of merge tools strictly in (*) cases above (= each capability
2076 column becomes "?/?"). It is false by default for backward compatibility.
2076 column becomes "?/?"). It is false by default for backward compatibility.
2077
2077
2078 Note:
2078 Note:
2079 After selecting a merge program, Mercurial will by default attempt to
2079 After selecting a merge program, Mercurial will by default attempt to
2080 merge the files using a simple merge algorithm first. Only if it
2080 merge the files using a simple merge algorithm first. Only if it
2081 doesn't succeed because of conflicting changes will Mercurial actually
2081 doesn't succeed because of conflicting changes will Mercurial actually
2082 execute the merge program. Whether to use the simple merge algorithm
2082 execute the merge program. Whether to use the simple merge algorithm
2083 first can be controlled by the premerge setting of the merge tool.
2083 first can be controlled by the premerge setting of the merge tool.
2084 Premerge is enabled by default unless the file is binary or a symlink.
2084 Premerge is enabled by default unless the file is binary or a symlink.
2085
2085
2086 See the merge-tools and ui sections of hgrc(5) for details on the
2086 See the merge-tools and ui sections of hgrc(5) for details on the
2087 configuration of merge tools.
2087 configuration of merge tools.
2088
2088
2089 Compression engines listed in `hg help bundlespec`
2089 Compression engines listed in `hg help bundlespec`
2090
2090
2091 $ hg help bundlespec | grep gzip
2091 $ hg help bundlespec | grep gzip
2092 "v1" bundles can only use the "gzip", "bzip2", and "none" compression
2092 "v1" bundles can only use the "gzip", "bzip2", and "none" compression
2093 An algorithm that produces smaller bundles than "gzip".
2093 An algorithm that produces smaller bundles than "gzip".
2094 This engine will likely produce smaller bundles than "gzip" but will be
2094 This engine will likely produce smaller bundles than "gzip" but will be
2095 "gzip"
2095 "gzip"
2096 better compression than "gzip". It also frequently yields better (?)
2096 better compression than "gzip". It also frequently yields better (?)
2097
2097
2098 Test usage of section marks in help documents
2098 Test usage of section marks in help documents
2099
2099
2100 $ cd "$TESTDIR"/../doc
2100 $ cd "$TESTDIR"/../doc
2101 $ "$PYTHON" check-seclevel.py
2101 $ "$PYTHON" check-seclevel.py
2102 $ cd $TESTTMP
2102 $ cd $TESTTMP
2103
2103
2104 #if serve
2104 #if serve
2105
2105
2106 Test the help pages in hgweb.
2106 Test the help pages in hgweb.
2107
2107
2108 Dish up an empty repo; serve it cold.
2108 Dish up an empty repo; serve it cold.
2109
2109
2110 $ hg init "$TESTTMP/test"
2110 $ hg init "$TESTTMP/test"
2111 $ hg serve -R "$TESTTMP/test" -n test -p $HGPORT -d --pid-file=hg.pid
2111 $ hg serve -R "$TESTTMP/test" -n test -p $HGPORT -d --pid-file=hg.pid
2112 $ cat hg.pid >> $DAEMON_PIDS
2112 $ cat hg.pid >> $DAEMON_PIDS
2113
2113
2114 $ get-with-headers.py $LOCALIP:$HGPORT "help"
2114 $ get-with-headers.py $LOCALIP:$HGPORT "help"
2115 200 Script output follows
2115 200 Script output follows
2116
2116
2117 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
2117 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
2118 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
2118 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
2119 <head>
2119 <head>
2120 <link rel="icon" href="/static/hgicon.png" type="image/png" />
2120 <link rel="icon" href="/static/hgicon.png" type="image/png" />
2121 <meta name="robots" content="index, nofollow" />
2121 <meta name="robots" content="index, nofollow" />
2122 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
2122 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
2123 <script type="text/javascript" src="/static/mercurial.js"></script>
2123 <script type="text/javascript" src="/static/mercurial.js"></script>
2124
2124
2125 <title>Help: Index</title>
2125 <title>Help: Index</title>
2126 </head>
2126 </head>
2127 <body>
2127 <body>
2128
2128
2129 <div class="container">
2129 <div class="container">
2130 <div class="menu">
2130 <div class="menu">
2131 <div class="logo">
2131 <div class="logo">
2132 <a href="https://mercurial-scm.org/">
2132 <a href="https://mercurial-scm.org/">
2133 <img src="/static/hglogo.png" alt="mercurial" /></a>
2133 <img src="/static/hglogo.png" alt="mercurial" /></a>
2134 </div>
2134 </div>
2135 <ul>
2135 <ul>
2136 <li><a href="/shortlog">log</a></li>
2136 <li><a href="/shortlog">log</a></li>
2137 <li><a href="/graph">graph</a></li>
2137 <li><a href="/graph">graph</a></li>
2138 <li><a href="/tags">tags</a></li>
2138 <li><a href="/tags">tags</a></li>
2139 <li><a href="/bookmarks">bookmarks</a></li>
2139 <li><a href="/bookmarks">bookmarks</a></li>
2140 <li><a href="/branches">branches</a></li>
2140 <li><a href="/branches">branches</a></li>
2141 </ul>
2141 </ul>
2142 <ul>
2142 <ul>
2143 <li class="active">help</li>
2143 <li class="active">help</li>
2144 </ul>
2144 </ul>
2145 </div>
2145 </div>
2146
2146
2147 <div class="main">
2147 <div class="main">
2148 <h2 class="breadcrumb"><a href="/">Mercurial</a> </h2>
2148 <h2 class="breadcrumb"><a href="/">Mercurial</a> </h2>
2149
2149
2150 <form class="search" action="/log">
2150 <form class="search" action="/log">
2151
2151
2152 <p><input name="rev" id="search1" type="text" size="30" value="" /></p>
2152 <p><input name="rev" id="search1" type="text" size="30" value="" /></p>
2153 <div id="hint">Find changesets by keywords (author, files, the commit message), revision
2153 <div id="hint">Find changesets by keywords (author, files, the commit message), revision
2154 number or hash, or <a href="/help/revsets">revset expression</a>.</div>
2154 number or hash, or <a href="/help/revsets">revset expression</a>.</div>
2155 </form>
2155 </form>
2156 <table class="bigtable">
2156 <table class="bigtable">
2157 <tr><td colspan="2"><h2><a name="topics" href="#topics">Topics</a></h2></td></tr>
2157 <tr><td colspan="2"><h2><a name="topics" href="#topics">Topics</a></h2></td></tr>
2158
2158
2159 <tr><td>
2159 <tr><td>
2160 <a href="/help/bundlespec">
2160 <a href="/help/bundlespec">
2161 bundlespec
2161 bundlespec
2162 </a>
2162 </a>
2163 </td><td>
2163 </td><td>
2164 Bundle File Formats
2164 Bundle File Formats
2165 </td></tr>
2165 </td></tr>
2166 <tr><td>
2166 <tr><td>
2167 <a href="/help/color">
2167 <a href="/help/color">
2168 color
2168 color
2169 </a>
2169 </a>
2170 </td><td>
2170 </td><td>
2171 Colorizing Outputs
2171 Colorizing Outputs
2172 </td></tr>
2172 </td></tr>
2173 <tr><td>
2173 <tr><td>
2174 <a href="/help/config">
2174 <a href="/help/config">
2175 config
2175 config
2176 </a>
2176 </a>
2177 </td><td>
2177 </td><td>
2178 Configuration Files
2178 Configuration Files
2179 </td></tr>
2179 </td></tr>
2180 <tr><td>
2180 <tr><td>
2181 <a href="/help/dates">
2181 <a href="/help/dates">
2182 dates
2182 dates
2183 </a>
2183 </a>
2184 </td><td>
2184 </td><td>
2185 Date Formats
2185 Date Formats
2186 </td></tr>
2186 </td></tr>
2187 <tr><td>
2187 <tr><td>
2188 <a href="/help/deprecated">
2188 <a href="/help/deprecated">
2189 deprecated
2189 deprecated
2190 </a>
2190 </a>
2191 </td><td>
2191 </td><td>
2192 Deprecated Features
2192 Deprecated Features
2193 </td></tr>
2193 </td></tr>
2194 <tr><td>
2194 <tr><td>
2195 <a href="/help/diffs">
2195 <a href="/help/diffs">
2196 diffs
2196 diffs
2197 </a>
2197 </a>
2198 </td><td>
2198 </td><td>
2199 Diff Formats
2199 Diff Formats
2200 </td></tr>
2200 </td></tr>
2201 <tr><td>
2201 <tr><td>
2202 <a href="/help/environment">
2202 <a href="/help/environment">
2203 environment
2203 environment
2204 </a>
2204 </a>
2205 </td><td>
2205 </td><td>
2206 Environment Variables
2206 Environment Variables
2207 </td></tr>
2207 </td></tr>
2208 <tr><td>
2208 <tr><td>
2209 <a href="/help/extensions">
2209 <a href="/help/extensions">
2210 extensions
2210 extensions
2211 </a>
2211 </a>
2212 </td><td>
2212 </td><td>
2213 Using Additional Features
2213 Using Additional Features
2214 </td></tr>
2214 </td></tr>
2215 <tr><td>
2215 <tr><td>
2216 <a href="/help/filesets">
2216 <a href="/help/filesets">
2217 filesets
2217 filesets
2218 </a>
2218 </a>
2219 </td><td>
2219 </td><td>
2220 Specifying File Sets
2220 Specifying File Sets
2221 </td></tr>
2221 </td></tr>
2222 <tr><td>
2222 <tr><td>
2223 <a href="/help/flags">
2223 <a href="/help/flags">
2224 flags
2224 flags
2225 </a>
2225 </a>
2226 </td><td>
2226 </td><td>
2227 Command-line flags
2227 Command-line flags
2228 </td></tr>
2228 </td></tr>
2229 <tr><td>
2229 <tr><td>
2230 <a href="/help/glossary">
2230 <a href="/help/glossary">
2231 glossary
2231 glossary
2232 </a>
2232 </a>
2233 </td><td>
2233 </td><td>
2234 Glossary
2234 Glossary
2235 </td></tr>
2235 </td></tr>
2236 <tr><td>
2236 <tr><td>
2237 <a href="/help/hgignore">
2237 <a href="/help/hgignore">
2238 hgignore
2238 hgignore
2239 </a>
2239 </a>
2240 </td><td>
2240 </td><td>
2241 Syntax for Mercurial Ignore Files
2241 Syntax for Mercurial Ignore Files
2242 </td></tr>
2242 </td></tr>
2243 <tr><td>
2243 <tr><td>
2244 <a href="/help/hgweb">
2244 <a href="/help/hgweb">
2245 hgweb
2245 hgweb
2246 </a>
2246 </a>
2247 </td><td>
2247 </td><td>
2248 Configuring hgweb
2248 Configuring hgweb
2249 </td></tr>
2249 </td></tr>
2250 <tr><td>
2250 <tr><td>
2251 <a href="/help/internals">
2251 <a href="/help/internals">
2252 internals
2252 internals
2253 </a>
2253 </a>
2254 </td><td>
2254 </td><td>
2255 Technical implementation topics
2255 Technical implementation topics
2256 </td></tr>
2256 </td></tr>
2257 <tr><td>
2257 <tr><td>
2258 <a href="/help/merge-tools">
2258 <a href="/help/merge-tools">
2259 merge-tools
2259 merge-tools
2260 </a>
2260 </a>
2261 </td><td>
2261 </td><td>
2262 Merge Tools
2262 Merge Tools
2263 </td></tr>
2263 </td></tr>
2264 <tr><td>
2264 <tr><td>
2265 <a href="/help/pager">
2265 <a href="/help/pager">
2266 pager
2266 pager
2267 </a>
2267 </a>
2268 </td><td>
2268 </td><td>
2269 Pager Support
2269 Pager Support
2270 </td></tr>
2270 </td></tr>
2271 <tr><td>
2271 <tr><td>
2272 <a href="/help/patterns">
2272 <a href="/help/patterns">
2273 patterns
2273 patterns
2274 </a>
2274 </a>
2275 </td><td>
2275 </td><td>
2276 File Name Patterns
2276 File Name Patterns
2277 </td></tr>
2277 </td></tr>
2278 <tr><td>
2278 <tr><td>
2279 <a href="/help/phases">
2279 <a href="/help/phases">
2280 phases
2280 phases
2281 </a>
2281 </a>
2282 </td><td>
2282 </td><td>
2283 Working with Phases
2283 Working with Phases
2284 </td></tr>
2284 </td></tr>
2285 <tr><td>
2285 <tr><td>
2286 <a href="/help/revisions">
2286 <a href="/help/revisions">
2287 revisions
2287 revisions
2288 </a>
2288 </a>
2289 </td><td>
2289 </td><td>
2290 Specifying Revisions
2290 Specifying Revisions
2291 </td></tr>
2291 </td></tr>
2292 <tr><td>
2292 <tr><td>
2293 <a href="/help/scripting">
2293 <a href="/help/scripting">
2294 scripting
2294 scripting
2295 </a>
2295 </a>
2296 </td><td>
2296 </td><td>
2297 Using Mercurial from scripts and automation
2297 Using Mercurial from scripts and automation
2298 </td></tr>
2298 </td></tr>
2299 <tr><td>
2299 <tr><td>
2300 <a href="/help/subrepos">
2300 <a href="/help/subrepos">
2301 subrepos
2301 subrepos
2302 </a>
2302 </a>
2303 </td><td>
2303 </td><td>
2304 Subrepositories
2304 Subrepositories
2305 </td></tr>
2305 </td></tr>
2306 <tr><td>
2306 <tr><td>
2307 <a href="/help/templating">
2307 <a href="/help/templating">
2308 templating
2308 templating
2309 </a>
2309 </a>
2310 </td><td>
2310 </td><td>
2311 Template Usage
2311 Template Usage
2312 </td></tr>
2312 </td></tr>
2313 <tr><td>
2313 <tr><td>
2314 <a href="/help/urls">
2314 <a href="/help/urls">
2315 urls
2315 urls
2316 </a>
2316 </a>
2317 </td><td>
2317 </td><td>
2318 URL Paths
2318 URL Paths
2319 </td></tr>
2319 </td></tr>
2320 <tr><td>
2320 <tr><td>
2321 <a href="/help/topic-containing-verbose">
2321 <a href="/help/topic-containing-verbose">
2322 topic-containing-verbose
2322 topic-containing-verbose
2323 </a>
2323 </a>
2324 </td><td>
2324 </td><td>
2325 This is the topic to test omit indicating.
2325 This is the topic to test omit indicating.
2326 </td></tr>
2326 </td></tr>
2327
2327
2328
2328
2329 <tr><td colspan="2"><h2><a name="main" href="#main">Main Commands</a></h2></td></tr>
2329 <tr><td colspan="2"><h2><a name="main" href="#main">Main Commands</a></h2></td></tr>
2330
2330
2331 <tr><td>
2331 <tr><td>
2332 <a href="/help/add">
2332 <a href="/help/add">
2333 add
2333 add
2334 </a>
2334 </a>
2335 </td><td>
2335 </td><td>
2336 add the specified files on the next commit
2336 add the specified files on the next commit
2337 </td></tr>
2337 </td></tr>
2338 <tr><td>
2338 <tr><td>
2339 <a href="/help/annotate">
2339 <a href="/help/annotate">
2340 annotate
2340 annotate
2341 </a>
2341 </a>
2342 </td><td>
2342 </td><td>
2343 show changeset information by line for each file
2343 show changeset information by line for each file
2344 </td></tr>
2344 </td></tr>
2345 <tr><td>
2345 <tr><td>
2346 <a href="/help/clone">
2346 <a href="/help/clone">
2347 clone
2347 clone
2348 </a>
2348 </a>
2349 </td><td>
2349 </td><td>
2350 make a copy of an existing repository
2350 make a copy of an existing repository
2351 </td></tr>
2351 </td></tr>
2352 <tr><td>
2352 <tr><td>
2353 <a href="/help/commit">
2353 <a href="/help/commit">
2354 commit
2354 commit
2355 </a>
2355 </a>
2356 </td><td>
2356 </td><td>
2357 commit the specified files or all outstanding changes
2357 commit the specified files or all outstanding changes
2358 </td></tr>
2358 </td></tr>
2359 <tr><td>
2359 <tr><td>
2360 <a href="/help/diff">
2360 <a href="/help/diff">
2361 diff
2361 diff
2362 </a>
2362 </a>
2363 </td><td>
2363 </td><td>
2364 diff repository (or selected files)
2364 diff repository (or selected files)
2365 </td></tr>
2365 </td></tr>
2366 <tr><td>
2366 <tr><td>
2367 <a href="/help/export">
2367 <a href="/help/export">
2368 export
2368 export
2369 </a>
2369 </a>
2370 </td><td>
2370 </td><td>
2371 dump the header and diffs for one or more changesets
2371 dump the header and diffs for one or more changesets
2372 </td></tr>
2372 </td></tr>
2373 <tr><td>
2373 <tr><td>
2374 <a href="/help/forget">
2374 <a href="/help/forget">
2375 forget
2375 forget
2376 </a>
2376 </a>
2377 </td><td>
2377 </td><td>
2378 forget the specified files on the next commit
2378 forget the specified files on the next commit
2379 </td></tr>
2379 </td></tr>
2380 <tr><td>
2380 <tr><td>
2381 <a href="/help/init">
2381 <a href="/help/init">
2382 init
2382 init
2383 </a>
2383 </a>
2384 </td><td>
2384 </td><td>
2385 create a new repository in the given directory
2385 create a new repository in the given directory
2386 </td></tr>
2386 </td></tr>
2387 <tr><td>
2387 <tr><td>
2388 <a href="/help/log">
2388 <a href="/help/log">
2389 log
2389 log
2390 </a>
2390 </a>
2391 </td><td>
2391 </td><td>
2392 show revision history of entire repository or files
2392 show revision history of entire repository or files
2393 </td></tr>
2393 </td></tr>
2394 <tr><td>
2394 <tr><td>
2395 <a href="/help/merge">
2395 <a href="/help/merge">
2396 merge
2396 merge
2397 </a>
2397 </a>
2398 </td><td>
2398 </td><td>
2399 merge another revision into working directory
2399 merge another revision into working directory
2400 </td></tr>
2400 </td></tr>
2401 <tr><td>
2401 <tr><td>
2402 <a href="/help/pull">
2402 <a href="/help/pull">
2403 pull
2403 pull
2404 </a>
2404 </a>
2405 </td><td>
2405 </td><td>
2406 pull changes from the specified source
2406 pull changes from the specified source
2407 </td></tr>
2407 </td></tr>
2408 <tr><td>
2408 <tr><td>
2409 <a href="/help/push">
2409 <a href="/help/push">
2410 push
2410 push
2411 </a>
2411 </a>
2412 </td><td>
2412 </td><td>
2413 push changes to the specified destination
2413 push changes to the specified destination
2414 </td></tr>
2414 </td></tr>
2415 <tr><td>
2415 <tr><td>
2416 <a href="/help/remove">
2416 <a href="/help/remove">
2417 remove
2417 remove
2418 </a>
2418 </a>
2419 </td><td>
2419 </td><td>
2420 remove the specified files on the next commit
2420 remove the specified files on the next commit
2421 </td></tr>
2421 </td></tr>
2422 <tr><td>
2422 <tr><td>
2423 <a href="/help/serve">
2423 <a href="/help/serve">
2424 serve
2424 serve
2425 </a>
2425 </a>
2426 </td><td>
2426 </td><td>
2427 start stand-alone webserver
2427 start stand-alone webserver
2428 </td></tr>
2428 </td></tr>
2429 <tr><td>
2429 <tr><td>
2430 <a href="/help/status">
2430 <a href="/help/status">
2431 status
2431 status
2432 </a>
2432 </a>
2433 </td><td>
2433 </td><td>
2434 show changed files in the working directory
2434 show changed files in the working directory
2435 </td></tr>
2435 </td></tr>
2436 <tr><td>
2436 <tr><td>
2437 <a href="/help/summary">
2437 <a href="/help/summary">
2438 summary
2438 summary
2439 </a>
2439 </a>
2440 </td><td>
2440 </td><td>
2441 summarize working directory state
2441 summarize working directory state
2442 </td></tr>
2442 </td></tr>
2443 <tr><td>
2443 <tr><td>
2444 <a href="/help/update">
2444 <a href="/help/update">
2445 update
2445 update
2446 </a>
2446 </a>
2447 </td><td>
2447 </td><td>
2448 update working directory (or switch revisions)
2448 update working directory (or switch revisions)
2449 </td></tr>
2449 </td></tr>
2450
2450
2451
2451
2452
2452
2453 <tr><td colspan="2"><h2><a name="other" href="#other">Other Commands</a></h2></td></tr>
2453 <tr><td colspan="2"><h2><a name="other" href="#other">Other Commands</a></h2></td></tr>
2454
2454
2455 <tr><td>
2455 <tr><td>
2456 <a href="/help/addremove">
2456 <a href="/help/addremove">
2457 addremove
2457 addremove
2458 </a>
2458 </a>
2459 </td><td>
2459 </td><td>
2460 add all new files, delete all missing files
2460 add all new files, delete all missing files
2461 </td></tr>
2461 </td></tr>
2462 <tr><td>
2462 <tr><td>
2463 <a href="/help/archive">
2463 <a href="/help/archive">
2464 archive
2464 archive
2465 </a>
2465 </a>
2466 </td><td>
2466 </td><td>
2467 create an unversioned archive of a repository revision
2467 create an unversioned archive of a repository revision
2468 </td></tr>
2468 </td></tr>
2469 <tr><td>
2469 <tr><td>
2470 <a href="/help/backout">
2470 <a href="/help/backout">
2471 backout
2471 backout
2472 </a>
2472 </a>
2473 </td><td>
2473 </td><td>
2474 reverse effect of earlier changeset
2474 reverse effect of earlier changeset
2475 </td></tr>
2475 </td></tr>
2476 <tr><td>
2476 <tr><td>
2477 <a href="/help/bisect">
2477 <a href="/help/bisect">
2478 bisect
2478 bisect
2479 </a>
2479 </a>
2480 </td><td>
2480 </td><td>
2481 subdivision search of changesets
2481 subdivision search of changesets
2482 </td></tr>
2482 </td></tr>
2483 <tr><td>
2483 <tr><td>
2484 <a href="/help/bookmarks">
2484 <a href="/help/bookmarks">
2485 bookmarks
2485 bookmarks
2486 </a>
2486 </a>
2487 </td><td>
2487 </td><td>
2488 create a new bookmark or list existing bookmarks
2488 create a new bookmark or list existing bookmarks
2489 </td></tr>
2489 </td></tr>
2490 <tr><td>
2490 <tr><td>
2491 <a href="/help/branch">
2491 <a href="/help/branch">
2492 branch
2492 branch
2493 </a>
2493 </a>
2494 </td><td>
2494 </td><td>
2495 set or show the current branch name
2495 set or show the current branch name
2496 </td></tr>
2496 </td></tr>
2497 <tr><td>
2497 <tr><td>
2498 <a href="/help/branches">
2498 <a href="/help/branches">
2499 branches
2499 branches
2500 </a>
2500 </a>
2501 </td><td>
2501 </td><td>
2502 list repository named branches
2502 list repository named branches
2503 </td></tr>
2503 </td></tr>
2504 <tr><td>
2504 <tr><td>
2505 <a href="/help/bundle">
2505 <a href="/help/bundle">
2506 bundle
2506 bundle
2507 </a>
2507 </a>
2508 </td><td>
2508 </td><td>
2509 create a bundle file
2509 create a bundle file
2510 </td></tr>
2510 </td></tr>
2511 <tr><td>
2511 <tr><td>
2512 <a href="/help/cat">
2512 <a href="/help/cat">
2513 cat
2513 cat
2514 </a>
2514 </a>
2515 </td><td>
2515 </td><td>
2516 output the current or given revision of files
2516 output the current or given revision of files
2517 </td></tr>
2517 </td></tr>
2518 <tr><td>
2518 <tr><td>
2519 <a href="/help/config">
2519 <a href="/help/config">
2520 config
2520 config
2521 </a>
2521 </a>
2522 </td><td>
2522 </td><td>
2523 show combined config settings from all hgrc files
2523 show combined config settings from all hgrc files
2524 </td></tr>
2524 </td></tr>
2525 <tr><td>
2525 <tr><td>
2526 <a href="/help/copy">
2526 <a href="/help/copy">
2527 copy
2527 copy
2528 </a>
2528 </a>
2529 </td><td>
2529 </td><td>
2530 mark files as copied for the next commit
2530 mark files as copied for the next commit
2531 </td></tr>
2531 </td></tr>
2532 <tr><td>
2532 <tr><td>
2533 <a href="/help/files">
2533 <a href="/help/files">
2534 files
2534 files
2535 </a>
2535 </a>
2536 </td><td>
2536 </td><td>
2537 list tracked files
2537 list tracked files
2538 </td></tr>
2538 </td></tr>
2539 <tr><td>
2539 <tr><td>
2540 <a href="/help/graft">
2540 <a href="/help/graft">
2541 graft
2541 graft
2542 </a>
2542 </a>
2543 </td><td>
2543 </td><td>
2544 copy changes from other branches onto the current branch
2544 copy changes from other branches onto the current branch
2545 </td></tr>
2545 </td></tr>
2546 <tr><td>
2546 <tr><td>
2547 <a href="/help/grep">
2547 <a href="/help/grep">
2548 grep
2548 grep
2549 </a>
2549 </a>
2550 </td><td>
2550 </td><td>
2551 search revision history for a pattern in specified files
2551 search revision history for a pattern in specified files
2552 </td></tr>
2552 </td></tr>
2553 <tr><td>
2553 <tr><td>
2554 <a href="/help/hashelp">
2554 <a href="/help/hashelp">
2555 hashelp
2555 hashelp
2556 </a>
2556 </a>
2557 </td><td>
2557 </td><td>
2558 Extension command's help
2558 Extension command's help
2559 </td></tr>
2559 </td></tr>
2560 <tr><td>
2560 <tr><td>
2561 <a href="/help/heads">
2561 <a href="/help/heads">
2562 heads
2562 heads
2563 </a>
2563 </a>
2564 </td><td>
2564 </td><td>
2565 show branch heads
2565 show branch heads
2566 </td></tr>
2566 </td></tr>
2567 <tr><td>
2567 <tr><td>
2568 <a href="/help/help">
2568 <a href="/help/help">
2569 help
2569 help
2570 </a>
2570 </a>
2571 </td><td>
2571 </td><td>
2572 show help for a given topic or a help overview
2572 show help for a given topic or a help overview
2573 </td></tr>
2573 </td></tr>
2574 <tr><td>
2574 <tr><td>
2575 <a href="/help/hgalias">
2575 <a href="/help/hgalias">
2576 hgalias
2576 hgalias
2577 </a>
2577 </a>
2578 </td><td>
2578 </td><td>
2579 My doc
2579 My doc
2580 </td></tr>
2580 </td></tr>
2581 <tr><td>
2581 <tr><td>
2582 <a href="/help/hgaliasnodoc">
2582 <a href="/help/hgaliasnodoc">
2583 hgaliasnodoc
2583 hgaliasnodoc
2584 </a>
2584 </a>
2585 </td><td>
2585 </td><td>
2586 summarize working directory state
2586 summarize working directory state
2587 </td></tr>
2587 </td></tr>
2588 <tr><td>
2588 <tr><td>
2589 <a href="/help/identify">
2589 <a href="/help/identify">
2590 identify
2590 identify
2591 </a>
2591 </a>
2592 </td><td>
2592 </td><td>
2593 identify the working directory or specified revision
2593 identify the working directory or specified revision
2594 </td></tr>
2594 </td></tr>
2595 <tr><td>
2595 <tr><td>
2596 <a href="/help/import">
2596 <a href="/help/import">
2597 import
2597 import
2598 </a>
2598 </a>
2599 </td><td>
2599 </td><td>
2600 import an ordered set of patches
2600 import an ordered set of patches
2601 </td></tr>
2601 </td></tr>
2602 <tr><td>
2602 <tr><td>
2603 <a href="/help/incoming">
2603 <a href="/help/incoming">
2604 incoming
2604 incoming
2605 </a>
2605 </a>
2606 </td><td>
2606 </td><td>
2607 show new changesets found in source
2607 show new changesets found in source
2608 </td></tr>
2608 </td></tr>
2609 <tr><td>
2609 <tr><td>
2610 <a href="/help/manifest">
2610 <a href="/help/manifest">
2611 manifest
2611 manifest
2612 </a>
2612 </a>
2613 </td><td>
2613 </td><td>
2614 output the current or given revision of the project manifest
2614 output the current or given revision of the project manifest
2615 </td></tr>
2615 </td></tr>
2616 <tr><td>
2616 <tr><td>
2617 <a href="/help/nohelp">
2617 <a href="/help/nohelp">
2618 nohelp
2618 nohelp
2619 </a>
2619 </a>
2620 </td><td>
2620 </td><td>
2621 (no help text available)
2621 (no help text available)
2622 </td></tr>
2622 </td></tr>
2623 <tr><td>
2623 <tr><td>
2624 <a href="/help/outgoing">
2624 <a href="/help/outgoing">
2625 outgoing
2625 outgoing
2626 </a>
2626 </a>
2627 </td><td>
2627 </td><td>
2628 show changesets not found in the destination
2628 show changesets not found in the destination
2629 </td></tr>
2629 </td></tr>
2630 <tr><td>
2630 <tr><td>
2631 <a href="/help/paths">
2631 <a href="/help/paths">
2632 paths
2632 paths
2633 </a>
2633 </a>
2634 </td><td>
2634 </td><td>
2635 show aliases for remote repositories
2635 show aliases for remote repositories
2636 </td></tr>
2636 </td></tr>
2637 <tr><td>
2637 <tr><td>
2638 <a href="/help/phase">
2638 <a href="/help/phase">
2639 phase
2639 phase
2640 </a>
2640 </a>
2641 </td><td>
2641 </td><td>
2642 set or show the current phase name
2642 set or show the current phase name
2643 </td></tr>
2643 </td></tr>
2644 <tr><td>
2644 <tr><td>
2645 <a href="/help/recover">
2645 <a href="/help/recover">
2646 recover
2646 recover
2647 </a>
2647 </a>
2648 </td><td>
2648 </td><td>
2649 roll back an interrupted transaction
2649 roll back an interrupted transaction
2650 </td></tr>
2650 </td></tr>
2651 <tr><td>
2651 <tr><td>
2652 <a href="/help/rename">
2652 <a href="/help/rename">
2653 rename
2653 rename
2654 </a>
2654 </a>
2655 </td><td>
2655 </td><td>
2656 rename files; equivalent of copy + remove
2656 rename files; equivalent of copy + remove
2657 </td></tr>
2657 </td></tr>
2658 <tr><td>
2658 <tr><td>
2659 <a href="/help/resolve">
2659 <a href="/help/resolve">
2660 resolve
2660 resolve
2661 </a>
2661 </a>
2662 </td><td>
2662 </td><td>
2663 redo merges or set/view the merge status of files
2663 redo merges or set/view the merge status of files
2664 </td></tr>
2664 </td></tr>
2665 <tr><td>
2665 <tr><td>
2666 <a href="/help/revert">
2666 <a href="/help/revert">
2667 revert
2667 revert
2668 </a>
2668 </a>
2669 </td><td>
2669 </td><td>
2670 restore files to their checkout state
2670 restore files to their checkout state
2671 </td></tr>
2671 </td></tr>
2672 <tr><td>
2672 <tr><td>
2673 <a href="/help/root">
2673 <a href="/help/root">
2674 root
2674 root
2675 </a>
2675 </a>
2676 </td><td>
2676 </td><td>
2677 print the root (top) of the current working directory
2677 print the root (top) of the current working directory
2678 </td></tr>
2678 </td></tr>
2679 <tr><td>
2679 <tr><td>
2680 <a href="/help/shellalias">
2680 <a href="/help/shellalias">
2681 shellalias
2681 shellalias
2682 </a>
2682 </a>
2683 </td><td>
2683 </td><td>
2684 (no help text available)
2684 (no help text available)
2685 </td></tr>
2685 </td></tr>
2686 <tr><td>
2686 <tr><td>
2687 <a href="/help/tag">
2687 <a href="/help/tag">
2688 tag
2688 tag
2689 </a>
2689 </a>
2690 </td><td>
2690 </td><td>
2691 add one or more tags for the current or given revision
2691 add one or more tags for the current or given revision
2692 </td></tr>
2692 </td></tr>
2693 <tr><td>
2693 <tr><td>
2694 <a href="/help/tags">
2694 <a href="/help/tags">
2695 tags
2695 tags
2696 </a>
2696 </a>
2697 </td><td>
2697 </td><td>
2698 list repository tags
2698 list repository tags
2699 </td></tr>
2699 </td></tr>
2700 <tr><td>
2700 <tr><td>
2701 <a href="/help/unbundle">
2701 <a href="/help/unbundle">
2702 unbundle
2702 unbundle
2703 </a>
2703 </a>
2704 </td><td>
2704 </td><td>
2705 apply one or more bundle files
2705 apply one or more bundle files
2706 </td></tr>
2706 </td></tr>
2707 <tr><td>
2707 <tr><td>
2708 <a href="/help/verify">
2708 <a href="/help/verify">
2709 verify
2709 verify
2710 </a>
2710 </a>
2711 </td><td>
2711 </td><td>
2712 verify the integrity of the repository
2712 verify the integrity of the repository
2713 </td></tr>
2713 </td></tr>
2714 <tr><td>
2714 <tr><td>
2715 <a href="/help/version">
2715 <a href="/help/version">
2716 version
2716 version
2717 </a>
2717 </a>
2718 </td><td>
2718 </td><td>
2719 output version and copyright information
2719 output version and copyright information
2720 </td></tr>
2720 </td></tr>
2721
2721
2722
2722
2723 </table>
2723 </table>
2724 </div>
2724 </div>
2725 </div>
2725 </div>
2726
2726
2727
2727
2728
2728
2729 </body>
2729 </body>
2730 </html>
2730 </html>
2731
2731
2732
2732
2733 $ get-with-headers.py $LOCALIP:$HGPORT "help/add"
2733 $ get-with-headers.py $LOCALIP:$HGPORT "help/add"
2734 200 Script output follows
2734 200 Script output follows
2735
2735
2736 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
2736 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
2737 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
2737 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
2738 <head>
2738 <head>
2739 <link rel="icon" href="/static/hgicon.png" type="image/png" />
2739 <link rel="icon" href="/static/hgicon.png" type="image/png" />
2740 <meta name="robots" content="index, nofollow" />
2740 <meta name="robots" content="index, nofollow" />
2741 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
2741 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
2742 <script type="text/javascript" src="/static/mercurial.js"></script>
2742 <script type="text/javascript" src="/static/mercurial.js"></script>
2743
2743
2744 <title>Help: add</title>
2744 <title>Help: add</title>
2745 </head>
2745 </head>
2746 <body>
2746 <body>
2747
2747
2748 <div class="container">
2748 <div class="container">
2749 <div class="menu">
2749 <div class="menu">
2750 <div class="logo">
2750 <div class="logo">
2751 <a href="https://mercurial-scm.org/">
2751 <a href="https://mercurial-scm.org/">
2752 <img src="/static/hglogo.png" alt="mercurial" /></a>
2752 <img src="/static/hglogo.png" alt="mercurial" /></a>
2753 </div>
2753 </div>
2754 <ul>
2754 <ul>
2755 <li><a href="/shortlog">log</a></li>
2755 <li><a href="/shortlog">log</a></li>
2756 <li><a href="/graph">graph</a></li>
2756 <li><a href="/graph">graph</a></li>
2757 <li><a href="/tags">tags</a></li>
2757 <li><a href="/tags">tags</a></li>
2758 <li><a href="/bookmarks">bookmarks</a></li>
2758 <li><a href="/bookmarks">bookmarks</a></li>
2759 <li><a href="/branches">branches</a></li>
2759 <li><a href="/branches">branches</a></li>
2760 </ul>
2760 </ul>
2761 <ul>
2761 <ul>
2762 <li class="active"><a href="/help">help</a></li>
2762 <li class="active"><a href="/help">help</a></li>
2763 </ul>
2763 </ul>
2764 </div>
2764 </div>
2765
2765
2766 <div class="main">
2766 <div class="main">
2767 <h2 class="breadcrumb"><a href="/">Mercurial</a> </h2>
2767 <h2 class="breadcrumb"><a href="/">Mercurial</a> </h2>
2768 <h3>Help: add</h3>
2768 <h3>Help: add</h3>
2769
2769
2770 <form class="search" action="/log">
2770 <form class="search" action="/log">
2771
2771
2772 <p><input name="rev" id="search1" type="text" size="30" value="" /></p>
2772 <p><input name="rev" id="search1" type="text" size="30" value="" /></p>
2773 <div id="hint">Find changesets by keywords (author, files, the commit message), revision
2773 <div id="hint">Find changesets by keywords (author, files, the commit message), revision
2774 number or hash, or <a href="/help/revsets">revset expression</a>.</div>
2774 number or hash, or <a href="/help/revsets">revset expression</a>.</div>
2775 </form>
2775 </form>
2776 <div id="doc">
2776 <div id="doc">
2777 <p>
2777 <p>
2778 hg add [OPTION]... [FILE]...
2778 hg add [OPTION]... [FILE]...
2779 </p>
2779 </p>
2780 <p>
2780 <p>
2781 add the specified files on the next commit
2781 add the specified files on the next commit
2782 </p>
2782 </p>
2783 <p>
2783 <p>
2784 Schedule files to be version controlled and added to the
2784 Schedule files to be version controlled and added to the
2785 repository.
2785 repository.
2786 </p>
2786 </p>
2787 <p>
2787 <p>
2788 The files will be added to the repository at the next commit. To
2788 The files will be added to the repository at the next commit. To
2789 undo an add before that, see 'hg forget'.
2789 undo an add before that, see 'hg forget'.
2790 </p>
2790 </p>
2791 <p>
2791 <p>
2792 If no names are given, add all files to the repository (except
2792 If no names are given, add all files to the repository (except
2793 files matching &quot;.hgignore&quot;).
2793 files matching &quot;.hgignore&quot;).
2794 </p>
2794 </p>
2795 <p>
2795 <p>
2796 Examples:
2796 Examples:
2797 </p>
2797 </p>
2798 <ul>
2798 <ul>
2799 <li> New (unknown) files are added automatically by 'hg add':
2799 <li> New (unknown) files are added automatically by 'hg add':
2800 <pre>
2800 <pre>
2801 \$ ls (re)
2801 \$ ls (re)
2802 foo.c
2802 foo.c
2803 \$ hg status (re)
2803 \$ hg status (re)
2804 ? foo.c
2804 ? foo.c
2805 \$ hg add (re)
2805 \$ hg add (re)
2806 adding foo.c
2806 adding foo.c
2807 \$ hg status (re)
2807 \$ hg status (re)
2808 A foo.c
2808 A foo.c
2809 </pre>
2809 </pre>
2810 <li> Specific files to be added can be specified:
2810 <li> Specific files to be added can be specified:
2811 <pre>
2811 <pre>
2812 \$ ls (re)
2812 \$ ls (re)
2813 bar.c foo.c
2813 bar.c foo.c
2814 \$ hg status (re)
2814 \$ hg status (re)
2815 ? bar.c
2815 ? bar.c
2816 ? foo.c
2816 ? foo.c
2817 \$ hg add bar.c (re)
2817 \$ hg add bar.c (re)
2818 \$ hg status (re)
2818 \$ hg status (re)
2819 A bar.c
2819 A bar.c
2820 ? foo.c
2820 ? foo.c
2821 </pre>
2821 </pre>
2822 </ul>
2822 </ul>
2823 <p>
2823 <p>
2824 Returns 0 if all files are successfully added.
2824 Returns 0 if all files are successfully added.
2825 </p>
2825 </p>
2826 <p>
2826 <p>
2827 options ([+] can be repeated):
2827 options ([+] can be repeated):
2828 </p>
2828 </p>
2829 <table>
2829 <table>
2830 <tr><td>-I</td>
2830 <tr><td>-I</td>
2831 <td>--include PATTERN [+]</td>
2831 <td>--include PATTERN [+]</td>
2832 <td>include names matching the given patterns</td></tr>
2832 <td>include names matching the given patterns</td></tr>
2833 <tr><td>-X</td>
2833 <tr><td>-X</td>
2834 <td>--exclude PATTERN [+]</td>
2834 <td>--exclude PATTERN [+]</td>
2835 <td>exclude names matching the given patterns</td></tr>
2835 <td>exclude names matching the given patterns</td></tr>
2836 <tr><td>-S</td>
2836 <tr><td>-S</td>
2837 <td>--subrepos</td>
2837 <td>--subrepos</td>
2838 <td>recurse into subrepositories</td></tr>
2838 <td>recurse into subrepositories</td></tr>
2839 <tr><td>-n</td>
2839 <tr><td>-n</td>
2840 <td>--dry-run</td>
2840 <td>--dry-run</td>
2841 <td>do not perform actions, just print output</td></tr>
2841 <td>do not perform actions, just print output</td></tr>
2842 </table>
2842 </table>
2843 <p>
2843 <p>
2844 global options ([+] can be repeated):
2844 global options ([+] can be repeated):
2845 </p>
2845 </p>
2846 <table>
2846 <table>
2847 <tr><td>-R</td>
2847 <tr><td>-R</td>
2848 <td>--repository REPO</td>
2848 <td>--repository REPO</td>
2849 <td>repository root directory or name of overlay bundle file</td></tr>
2849 <td>repository root directory or name of overlay bundle file</td></tr>
2850 <tr><td></td>
2850 <tr><td></td>
2851 <td>--cwd DIR</td>
2851 <td>--cwd DIR</td>
2852 <td>change working directory</td></tr>
2852 <td>change working directory</td></tr>
2853 <tr><td>-y</td>
2853 <tr><td>-y</td>
2854 <td>--noninteractive</td>
2854 <td>--noninteractive</td>
2855 <td>do not prompt, automatically pick the first choice for all prompts</td></tr>
2855 <td>do not prompt, automatically pick the first choice for all prompts</td></tr>
2856 <tr><td>-q</td>
2856 <tr><td>-q</td>
2857 <td>--quiet</td>
2857 <td>--quiet</td>
2858 <td>suppress output</td></tr>
2858 <td>suppress output</td></tr>
2859 <tr><td>-v</td>
2859 <tr><td>-v</td>
2860 <td>--verbose</td>
2860 <td>--verbose</td>
2861 <td>enable additional output</td></tr>
2861 <td>enable additional output</td></tr>
2862 <tr><td></td>
2862 <tr><td></td>
2863 <td>--color TYPE</td>
2863 <td>--color TYPE</td>
2864 <td>when to colorize (boolean, always, auto, never, or debug)</td></tr>
2864 <td>when to colorize (boolean, always, auto, never, or debug)</td></tr>
2865 <tr><td></td>
2865 <tr><td></td>
2866 <td>--config CONFIG [+]</td>
2866 <td>--config CONFIG [+]</td>
2867 <td>set/override config option (use 'section.name=value')</td></tr>
2867 <td>set/override config option (use 'section.name=value')</td></tr>
2868 <tr><td></td>
2868 <tr><td></td>
2869 <td>--debug</td>
2869 <td>--debug</td>
2870 <td>enable debugging output</td></tr>
2870 <td>enable debugging output</td></tr>
2871 <tr><td></td>
2871 <tr><td></td>
2872 <td>--debugger</td>
2872 <td>--debugger</td>
2873 <td>start debugger</td></tr>
2873 <td>start debugger</td></tr>
2874 <tr><td></td>
2874 <tr><td></td>
2875 <td>--encoding ENCODE</td>
2875 <td>--encoding ENCODE</td>
2876 <td>set the charset encoding (default: ascii)</td></tr>
2876 <td>set the charset encoding (default: ascii)</td></tr>
2877 <tr><td></td>
2877 <tr><td></td>
2878 <td>--encodingmode MODE</td>
2878 <td>--encodingmode MODE</td>
2879 <td>set the charset encoding mode (default: strict)</td></tr>
2879 <td>set the charset encoding mode (default: strict)</td></tr>
2880 <tr><td></td>
2880 <tr><td></td>
2881 <td>--traceback</td>
2881 <td>--traceback</td>
2882 <td>always print a traceback on exception</td></tr>
2882 <td>always print a traceback on exception</td></tr>
2883 <tr><td></td>
2883 <tr><td></td>
2884 <td>--time</td>
2884 <td>--time</td>
2885 <td>time how long the command takes</td></tr>
2885 <td>time how long the command takes</td></tr>
2886 <tr><td></td>
2886 <tr><td></td>
2887 <td>--profile</td>
2887 <td>--profile</td>
2888 <td>print command execution profile</td></tr>
2888 <td>print command execution profile</td></tr>
2889 <tr><td></td>
2889 <tr><td></td>
2890 <td>--version</td>
2890 <td>--version</td>
2891 <td>output version information and exit</td></tr>
2891 <td>output version information and exit</td></tr>
2892 <tr><td>-h</td>
2892 <tr><td>-h</td>
2893 <td>--help</td>
2893 <td>--help</td>
2894 <td>display help and exit</td></tr>
2894 <td>display help and exit</td></tr>
2895 <tr><td></td>
2895 <tr><td></td>
2896 <td>--hidden</td>
2896 <td>--hidden</td>
2897 <td>consider hidden changesets</td></tr>
2897 <td>consider hidden changesets</td></tr>
2898 <tr><td></td>
2898 <tr><td></td>
2899 <td>--pager TYPE</td>
2899 <td>--pager TYPE</td>
2900 <td>when to paginate (boolean, always, auto, or never) (default: auto)</td></tr>
2900 <td>when to paginate (boolean, always, auto, or never) (default: auto)</td></tr>
2901 </table>
2901 </table>
2902
2902
2903 </div>
2903 </div>
2904 </div>
2904 </div>
2905 </div>
2905 </div>
2906
2906
2907
2907
2908
2908
2909 </body>
2909 </body>
2910 </html>
2910 </html>
2911
2911
2912
2912
2913 $ get-with-headers.py $LOCALIP:$HGPORT "help/remove"
2913 $ get-with-headers.py $LOCALIP:$HGPORT "help/remove"
2914 200 Script output follows
2914 200 Script output follows
2915
2915
2916 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
2916 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
2917 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
2917 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
2918 <head>
2918 <head>
2919 <link rel="icon" href="/static/hgicon.png" type="image/png" />
2919 <link rel="icon" href="/static/hgicon.png" type="image/png" />
2920 <meta name="robots" content="index, nofollow" />
2920 <meta name="robots" content="index, nofollow" />
2921 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
2921 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
2922 <script type="text/javascript" src="/static/mercurial.js"></script>
2922 <script type="text/javascript" src="/static/mercurial.js"></script>
2923
2923
2924 <title>Help: remove</title>
2924 <title>Help: remove</title>
2925 </head>
2925 </head>
2926 <body>
2926 <body>
2927
2927
2928 <div class="container">
2928 <div class="container">
2929 <div class="menu">
2929 <div class="menu">
2930 <div class="logo">
2930 <div class="logo">
2931 <a href="https://mercurial-scm.org/">
2931 <a href="https://mercurial-scm.org/">
2932 <img src="/static/hglogo.png" alt="mercurial" /></a>
2932 <img src="/static/hglogo.png" alt="mercurial" /></a>
2933 </div>
2933 </div>
2934 <ul>
2934 <ul>
2935 <li><a href="/shortlog">log</a></li>
2935 <li><a href="/shortlog">log</a></li>
2936 <li><a href="/graph">graph</a></li>
2936 <li><a href="/graph">graph</a></li>
2937 <li><a href="/tags">tags</a></li>
2937 <li><a href="/tags">tags</a></li>
2938 <li><a href="/bookmarks">bookmarks</a></li>
2938 <li><a href="/bookmarks">bookmarks</a></li>
2939 <li><a href="/branches">branches</a></li>
2939 <li><a href="/branches">branches</a></li>
2940 </ul>
2940 </ul>
2941 <ul>
2941 <ul>
2942 <li class="active"><a href="/help">help</a></li>
2942 <li class="active"><a href="/help">help</a></li>
2943 </ul>
2943 </ul>
2944 </div>
2944 </div>
2945
2945
2946 <div class="main">
2946 <div class="main">
2947 <h2 class="breadcrumb"><a href="/">Mercurial</a> </h2>
2947 <h2 class="breadcrumb"><a href="/">Mercurial</a> </h2>
2948 <h3>Help: remove</h3>
2948 <h3>Help: remove</h3>
2949
2949
2950 <form class="search" action="/log">
2950 <form class="search" action="/log">
2951
2951
2952 <p><input name="rev" id="search1" type="text" size="30" value="" /></p>
2952 <p><input name="rev" id="search1" type="text" size="30" value="" /></p>
2953 <div id="hint">Find changesets by keywords (author, files, the commit message), revision
2953 <div id="hint">Find changesets by keywords (author, files, the commit message), revision
2954 number or hash, or <a href="/help/revsets">revset expression</a>.</div>
2954 number or hash, or <a href="/help/revsets">revset expression</a>.</div>
2955 </form>
2955 </form>
2956 <div id="doc">
2956 <div id="doc">
2957 <p>
2957 <p>
2958 hg remove [OPTION]... FILE...
2958 hg remove [OPTION]... FILE...
2959 </p>
2959 </p>
2960 <p>
2960 <p>
2961 aliases: rm
2961 aliases: rm
2962 </p>
2962 </p>
2963 <p>
2963 <p>
2964 remove the specified files on the next commit
2964 remove the specified files on the next commit
2965 </p>
2965 </p>
2966 <p>
2966 <p>
2967 Schedule the indicated files for removal from the current branch.
2967 Schedule the indicated files for removal from the current branch.
2968 </p>
2968 </p>
2969 <p>
2969 <p>
2970 This command schedules the files to be removed at the next commit.
2970 This command schedules the files to be removed at the next commit.
2971 To undo a remove before that, see 'hg revert'. To undo added
2971 To undo a remove before that, see 'hg revert'. To undo added
2972 files, see 'hg forget'.
2972 files, see 'hg forget'.
2973 </p>
2973 </p>
2974 <p>
2974 <p>
2975 -A/--after can be used to remove only files that have already
2975 -A/--after can be used to remove only files that have already
2976 been deleted, -f/--force can be used to force deletion, and -Af
2976 been deleted, -f/--force can be used to force deletion, and -Af
2977 can be used to remove files from the next revision without
2977 can be used to remove files from the next revision without
2978 deleting them from the working directory.
2978 deleting them from the working directory.
2979 </p>
2979 </p>
2980 <p>
2980 <p>
2981 The following table details the behavior of remove for different
2981 The following table details the behavior of remove for different
2982 file states (columns) and option combinations (rows). The file
2982 file states (columns) and option combinations (rows). The file
2983 states are Added [A], Clean [C], Modified [M] and Missing [!]
2983 states are Added [A], Clean [C], Modified [M] and Missing [!]
2984 (as reported by 'hg status'). The actions are Warn, Remove
2984 (as reported by 'hg status'). The actions are Warn, Remove
2985 (from branch) and Delete (from disk):
2985 (from branch) and Delete (from disk):
2986 </p>
2986 </p>
2987 <table>
2987 <table>
2988 <tr><td>opt/state</td>
2988 <tr><td>opt/state</td>
2989 <td>A</td>
2989 <td>A</td>
2990 <td>C</td>
2990 <td>C</td>
2991 <td>M</td>
2991 <td>M</td>
2992 <td>!</td></tr>
2992 <td>!</td></tr>
2993 <tr><td>none</td>
2993 <tr><td>none</td>
2994 <td>W</td>
2994 <td>W</td>
2995 <td>RD</td>
2995 <td>RD</td>
2996 <td>W</td>
2996 <td>W</td>
2997 <td>R</td></tr>
2997 <td>R</td></tr>
2998 <tr><td>-f</td>
2998 <tr><td>-f</td>
2999 <td>R</td>
2999 <td>R</td>
3000 <td>RD</td>
3000 <td>RD</td>
3001 <td>RD</td>
3001 <td>RD</td>
3002 <td>R</td></tr>
3002 <td>R</td></tr>
3003 <tr><td>-A</td>
3003 <tr><td>-A</td>
3004 <td>W</td>
3004 <td>W</td>
3005 <td>W</td>
3005 <td>W</td>
3006 <td>W</td>
3006 <td>W</td>
3007 <td>R</td></tr>
3007 <td>R</td></tr>
3008 <tr><td>-Af</td>
3008 <tr><td>-Af</td>
3009 <td>R</td>
3009 <td>R</td>
3010 <td>R</td>
3010 <td>R</td>
3011 <td>R</td>
3011 <td>R</td>
3012 <td>R</td></tr>
3012 <td>R</td></tr>
3013 </table>
3013 </table>
3014 <p>
3014 <p>
3015 <b>Note:</b>
3015 <b>Note:</b>
3016 </p>
3016 </p>
3017 <p>
3017 <p>
3018 'hg remove' never deletes files in Added [A] state from the
3018 'hg remove' never deletes files in Added [A] state from the
3019 working directory, not even if &quot;--force&quot; is specified.
3019 working directory, not even if &quot;--force&quot; is specified.
3020 </p>
3020 </p>
3021 <p>
3021 <p>
3022 Returns 0 on success, 1 if any warnings encountered.
3022 Returns 0 on success, 1 if any warnings encountered.
3023 </p>
3023 </p>
3024 <p>
3024 <p>
3025 options ([+] can be repeated):
3025 options ([+] can be repeated):
3026 </p>
3026 </p>
3027 <table>
3027 <table>
3028 <tr><td>-A</td>
3028 <tr><td>-A</td>
3029 <td>--after</td>
3029 <td>--after</td>
3030 <td>record delete for missing files</td></tr>
3030 <td>record delete for missing files</td></tr>
3031 <tr><td>-f</td>
3031 <tr><td>-f</td>
3032 <td>--force</td>
3032 <td>--force</td>
3033 <td>forget added files, delete modified files</td></tr>
3033 <td>forget added files, delete modified files</td></tr>
3034 <tr><td>-S</td>
3034 <tr><td>-S</td>
3035 <td>--subrepos</td>
3035 <td>--subrepos</td>
3036 <td>recurse into subrepositories</td></tr>
3036 <td>recurse into subrepositories</td></tr>
3037 <tr><td>-I</td>
3037 <tr><td>-I</td>
3038 <td>--include PATTERN [+]</td>
3038 <td>--include PATTERN [+]</td>
3039 <td>include names matching the given patterns</td></tr>
3039 <td>include names matching the given patterns</td></tr>
3040 <tr><td>-X</td>
3040 <tr><td>-X</td>
3041 <td>--exclude PATTERN [+]</td>
3041 <td>--exclude PATTERN [+]</td>
3042 <td>exclude names matching the given patterns</td></tr>
3042 <td>exclude names matching the given patterns</td></tr>
3043 <tr><td>-n</td>
3043 <tr><td>-n</td>
3044 <td>--dry-run</td>
3044 <td>--dry-run</td>
3045 <td>do not perform actions, just print output</td></tr>
3045 <td>do not perform actions, just print output</td></tr>
3046 </table>
3046 </table>
3047 <p>
3047 <p>
3048 global options ([+] can be repeated):
3048 global options ([+] can be repeated):
3049 </p>
3049 </p>
3050 <table>
3050 <table>
3051 <tr><td>-R</td>
3051 <tr><td>-R</td>
3052 <td>--repository REPO</td>
3052 <td>--repository REPO</td>
3053 <td>repository root directory or name of overlay bundle file</td></tr>
3053 <td>repository root directory or name of overlay bundle file</td></tr>
3054 <tr><td></td>
3054 <tr><td></td>
3055 <td>--cwd DIR</td>
3055 <td>--cwd DIR</td>
3056 <td>change working directory</td></tr>
3056 <td>change working directory</td></tr>
3057 <tr><td>-y</td>
3057 <tr><td>-y</td>
3058 <td>--noninteractive</td>
3058 <td>--noninteractive</td>
3059 <td>do not prompt, automatically pick the first choice for all prompts</td></tr>
3059 <td>do not prompt, automatically pick the first choice for all prompts</td></tr>
3060 <tr><td>-q</td>
3060 <tr><td>-q</td>
3061 <td>--quiet</td>
3061 <td>--quiet</td>
3062 <td>suppress output</td></tr>
3062 <td>suppress output</td></tr>
3063 <tr><td>-v</td>
3063 <tr><td>-v</td>
3064 <td>--verbose</td>
3064 <td>--verbose</td>
3065 <td>enable additional output</td></tr>
3065 <td>enable additional output</td></tr>
3066 <tr><td></td>
3066 <tr><td></td>
3067 <td>--color TYPE</td>
3067 <td>--color TYPE</td>
3068 <td>when to colorize (boolean, always, auto, never, or debug)</td></tr>
3068 <td>when to colorize (boolean, always, auto, never, or debug)</td></tr>
3069 <tr><td></td>
3069 <tr><td></td>
3070 <td>--config CONFIG [+]</td>
3070 <td>--config CONFIG [+]</td>
3071 <td>set/override config option (use 'section.name=value')</td></tr>
3071 <td>set/override config option (use 'section.name=value')</td></tr>
3072 <tr><td></td>
3072 <tr><td></td>
3073 <td>--debug</td>
3073 <td>--debug</td>
3074 <td>enable debugging output</td></tr>
3074 <td>enable debugging output</td></tr>
3075 <tr><td></td>
3075 <tr><td></td>
3076 <td>--debugger</td>
3076 <td>--debugger</td>
3077 <td>start debugger</td></tr>
3077 <td>start debugger</td></tr>
3078 <tr><td></td>
3078 <tr><td></td>
3079 <td>--encoding ENCODE</td>
3079 <td>--encoding ENCODE</td>
3080 <td>set the charset encoding (default: ascii)</td></tr>
3080 <td>set the charset encoding (default: ascii)</td></tr>
3081 <tr><td></td>
3081 <tr><td></td>
3082 <td>--encodingmode MODE</td>
3082 <td>--encodingmode MODE</td>
3083 <td>set the charset encoding mode (default: strict)</td></tr>
3083 <td>set the charset encoding mode (default: strict)</td></tr>
3084 <tr><td></td>
3084 <tr><td></td>
3085 <td>--traceback</td>
3085 <td>--traceback</td>
3086 <td>always print a traceback on exception</td></tr>
3086 <td>always print a traceback on exception</td></tr>
3087 <tr><td></td>
3087 <tr><td></td>
3088 <td>--time</td>
3088 <td>--time</td>
3089 <td>time how long the command takes</td></tr>
3089 <td>time how long the command takes</td></tr>
3090 <tr><td></td>
3090 <tr><td></td>
3091 <td>--profile</td>
3091 <td>--profile</td>
3092 <td>print command execution profile</td></tr>
3092 <td>print command execution profile</td></tr>
3093 <tr><td></td>
3093 <tr><td></td>
3094 <td>--version</td>
3094 <td>--version</td>
3095 <td>output version information and exit</td></tr>
3095 <td>output version information and exit</td></tr>
3096 <tr><td>-h</td>
3096 <tr><td>-h</td>
3097 <td>--help</td>
3097 <td>--help</td>
3098 <td>display help and exit</td></tr>
3098 <td>display help and exit</td></tr>
3099 <tr><td></td>
3099 <tr><td></td>
3100 <td>--hidden</td>
3100 <td>--hidden</td>
3101 <td>consider hidden changesets</td></tr>
3101 <td>consider hidden changesets</td></tr>
3102 <tr><td></td>
3102 <tr><td></td>
3103 <td>--pager TYPE</td>
3103 <td>--pager TYPE</td>
3104 <td>when to paginate (boolean, always, auto, or never) (default: auto)</td></tr>
3104 <td>when to paginate (boolean, always, auto, or never) (default: auto)</td></tr>
3105 </table>
3105 </table>
3106
3106
3107 </div>
3107 </div>
3108 </div>
3108 </div>
3109 </div>
3109 </div>
3110
3110
3111
3111
3112
3112
3113 </body>
3113 </body>
3114 </html>
3114 </html>
3115
3115
3116
3116
3117 $ get-with-headers.py $LOCALIP:$HGPORT "help/dates"
3117 $ get-with-headers.py $LOCALIP:$HGPORT "help/dates"
3118 200 Script output follows
3118 200 Script output follows
3119
3119
3120 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
3120 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
3121 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
3121 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
3122 <head>
3122 <head>
3123 <link rel="icon" href="/static/hgicon.png" type="image/png" />
3123 <link rel="icon" href="/static/hgicon.png" type="image/png" />
3124 <meta name="robots" content="index, nofollow" />
3124 <meta name="robots" content="index, nofollow" />
3125 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
3125 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
3126 <script type="text/javascript" src="/static/mercurial.js"></script>
3126 <script type="text/javascript" src="/static/mercurial.js"></script>
3127
3127
3128 <title>Help: dates</title>
3128 <title>Help: dates</title>
3129 </head>
3129 </head>
3130 <body>
3130 <body>
3131
3131
3132 <div class="container">
3132 <div class="container">
3133 <div class="menu">
3133 <div class="menu">
3134 <div class="logo">
3134 <div class="logo">
3135 <a href="https://mercurial-scm.org/">
3135 <a href="https://mercurial-scm.org/">
3136 <img src="/static/hglogo.png" alt="mercurial" /></a>
3136 <img src="/static/hglogo.png" alt="mercurial" /></a>
3137 </div>
3137 </div>
3138 <ul>
3138 <ul>
3139 <li><a href="/shortlog">log</a></li>
3139 <li><a href="/shortlog">log</a></li>
3140 <li><a href="/graph">graph</a></li>
3140 <li><a href="/graph">graph</a></li>
3141 <li><a href="/tags">tags</a></li>
3141 <li><a href="/tags">tags</a></li>
3142 <li><a href="/bookmarks">bookmarks</a></li>
3142 <li><a href="/bookmarks">bookmarks</a></li>
3143 <li><a href="/branches">branches</a></li>
3143 <li><a href="/branches">branches</a></li>
3144 </ul>
3144 </ul>
3145 <ul>
3145 <ul>
3146 <li class="active"><a href="/help">help</a></li>
3146 <li class="active"><a href="/help">help</a></li>
3147 </ul>
3147 </ul>
3148 </div>
3148 </div>
3149
3149
3150 <div class="main">
3150 <div class="main">
3151 <h2 class="breadcrumb"><a href="/">Mercurial</a> </h2>
3151 <h2 class="breadcrumb"><a href="/">Mercurial</a> </h2>
3152 <h3>Help: dates</h3>
3152 <h3>Help: dates</h3>
3153
3153
3154 <form class="search" action="/log">
3154 <form class="search" action="/log">
3155
3155
3156 <p><input name="rev" id="search1" type="text" size="30" value="" /></p>
3156 <p><input name="rev" id="search1" type="text" size="30" value="" /></p>
3157 <div id="hint">Find changesets by keywords (author, files, the commit message), revision
3157 <div id="hint">Find changesets by keywords (author, files, the commit message), revision
3158 number or hash, or <a href="/help/revsets">revset expression</a>.</div>
3158 number or hash, or <a href="/help/revsets">revset expression</a>.</div>
3159 </form>
3159 </form>
3160 <div id="doc">
3160 <div id="doc">
3161 <h1>Date Formats</h1>
3161 <h1>Date Formats</h1>
3162 <p>
3162 <p>
3163 Some commands allow the user to specify a date, e.g.:
3163 Some commands allow the user to specify a date, e.g.:
3164 </p>
3164 </p>
3165 <ul>
3165 <ul>
3166 <li> backout, commit, import, tag: Specify the commit date.
3166 <li> backout, commit, import, tag: Specify the commit date.
3167 <li> log, revert, update: Select revision(s) by date.
3167 <li> log, revert, update: Select revision(s) by date.
3168 </ul>
3168 </ul>
3169 <p>
3169 <p>
3170 Many date formats are valid. Here are some examples:
3170 Many date formats are valid. Here are some examples:
3171 </p>
3171 </p>
3172 <ul>
3172 <ul>
3173 <li> &quot;Wed Dec 6 13:18:29 2006&quot; (local timezone assumed)
3173 <li> &quot;Wed Dec 6 13:18:29 2006&quot; (local timezone assumed)
3174 <li> &quot;Dec 6 13:18 -0600&quot; (year assumed, time offset provided)
3174 <li> &quot;Dec 6 13:18 -0600&quot; (year assumed, time offset provided)
3175 <li> &quot;Dec 6 13:18 UTC&quot; (UTC and GMT are aliases for +0000)
3175 <li> &quot;Dec 6 13:18 UTC&quot; (UTC and GMT are aliases for +0000)
3176 <li> &quot;Dec 6&quot; (midnight)
3176 <li> &quot;Dec 6&quot; (midnight)
3177 <li> &quot;13:18&quot; (today assumed)
3177 <li> &quot;13:18&quot; (today assumed)
3178 <li> &quot;3:39&quot; (3:39AM assumed)
3178 <li> &quot;3:39&quot; (3:39AM assumed)
3179 <li> &quot;3:39pm&quot; (15:39)
3179 <li> &quot;3:39pm&quot; (15:39)
3180 <li> &quot;2006-12-06 13:18:29&quot; (ISO 8601 format)
3180 <li> &quot;2006-12-06 13:18:29&quot; (ISO 8601 format)
3181 <li> &quot;2006-12-6 13:18&quot;
3181 <li> &quot;2006-12-6 13:18&quot;
3182 <li> &quot;2006-12-6&quot;
3182 <li> &quot;2006-12-6&quot;
3183 <li> &quot;12-6&quot;
3183 <li> &quot;12-6&quot;
3184 <li> &quot;12/6&quot;
3184 <li> &quot;12/6&quot;
3185 <li> &quot;12/6/6&quot; (Dec 6 2006)
3185 <li> &quot;12/6/6&quot; (Dec 6 2006)
3186 <li> &quot;today&quot; (midnight)
3186 <li> &quot;today&quot; (midnight)
3187 <li> &quot;yesterday&quot; (midnight)
3187 <li> &quot;yesterday&quot; (midnight)
3188 <li> &quot;now&quot; - right now
3188 <li> &quot;now&quot; - right now
3189 </ul>
3189 </ul>
3190 <p>
3190 <p>
3191 Lastly, there is Mercurial's internal format:
3191 Lastly, there is Mercurial's internal format:
3192 </p>
3192 </p>
3193 <ul>
3193 <ul>
3194 <li> &quot;1165411109 0&quot; (Wed Dec 6 13:18:29 2006 UTC)
3194 <li> &quot;1165411109 0&quot; (Wed Dec 6 13:18:29 2006 UTC)
3195 </ul>
3195 </ul>
3196 <p>
3196 <p>
3197 This is the internal representation format for dates. The first number
3197 This is the internal representation format for dates. The first number
3198 is the number of seconds since the epoch (1970-01-01 00:00 UTC). The
3198 is the number of seconds since the epoch (1970-01-01 00:00 UTC). The
3199 second is the offset of the local timezone, in seconds west of UTC
3199 second is the offset of the local timezone, in seconds west of UTC
3200 (negative if the timezone is east of UTC).
3200 (negative if the timezone is east of UTC).
3201 </p>
3201 </p>
3202 <p>
3202 <p>
3203 The log command also accepts date ranges:
3203 The log command also accepts date ranges:
3204 </p>
3204 </p>
3205 <ul>
3205 <ul>
3206 <li> &quot;&lt;DATE&quot; - at or before a given date/time
3206 <li> &quot;&lt;DATE&quot; - at or before a given date/time
3207 <li> &quot;&gt;DATE&quot; - on or after a given date/time
3207 <li> &quot;&gt;DATE&quot; - on or after a given date/time
3208 <li> &quot;DATE to DATE&quot; - a date range, inclusive
3208 <li> &quot;DATE to DATE&quot; - a date range, inclusive
3209 <li> &quot;-DAYS&quot; - within a given number of days of today
3209 <li> &quot;-DAYS&quot; - within a given number of days of today
3210 </ul>
3210 </ul>
3211
3211
3212 </div>
3212 </div>
3213 </div>
3213 </div>
3214 </div>
3214 </div>
3215
3215
3216
3216
3217
3217
3218 </body>
3218 </body>
3219 </html>
3219 </html>
3220
3220
3221
3221
3222 $ get-with-headers.py $LOCALIP:$HGPORT "help/pager"
3222 $ get-with-headers.py $LOCALIP:$HGPORT "help/pager"
3223 200 Script output follows
3223 200 Script output follows
3224
3224
3225 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
3225 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
3226 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
3226 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
3227 <head>
3227 <head>
3228 <link rel="icon" href="/static/hgicon.png" type="image/png" />
3228 <link rel="icon" href="/static/hgicon.png" type="image/png" />
3229 <meta name="robots" content="index, nofollow" />
3229 <meta name="robots" content="index, nofollow" />
3230 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
3230 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
3231 <script type="text/javascript" src="/static/mercurial.js"></script>
3231 <script type="text/javascript" src="/static/mercurial.js"></script>
3232
3232
3233 <title>Help: pager</title>
3233 <title>Help: pager</title>
3234 </head>
3234 </head>
3235 <body>
3235 <body>
3236
3236
3237 <div class="container">
3237 <div class="container">
3238 <div class="menu">
3238 <div class="menu">
3239 <div class="logo">
3239 <div class="logo">
3240 <a href="https://mercurial-scm.org/">
3240 <a href="https://mercurial-scm.org/">
3241 <img src="/static/hglogo.png" alt="mercurial" /></a>
3241 <img src="/static/hglogo.png" alt="mercurial" /></a>
3242 </div>
3242 </div>
3243 <ul>
3243 <ul>
3244 <li><a href="/shortlog">log</a></li>
3244 <li><a href="/shortlog">log</a></li>
3245 <li><a href="/graph">graph</a></li>
3245 <li><a href="/graph">graph</a></li>
3246 <li><a href="/tags">tags</a></li>
3246 <li><a href="/tags">tags</a></li>
3247 <li><a href="/bookmarks">bookmarks</a></li>
3247 <li><a href="/bookmarks">bookmarks</a></li>
3248 <li><a href="/branches">branches</a></li>
3248 <li><a href="/branches">branches</a></li>
3249 </ul>
3249 </ul>
3250 <ul>
3250 <ul>
3251 <li class="active"><a href="/help">help</a></li>
3251 <li class="active"><a href="/help">help</a></li>
3252 </ul>
3252 </ul>
3253 </div>
3253 </div>
3254
3254
3255 <div class="main">
3255 <div class="main">
3256 <h2 class="breadcrumb"><a href="/">Mercurial</a> </h2>
3256 <h2 class="breadcrumb"><a href="/">Mercurial</a> </h2>
3257 <h3>Help: pager</h3>
3257 <h3>Help: pager</h3>
3258
3258
3259 <form class="search" action="/log">
3259 <form class="search" action="/log">
3260
3260
3261 <p><input name="rev" id="search1" type="text" size="30" value="" /></p>
3261 <p><input name="rev" id="search1" type="text" size="30" value="" /></p>
3262 <div id="hint">Find changesets by keywords (author, files, the commit message), revision
3262 <div id="hint">Find changesets by keywords (author, files, the commit message), revision
3263 number or hash, or <a href="/help/revsets">revset expression</a>.</div>
3263 number or hash, or <a href="/help/revsets">revset expression</a>.</div>
3264 </form>
3264 </form>
3265 <div id="doc">
3265 <div id="doc">
3266 <h1>Pager Support</h1>
3266 <h1>Pager Support</h1>
3267 <p>
3267 <p>
3268 Some Mercurial commands can produce a lot of output, and Mercurial will
3268 Some Mercurial commands can produce a lot of output, and Mercurial will
3269 attempt to use a pager to make those commands more pleasant.
3269 attempt to use a pager to make those commands more pleasant.
3270 </p>
3270 </p>
3271 <p>
3271 <p>
3272 To set the pager that should be used, set the application variable:
3272 To set the pager that should be used, set the application variable:
3273 </p>
3273 </p>
3274 <pre>
3274 <pre>
3275 [pager]
3275 [pager]
3276 pager = less -FRX
3276 pager = less -FRX
3277 </pre>
3277 </pre>
3278 <p>
3278 <p>
3279 If no pager is set in the user or repository configuration, Mercurial uses the
3279 If no pager is set in the user or repository configuration, Mercurial uses the
3280 environment variable $PAGER. If $PAGER is not set, pager.pager from the default
3280 environment variable $PAGER. If $PAGER is not set, pager.pager from the default
3281 or system configuration is used. If none of these are set, a default pager will
3281 or system configuration is used. If none of these are set, a default pager will
3282 be used, typically 'less' on Unix and 'more' on Windows.
3282 be used, typically 'less' on Unix and 'more' on Windows.
3283 </p>
3283 </p>
3284 <p>
3284 <p>
3285 You can disable the pager for certain commands by adding them to the
3285 You can disable the pager for certain commands by adding them to the
3286 pager.ignore list:
3286 pager.ignore list:
3287 </p>
3287 </p>
3288 <pre>
3288 <pre>
3289 [pager]
3289 [pager]
3290 ignore = version, help, update
3290 ignore = version, help, update
3291 </pre>
3291 </pre>
3292 <p>
3292 <p>
3293 To ignore global commands like 'hg version' or 'hg help', you have
3293 To ignore global commands like 'hg version' or 'hg help', you have
3294 to specify them in your user configuration file.
3294 to specify them in your user configuration file.
3295 </p>
3295 </p>
3296 <p>
3296 <p>
3297 To control whether the pager is used at all for an individual command,
3297 To control whether the pager is used at all for an individual command,
3298 you can use --pager=&lt;value&gt;:
3298 you can use --pager=&lt;value&gt;:
3299 </p>
3299 </p>
3300 <ul>
3300 <ul>
3301 <li> use as needed: 'auto'.
3301 <li> use as needed: 'auto'.
3302 <li> require the pager: 'yes' or 'on'.
3302 <li> require the pager: 'yes' or 'on'.
3303 <li> suppress the pager: 'no' or 'off' (any unrecognized value will also work).
3303 <li> suppress the pager: 'no' or 'off' (any unrecognized value will also work).
3304 </ul>
3304 </ul>
3305 <p>
3305 <p>
3306 To globally turn off all attempts to use a pager, set:
3306 To globally turn off all attempts to use a pager, set:
3307 </p>
3307 </p>
3308 <pre>
3308 <pre>
3309 [ui]
3309 [ui]
3310 paginate = never
3310 paginate = never
3311 </pre>
3311 </pre>
3312 <p>
3312 <p>
3313 which will prevent the pager from running.
3313 which will prevent the pager from running.
3314 </p>
3314 </p>
3315
3315
3316 </div>
3316 </div>
3317 </div>
3317 </div>
3318 </div>
3318 </div>
3319
3319
3320
3320
3321
3321
3322 </body>
3322 </body>
3323 </html>
3323 </html>
3324
3324
3325
3325
3326 Sub-topic indexes rendered properly
3326 Sub-topic indexes rendered properly
3327
3327
3328 $ get-with-headers.py $LOCALIP:$HGPORT "help/internals"
3328 $ get-with-headers.py $LOCALIP:$HGPORT "help/internals"
3329 200 Script output follows
3329 200 Script output follows
3330
3330
3331 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
3331 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
3332 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
3332 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
3333 <head>
3333 <head>
3334 <link rel="icon" href="/static/hgicon.png" type="image/png" />
3334 <link rel="icon" href="/static/hgicon.png" type="image/png" />
3335 <meta name="robots" content="index, nofollow" />
3335 <meta name="robots" content="index, nofollow" />
3336 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
3336 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
3337 <script type="text/javascript" src="/static/mercurial.js"></script>
3337 <script type="text/javascript" src="/static/mercurial.js"></script>
3338
3338
3339 <title>Help: internals</title>
3339 <title>Help: internals</title>
3340 </head>
3340 </head>
3341 <body>
3341 <body>
3342
3342
3343 <div class="container">
3343 <div class="container">
3344 <div class="menu">
3344 <div class="menu">
3345 <div class="logo">
3345 <div class="logo">
3346 <a href="https://mercurial-scm.org/">
3346 <a href="https://mercurial-scm.org/">
3347 <img src="/static/hglogo.png" alt="mercurial" /></a>
3347 <img src="/static/hglogo.png" alt="mercurial" /></a>
3348 </div>
3348 </div>
3349 <ul>
3349 <ul>
3350 <li><a href="/shortlog">log</a></li>
3350 <li><a href="/shortlog">log</a></li>
3351 <li><a href="/graph">graph</a></li>
3351 <li><a href="/graph">graph</a></li>
3352 <li><a href="/tags">tags</a></li>
3352 <li><a href="/tags">tags</a></li>
3353 <li><a href="/bookmarks">bookmarks</a></li>
3353 <li><a href="/bookmarks">bookmarks</a></li>
3354 <li><a href="/branches">branches</a></li>
3354 <li><a href="/branches">branches</a></li>
3355 </ul>
3355 </ul>
3356 <ul>
3356 <ul>
3357 <li><a href="/help">help</a></li>
3357 <li><a href="/help">help</a></li>
3358 </ul>
3358 </ul>
3359 </div>
3359 </div>
3360
3360
3361 <div class="main">
3361 <div class="main">
3362 <h2 class="breadcrumb"><a href="/">Mercurial</a> </h2>
3362 <h2 class="breadcrumb"><a href="/">Mercurial</a> </h2>
3363
3363
3364 <form class="search" action="/log">
3364 <form class="search" action="/log">
3365
3365
3366 <p><input name="rev" id="search1" type="text" size="30" value="" /></p>
3366 <p><input name="rev" id="search1" type="text" size="30" value="" /></p>
3367 <div id="hint">Find changesets by keywords (author, files, the commit message), revision
3367 <div id="hint">Find changesets by keywords (author, files, the commit message), revision
3368 number or hash, or <a href="/help/revsets">revset expression</a>.</div>
3368 number or hash, or <a href="/help/revsets">revset expression</a>.</div>
3369 </form>
3369 </form>
3370 <table class="bigtable">
3370 <table class="bigtable">
3371 <tr><td colspan="2"><h2><a name="topics" href="#topics">Topics</a></h2></td></tr>
3371 <tr><td colspan="2"><h2><a name="topics" href="#topics">Topics</a></h2></td></tr>
3372
3372
3373 <tr><td>
3373 <tr><td>
3374 <a href="/help/internals.bundle2">
3374 <a href="/help/internals.bundle2">
3375 bundle2
3375 bundle2
3376 </a>
3376 </a>
3377 </td><td>
3377 </td><td>
3378 Bundle2
3378 Bundle2
3379 </td></tr>
3379 </td></tr>
3380 <tr><td>
3380 <tr><td>
3381 <a href="/help/internals.bundles">
3381 <a href="/help/internals.bundles">
3382 bundles
3382 bundles
3383 </a>
3383 </a>
3384 </td><td>
3384 </td><td>
3385 Bundles
3385 Bundles
3386 </td></tr>
3386 </td></tr>
3387 <tr><td>
3387 <tr><td>
3388 <a href="/help/internals.cbor">
3388 <a href="/help/internals.cbor">
3389 cbor
3389 cbor
3390 </a>
3390 </a>
3391 </td><td>
3391 </td><td>
3392 CBOR
3392 CBOR
3393 </td></tr>
3393 </td></tr>
3394 <tr><td>
3394 <tr><td>
3395 <a href="/help/internals.censor">
3395 <a href="/help/internals.censor">
3396 censor
3396 censor
3397 </a>
3397 </a>
3398 </td><td>
3398 </td><td>
3399 Censor
3399 Censor
3400 </td></tr>
3400 </td></tr>
3401 <tr><td>
3401 <tr><td>
3402 <a href="/help/internals.changegroups">
3402 <a href="/help/internals.changegroups">
3403 changegroups
3403 changegroups
3404 </a>
3404 </a>
3405 </td><td>
3405 </td><td>
3406 Changegroups
3406 Changegroups
3407 </td></tr>
3407 </td></tr>
3408 <tr><td>
3408 <tr><td>
3409 <a href="/help/internals.config">
3409 <a href="/help/internals.config">
3410 config
3410 config
3411 </a>
3411 </a>
3412 </td><td>
3412 </td><td>
3413 Config Registrar
3413 Config Registrar
3414 </td></tr>
3414 </td></tr>
3415 <tr><td>
3415 <tr><td>
3416 <a href="/help/internals.extensions">
3416 <a href="/help/internals.extensions">
3417 extensions
3417 extensions
3418 </a>
3418 </a>
3419 </td><td>
3419 </td><td>
3420 Extension API
3420 Extension API
3421 </td></tr>
3421 </td></tr>
3422 <tr><td>
3422 <tr><td>
3423 <a href="/help/internals.requirements">
3423 <a href="/help/internals.requirements">
3424 requirements
3424 requirements
3425 </a>
3425 </a>
3426 </td><td>
3426 </td><td>
3427 Repository Requirements
3427 Repository Requirements
3428 </td></tr>
3428 </td></tr>
3429 <tr><td>
3429 <tr><td>
3430 <a href="/help/internals.revlogs">
3430 <a href="/help/internals.revlogs">
3431 revlogs
3431 revlogs
3432 </a>
3432 </a>
3433 </td><td>
3433 </td><td>
3434 Revision Logs
3434 Revision Logs
3435 </td></tr>
3435 </td></tr>
3436 <tr><td>
3436 <tr><td>
3437 <a href="/help/internals.wireprotocol">
3437 <a href="/help/internals.wireprotocol">
3438 wireprotocol
3438 wireprotocol
3439 </a>
3439 </a>
3440 </td><td>
3440 </td><td>
3441 Wire Protocol
3441 Wire Protocol
3442 </td></tr>
3442 </td></tr>
3443 <tr><td>
3443 <tr><td>
3444 <a href="/help/internals.wireprotocolrpc">
3444 <a href="/help/internals.wireprotocolrpc">
3445 wireprotocolrpc
3445 wireprotocolrpc
3446 </a>
3446 </a>
3447 </td><td>
3447 </td><td>
3448 Wire Protocol RPC
3448 Wire Protocol RPC
3449 </td></tr>
3449 </td></tr>
3450 <tr><td>
3450 <tr><td>
3451 <a href="/help/internals.wireprotocolv2">
3451 <a href="/help/internals.wireprotocolv2">
3452 wireprotocolv2
3452 wireprotocolv2
3453 </a>
3453 </a>
3454 </td><td>
3454 </td><td>
3455 Wire Protocol Version 2
3455 Wire Protocol Version 2
3456 </td></tr>
3456 </td></tr>
3457
3457
3458
3458
3459
3459
3460
3460
3461
3461
3462 </table>
3462 </table>
3463 </div>
3463 </div>
3464 </div>
3464 </div>
3465
3465
3466
3466
3467
3467
3468 </body>
3468 </body>
3469 </html>
3469 </html>
3470
3470
3471
3471
3472 Sub-topic topics rendered properly
3472 Sub-topic topics rendered properly
3473
3473
3474 $ get-with-headers.py $LOCALIP:$HGPORT "help/internals.changegroups"
3474 $ get-with-headers.py $LOCALIP:$HGPORT "help/internals.changegroups"
3475 200 Script output follows
3475 200 Script output follows
3476
3476
3477 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
3477 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
3478 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
3478 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
3479 <head>
3479 <head>
3480 <link rel="icon" href="/static/hgicon.png" type="image/png" />
3480 <link rel="icon" href="/static/hgicon.png" type="image/png" />
3481 <meta name="robots" content="index, nofollow" />
3481 <meta name="robots" content="index, nofollow" />
3482 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
3482 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
3483 <script type="text/javascript" src="/static/mercurial.js"></script>
3483 <script type="text/javascript" src="/static/mercurial.js"></script>
3484
3484
3485 <title>Help: internals.changegroups</title>
3485 <title>Help: internals.changegroups</title>
3486 </head>
3486 </head>
3487 <body>
3487 <body>
3488
3488
3489 <div class="container">
3489 <div class="container">
3490 <div class="menu">
3490 <div class="menu">
3491 <div class="logo">
3491 <div class="logo">
3492 <a href="https://mercurial-scm.org/">
3492 <a href="https://mercurial-scm.org/">
3493 <img src="/static/hglogo.png" alt="mercurial" /></a>
3493 <img src="/static/hglogo.png" alt="mercurial" /></a>
3494 </div>
3494 </div>
3495 <ul>
3495 <ul>
3496 <li><a href="/shortlog">log</a></li>
3496 <li><a href="/shortlog">log</a></li>
3497 <li><a href="/graph">graph</a></li>
3497 <li><a href="/graph">graph</a></li>
3498 <li><a href="/tags">tags</a></li>
3498 <li><a href="/tags">tags</a></li>
3499 <li><a href="/bookmarks">bookmarks</a></li>
3499 <li><a href="/bookmarks">bookmarks</a></li>
3500 <li><a href="/branches">branches</a></li>
3500 <li><a href="/branches">branches</a></li>
3501 </ul>
3501 </ul>
3502 <ul>
3502 <ul>
3503 <li class="active"><a href="/help">help</a></li>
3503 <li class="active"><a href="/help">help</a></li>
3504 </ul>
3504 </ul>
3505 </div>
3505 </div>
3506
3506
3507 <div class="main">
3507 <div class="main">
3508 <h2 class="breadcrumb"><a href="/">Mercurial</a> </h2>
3508 <h2 class="breadcrumb"><a href="/">Mercurial</a> </h2>
3509 <h3>Help: internals.changegroups</h3>
3509 <h3>Help: internals.changegroups</h3>
3510
3510
3511 <form class="search" action="/log">
3511 <form class="search" action="/log">
3512
3512
3513 <p><input name="rev" id="search1" type="text" size="30" value="" /></p>
3513 <p><input name="rev" id="search1" type="text" size="30" value="" /></p>
3514 <div id="hint">Find changesets by keywords (author, files, the commit message), revision
3514 <div id="hint">Find changesets by keywords (author, files, the commit message), revision
3515 number or hash, or <a href="/help/revsets">revset expression</a>.</div>
3515 number or hash, or <a href="/help/revsets">revset expression</a>.</div>
3516 </form>
3516 </form>
3517 <div id="doc">
3517 <div id="doc">
3518 <h1>Changegroups</h1>
3518 <h1>Changegroups</h1>
3519 <p>
3519 <p>
3520 Changegroups are representations of repository revlog data, specifically
3520 Changegroups are representations of repository revlog data, specifically
3521 the changelog data, root/flat manifest data, treemanifest data, and
3521 the changelog data, root/flat manifest data, treemanifest data, and
3522 filelogs.
3522 filelogs.
3523 </p>
3523 </p>
3524 <p>
3524 <p>
3525 There are 3 versions of changegroups: &quot;1&quot;, &quot;2&quot;, and &quot;3&quot;. From a
3525 There are 3 versions of changegroups: &quot;1&quot;, &quot;2&quot;, and &quot;3&quot;. From a
3526 high-level, versions &quot;1&quot; and &quot;2&quot; are almost exactly the same, with the
3526 high-level, versions &quot;1&quot; and &quot;2&quot; are almost exactly the same, with the
3527 only difference being an additional item in the *delta header*. Version
3527 only difference being an additional item in the *delta header*. Version
3528 &quot;3&quot; adds support for storage flags in the *delta header* and optionally
3528 &quot;3&quot; adds support for storage flags in the *delta header* and optionally
3529 exchanging treemanifests (enabled by setting an option on the
3529 exchanging treemanifests (enabled by setting an option on the
3530 &quot;changegroup&quot; part in the bundle2).
3530 &quot;changegroup&quot; part in the bundle2).
3531 </p>
3531 </p>
3532 <p>
3532 <p>
3533 Changegroups when not exchanging treemanifests consist of 3 logical
3533 Changegroups when not exchanging treemanifests consist of 3 logical
3534 segments:
3534 segments:
3535 </p>
3535 </p>
3536 <pre>
3536 <pre>
3537 +---------------------------------+
3537 +---------------------------------+
3538 | | | |
3538 | | | |
3539 | changeset | manifest | filelogs |
3539 | changeset | manifest | filelogs |
3540 | | | |
3540 | | | |
3541 | | | |
3541 | | | |
3542 +---------------------------------+
3542 +---------------------------------+
3543 </pre>
3543 </pre>
3544 <p>
3544 <p>
3545 When exchanging treemanifests, there are 4 logical segments:
3545 When exchanging treemanifests, there are 4 logical segments:
3546 </p>
3546 </p>
3547 <pre>
3547 <pre>
3548 +-------------------------------------------------+
3548 +-------------------------------------------------+
3549 | | | | |
3549 | | | | |
3550 | changeset | root | treemanifests | filelogs |
3550 | changeset | root | treemanifests | filelogs |
3551 | | manifest | | |
3551 | | manifest | | |
3552 | | | | |
3552 | | | | |
3553 +-------------------------------------------------+
3553 +-------------------------------------------------+
3554 </pre>
3554 </pre>
3555 <p>
3555 <p>
3556 The principle building block of each segment is a *chunk*. A *chunk*
3556 The principle building block of each segment is a *chunk*. A *chunk*
3557 is a framed piece of data:
3557 is a framed piece of data:
3558 </p>
3558 </p>
3559 <pre>
3559 <pre>
3560 +---------------------------------------+
3560 +---------------------------------------+
3561 | | |
3561 | | |
3562 | length | data |
3562 | length | data |
3563 | (4 bytes) | (&lt;length - 4&gt; bytes) |
3563 | (4 bytes) | (&lt;length - 4&gt; bytes) |
3564 | | |
3564 | | |
3565 +---------------------------------------+
3565 +---------------------------------------+
3566 </pre>
3566 </pre>
3567 <p>
3567 <p>
3568 All integers are big-endian signed integers. Each chunk starts with a 32-bit
3568 All integers are big-endian signed integers. Each chunk starts with a 32-bit
3569 integer indicating the length of the entire chunk (including the length field
3569 integer indicating the length of the entire chunk (including the length field
3570 itself).
3570 itself).
3571 </p>
3571 </p>
3572 <p>
3572 <p>
3573 There is a special case chunk that has a value of 0 for the length
3573 There is a special case chunk that has a value of 0 for the length
3574 (&quot;0x00000000&quot;). We call this an *empty chunk*.
3574 (&quot;0x00000000&quot;). We call this an *empty chunk*.
3575 </p>
3575 </p>
3576 <h2>Delta Groups</h2>
3576 <h2>Delta Groups</h2>
3577 <p>
3577 <p>
3578 A *delta group* expresses the content of a revlog as a series of deltas,
3578 A *delta group* expresses the content of a revlog as a series of deltas,
3579 or patches against previous revisions.
3579 or patches against previous revisions.
3580 </p>
3580 </p>
3581 <p>
3581 <p>
3582 Delta groups consist of 0 or more *chunks* followed by the *empty chunk*
3582 Delta groups consist of 0 or more *chunks* followed by the *empty chunk*
3583 to signal the end of the delta group:
3583 to signal the end of the delta group:
3584 </p>
3584 </p>
3585 <pre>
3585 <pre>
3586 +------------------------------------------------------------------------+
3586 +------------------------------------------------------------------------+
3587 | | | | | |
3587 | | | | | |
3588 | chunk0 length | chunk0 data | chunk1 length | chunk1 data | 0x0 |
3588 | chunk0 length | chunk0 data | chunk1 length | chunk1 data | 0x0 |
3589 | (4 bytes) | (various) | (4 bytes) | (various) | (4 bytes) |
3589 | (4 bytes) | (various) | (4 bytes) | (various) | (4 bytes) |
3590 | | | | | |
3590 | | | | | |
3591 +------------------------------------------------------------------------+
3591 +------------------------------------------------------------------------+
3592 </pre>
3592 </pre>
3593 <p>
3593 <p>
3594 Each *chunk*'s data consists of the following:
3594 Each *chunk*'s data consists of the following:
3595 </p>
3595 </p>
3596 <pre>
3596 <pre>
3597 +---------------------------------------+
3597 +---------------------------------------+
3598 | | |
3598 | | |
3599 | delta header | delta data |
3599 | delta header | delta data |
3600 | (various by version) | (various) |
3600 | (various by version) | (various) |
3601 | | |
3601 | | |
3602 +---------------------------------------+
3602 +---------------------------------------+
3603 </pre>
3603 </pre>
3604 <p>
3604 <p>
3605 The *delta data* is a series of *delta*s that describe a diff from an existing
3605 The *delta data* is a series of *delta*s that describe a diff from an existing
3606 entry (either that the recipient already has, or previously specified in the
3606 entry (either that the recipient already has, or previously specified in the
3607 bundle/changegroup).
3607 bundle/changegroup).
3608 </p>
3608 </p>
3609 <p>
3609 <p>
3610 The *delta header* is different between versions &quot;1&quot;, &quot;2&quot;, and
3610 The *delta header* is different between versions &quot;1&quot;, &quot;2&quot;, and
3611 &quot;3&quot; of the changegroup format.
3611 &quot;3&quot; of the changegroup format.
3612 </p>
3612 </p>
3613 <p>
3613 <p>
3614 Version 1 (headerlen=80):
3614 Version 1 (headerlen=80):
3615 </p>
3615 </p>
3616 <pre>
3616 <pre>
3617 +------------------------------------------------------+
3617 +------------------------------------------------------+
3618 | | | | |
3618 | | | | |
3619 | node | p1 node | p2 node | link node |
3619 | node | p1 node | p2 node | link node |
3620 | (20 bytes) | (20 bytes) | (20 bytes) | (20 bytes) |
3620 | (20 bytes) | (20 bytes) | (20 bytes) | (20 bytes) |
3621 | | | | |
3621 | | | | |
3622 +------------------------------------------------------+
3622 +------------------------------------------------------+
3623 </pre>
3623 </pre>
3624 <p>
3624 <p>
3625 Version 2 (headerlen=100):
3625 Version 2 (headerlen=100):
3626 </p>
3626 </p>
3627 <pre>
3627 <pre>
3628 +------------------------------------------------------------------+
3628 +------------------------------------------------------------------+
3629 | | | | | |
3629 | | | | | |
3630 | node | p1 node | p2 node | base node | link node |
3630 | node | p1 node | p2 node | base node | link node |
3631 | (20 bytes) | (20 bytes) | (20 bytes) | (20 bytes) | (20 bytes) |
3631 | (20 bytes) | (20 bytes) | (20 bytes) | (20 bytes) | (20 bytes) |
3632 | | | | | |
3632 | | | | | |
3633 +------------------------------------------------------------------+
3633 +------------------------------------------------------------------+
3634 </pre>
3634 </pre>
3635 <p>
3635 <p>
3636 Version 3 (headerlen=102):
3636 Version 3 (headerlen=102):
3637 </p>
3637 </p>
3638 <pre>
3638 <pre>
3639 +------------------------------------------------------------------------------+
3639 +------------------------------------------------------------------------------+
3640 | | | | | | |
3640 | | | | | | |
3641 | node | p1 node | p2 node | base node | link node | flags |
3641 | node | p1 node | p2 node | base node | link node | flags |
3642 | (20 bytes) | (20 bytes) | (20 bytes) | (20 bytes) | (20 bytes) | (2 bytes) |
3642 | (20 bytes) | (20 bytes) | (20 bytes) | (20 bytes) | (20 bytes) | (2 bytes) |
3643 | | | | | | |
3643 | | | | | | |
3644 +------------------------------------------------------------------------------+
3644 +------------------------------------------------------------------------------+
3645 </pre>
3645 </pre>
3646 <p>
3646 <p>
3647 The *delta data* consists of &quot;chunklen - 4 - headerlen&quot; bytes, which contain a
3647 The *delta data* consists of &quot;chunklen - 4 - headerlen&quot; bytes, which contain a
3648 series of *delta*s, densely packed (no separators). These deltas describe a diff
3648 series of *delta*s, densely packed (no separators). These deltas describe a diff
3649 from an existing entry (either that the recipient already has, or previously
3649 from an existing entry (either that the recipient already has, or previously
3650 specified in the bundle/changegroup). The format is described more fully in
3650 specified in the bundle/changegroup). The format is described more fully in
3651 &quot;hg help internals.bdiff&quot;, but briefly:
3651 &quot;hg help internals.bdiff&quot;, but briefly:
3652 </p>
3652 </p>
3653 <pre>
3653 <pre>
3654 +---------------------------------------------------------------+
3654 +---------------------------------------------------------------+
3655 | | | | |
3655 | | | | |
3656 | start offset | end offset | new length | content |
3656 | start offset | end offset | new length | content |
3657 | (4 bytes) | (4 bytes) | (4 bytes) | (&lt;new length&gt; bytes) |
3657 | (4 bytes) | (4 bytes) | (4 bytes) | (&lt;new length&gt; bytes) |
3658 | | | | |
3658 | | | | |
3659 +---------------------------------------------------------------+
3659 +---------------------------------------------------------------+
3660 </pre>
3660 </pre>
3661 <p>
3661 <p>
3662 Please note that the length field in the delta data does *not* include itself.
3662 Please note that the length field in the delta data does *not* include itself.
3663 </p>
3663 </p>
3664 <p>
3664 <p>
3665 In version 1, the delta is always applied against the previous node from
3665 In version 1, the delta is always applied against the previous node from
3666 the changegroup or the first parent if this is the first entry in the
3666 the changegroup or the first parent if this is the first entry in the
3667 changegroup.
3667 changegroup.
3668 </p>
3668 </p>
3669 <p>
3669 <p>
3670 In version 2 and up, the delta base node is encoded in the entry in the
3670 In version 2 and up, the delta base node is encoded in the entry in the
3671 changegroup. This allows the delta to be expressed against any parent,
3671 changegroup. This allows the delta to be expressed against any parent,
3672 which can result in smaller deltas and more efficient encoding of data.
3672 which can result in smaller deltas and more efficient encoding of data.
3673 </p>
3673 </p>
3674 <p>
3674 <p>
3675 The *flags* field holds bitwise flags affecting the processing of revision
3675 The *flags* field holds bitwise flags affecting the processing of revision
3676 data. The following flags are defined:
3676 data. The following flags are defined:
3677 </p>
3677 </p>
3678 <dl>
3678 <dl>
3679 <dt>32768
3679 <dt>32768
3680 <dd>Censored revision. The revision's fulltext has been replaced by censor metadata. May only occur on file revisions.
3680 <dd>Censored revision. The revision's fulltext has been replaced by censor metadata. May only occur on file revisions.
3681 <dt>16384
3681 <dt>16384
3682 <dd>Ellipsis revision. Revision hash does not match data (likely due to rewritten parents).
3682 <dd>Ellipsis revision. Revision hash does not match data (likely due to rewritten parents).
3683 <dt>8192
3683 <dt>8192
3684 <dd>Externally stored. The revision fulltext contains &quot;key:value&quot; &quot;\n&quot; delimited metadata defining an object stored elsewhere. Used by the LFS extension.
3684 <dd>Externally stored. The revision fulltext contains &quot;key:value&quot; &quot;\n&quot; delimited metadata defining an object stored elsewhere. Used by the LFS extension.
3685 </dl>
3685 </dl>
3686 <p>
3686 <p>
3687 For historical reasons, the integer values are identical to revlog version 1
3687 For historical reasons, the integer values are identical to revlog version 1
3688 per-revision storage flags and correspond to bits being set in this 2-byte
3688 per-revision storage flags and correspond to bits being set in this 2-byte
3689 field. Bits were allocated starting from the most-significant bit, hence the
3689 field. Bits were allocated starting from the most-significant bit, hence the
3690 reverse ordering and allocation of these flags.
3690 reverse ordering and allocation of these flags.
3691 </p>
3691 </p>
3692 <h2>Changeset Segment</h2>
3692 <h2>Changeset Segment</h2>
3693 <p>
3693 <p>
3694 The *changeset segment* consists of a single *delta group* holding
3694 The *changeset segment* consists of a single *delta group* holding
3695 changelog data. The *empty chunk* at the end of the *delta group* denotes
3695 changelog data. The *empty chunk* at the end of the *delta group* denotes
3696 the boundary to the *manifest segment*.
3696 the boundary to the *manifest segment*.
3697 </p>
3697 </p>
3698 <h2>Manifest Segment</h2>
3698 <h2>Manifest Segment</h2>
3699 <p>
3699 <p>
3700 The *manifest segment* consists of a single *delta group* holding manifest
3700 The *manifest segment* consists of a single *delta group* holding manifest
3701 data. If treemanifests are in use, it contains only the manifest for the
3701 data. If treemanifests are in use, it contains only the manifest for the
3702 root directory of the repository. Otherwise, it contains the entire
3702 root directory of the repository. Otherwise, it contains the entire
3703 manifest data. The *empty chunk* at the end of the *delta group* denotes
3703 manifest data. The *empty chunk* at the end of the *delta group* denotes
3704 the boundary to the next segment (either the *treemanifests segment* or the
3704 the boundary to the next segment (either the *treemanifests segment* or the
3705 *filelogs segment*, depending on version and the request options).
3705 *filelogs segment*, depending on version and the request options).
3706 </p>
3706 </p>
3707 <h3>Treemanifests Segment</h3>
3707 <h3>Treemanifests Segment</h3>
3708 <p>
3708 <p>
3709 The *treemanifests segment* only exists in changegroup version &quot;3&quot;, and
3709 The *treemanifests segment* only exists in changegroup version &quot;3&quot;, and
3710 only if the 'treemanifest' param is part of the bundle2 changegroup part
3710 only if the 'treemanifest' param is part of the bundle2 changegroup part
3711 (it is not possible to use changegroup version 3 outside of bundle2).
3711 (it is not possible to use changegroup version 3 outside of bundle2).
3712 Aside from the filenames in the *treemanifests segment* containing a
3712 Aside from the filenames in the *treemanifests segment* containing a
3713 trailing &quot;/&quot; character, it behaves identically to the *filelogs segment*
3713 trailing &quot;/&quot; character, it behaves identically to the *filelogs segment*
3714 (see below). The final sub-segment is followed by an *empty chunk* (logically,
3714 (see below). The final sub-segment is followed by an *empty chunk* (logically,
3715 a sub-segment with filename size 0). This denotes the boundary to the
3715 a sub-segment with filename size 0). This denotes the boundary to the
3716 *filelogs segment*.
3716 *filelogs segment*.
3717 </p>
3717 </p>
3718 <h2>Filelogs Segment</h2>
3718 <h2>Filelogs Segment</h2>
3719 <p>
3719 <p>
3720 The *filelogs segment* consists of multiple sub-segments, each
3720 The *filelogs segment* consists of multiple sub-segments, each
3721 corresponding to an individual file whose data is being described:
3721 corresponding to an individual file whose data is being described:
3722 </p>
3722 </p>
3723 <pre>
3723 <pre>
3724 +--------------------------------------------------+
3724 +--------------------------------------------------+
3725 | | | | | |
3725 | | | | | |
3726 | filelog0 | filelog1 | filelog2 | ... | 0x0 |
3726 | filelog0 | filelog1 | filelog2 | ... | 0x0 |
3727 | | | | | (4 bytes) |
3727 | | | | | (4 bytes) |
3728 | | | | | |
3728 | | | | | |
3729 +--------------------------------------------------+
3729 +--------------------------------------------------+
3730 </pre>
3730 </pre>
3731 <p>
3731 <p>
3732 The final filelog sub-segment is followed by an *empty chunk* (logically,
3732 The final filelog sub-segment is followed by an *empty chunk* (logically,
3733 a sub-segment with filename size 0). This denotes the end of the segment
3733 a sub-segment with filename size 0). This denotes the end of the segment
3734 and of the overall changegroup.
3734 and of the overall changegroup.
3735 </p>
3735 </p>
3736 <p>
3736 <p>
3737 Each filelog sub-segment consists of the following:
3737 Each filelog sub-segment consists of the following:
3738 </p>
3738 </p>
3739 <pre>
3739 <pre>
3740 +------------------------------------------------------+
3740 +------------------------------------------------------+
3741 | | | |
3741 | | | |
3742 | filename length | filename | delta group |
3742 | filename length | filename | delta group |
3743 | (4 bytes) | (&lt;length - 4&gt; bytes) | (various) |
3743 | (4 bytes) | (&lt;length - 4&gt; bytes) | (various) |
3744 | | | |
3744 | | | |
3745 +------------------------------------------------------+
3745 +------------------------------------------------------+
3746 </pre>
3746 </pre>
3747 <p>
3747 <p>
3748 That is, a *chunk* consisting of the filename (not terminated or padded)
3748 That is, a *chunk* consisting of the filename (not terminated or padded)
3749 followed by N chunks constituting the *delta group* for this file. The
3749 followed by N chunks constituting the *delta group* for this file. The
3750 *empty chunk* at the end of each *delta group* denotes the boundary to the
3750 *empty chunk* at the end of each *delta group* denotes the boundary to the
3751 next filelog sub-segment.
3751 next filelog sub-segment.
3752 </p>
3752 </p>
3753
3753
3754 </div>
3754 </div>
3755 </div>
3755 </div>
3756 </div>
3756 </div>
3757
3757
3758
3758
3759
3759
3760 </body>
3760 </body>
3761 </html>
3761 </html>
3762
3762
3763
3763
3764 $ get-with-headers.py 127.0.0.1:$HGPORT "help/unknowntopic"
3764 $ get-with-headers.py 127.0.0.1:$HGPORT "help/unknowntopic"
3765 404 Not Found
3765 404 Not Found
3766
3766
3767 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
3767 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
3768 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
3768 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
3769 <head>
3769 <head>
3770 <link rel="icon" href="/static/hgicon.png" type="image/png" />
3770 <link rel="icon" href="/static/hgicon.png" type="image/png" />
3771 <meta name="robots" content="index, nofollow" />
3771 <meta name="robots" content="index, nofollow" />
3772 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
3772 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
3773 <script type="text/javascript" src="/static/mercurial.js"></script>
3773 <script type="text/javascript" src="/static/mercurial.js"></script>
3774
3774
3775 <title>test: error</title>
3775 <title>test: error</title>
3776 </head>
3776 </head>
3777 <body>
3777 <body>
3778
3778
3779 <div class="container">
3779 <div class="container">
3780 <div class="menu">
3780 <div class="menu">
3781 <div class="logo">
3781 <div class="logo">
3782 <a href="https://mercurial-scm.org/">
3782 <a href="https://mercurial-scm.org/">
3783 <img src="/static/hglogo.png" width=75 height=90 border=0 alt="mercurial" /></a>
3783 <img src="/static/hglogo.png" width=75 height=90 border=0 alt="mercurial" /></a>
3784 </div>
3784 </div>
3785 <ul>
3785 <ul>
3786 <li><a href="/shortlog">log</a></li>
3786 <li><a href="/shortlog">log</a></li>
3787 <li><a href="/graph">graph</a></li>
3787 <li><a href="/graph">graph</a></li>
3788 <li><a href="/tags">tags</a></li>
3788 <li><a href="/tags">tags</a></li>
3789 <li><a href="/bookmarks">bookmarks</a></li>
3789 <li><a href="/bookmarks">bookmarks</a></li>
3790 <li><a href="/branches">branches</a></li>
3790 <li><a href="/branches">branches</a></li>
3791 </ul>
3791 </ul>
3792 <ul>
3792 <ul>
3793 <li><a href="/help">help</a></li>
3793 <li><a href="/help">help</a></li>
3794 </ul>
3794 </ul>
3795 </div>
3795 </div>
3796
3796
3797 <div class="main">
3797 <div class="main">
3798
3798
3799 <h2 class="breadcrumb"><a href="/">Mercurial</a> </h2>
3799 <h2 class="breadcrumb"><a href="/">Mercurial</a> </h2>
3800 <h3>error</h3>
3800 <h3>error</h3>
3801
3801
3802
3802
3803 <form class="search" action="/log">
3803 <form class="search" action="/log">
3804
3804
3805 <p><input name="rev" id="search1" type="text" size="30" value="" /></p>
3805 <p><input name="rev" id="search1" type="text" size="30" value="" /></p>
3806 <div id="hint">Find changesets by keywords (author, files, the commit message), revision
3806 <div id="hint">Find changesets by keywords (author, files, the commit message), revision
3807 number or hash, or <a href="/help/revsets">revset expression</a>.</div>
3807 number or hash, or <a href="/help/revsets">revset expression</a>.</div>
3808 </form>
3808 </form>
3809
3809
3810 <div class="description">
3810 <div class="description">
3811 <p>
3811 <p>
3812 An error occurred while processing your request:
3812 An error occurred while processing your request:
3813 </p>
3813 </p>
3814 <p>
3814 <p>
3815 Not Found
3815 Not Found
3816 </p>
3816 </p>
3817 </div>
3817 </div>
3818 </div>
3818 </div>
3819 </div>
3819 </div>
3820
3820
3821
3821
3822
3822
3823 </body>
3823 </body>
3824 </html>
3824 </html>
3825
3825
3826 [1]
3826 [1]
3827
3827
3828 $ killdaemons.py
3828 $ killdaemons.py
3829
3829
3830 #endif
3830 #endif
General Comments 0
You need to be logged in to leave comments. Login now