##// END OF EJS Templates
help/config: make defaults consistent
timeless@mozdev.org -
r26182:6832ba52 default
parent child Browse files
Show More
@@ -1,1828 +1,1831
1 The Mercurial system uses a set of configuration files to control
1 The Mercurial system uses a set of configuration files to control
2 aspects of its behavior.
2 aspects of its behavior.
3
3
4 The configuration files use a simple ini-file format. A configuration
4 The configuration files use a simple ini-file format. A configuration
5 file consists of sections, led by a ``[section]`` header and followed
5 file consists of sections, led by a ``[section]`` header and followed
6 by ``name = value`` entries::
6 by ``name = value`` entries::
7
7
8 [ui]
8 [ui]
9 username = Firstname Lastname <firstname.lastname@example.net>
9 username = Firstname Lastname <firstname.lastname@example.net>
10 verbose = True
10 verbose = True
11
11
12 The above entries will be referred to as ``ui.username`` and
12 The above entries will be referred to as ``ui.username`` and
13 ``ui.verbose``, respectively. See the Syntax section below.
13 ``ui.verbose``, respectively. See the Syntax section below.
14
14
15 Files
15 Files
16 =====
16 =====
17
17
18 Mercurial reads configuration data from several files, if they exist.
18 Mercurial reads configuration data from several files, if they exist.
19 These files do not exist by default and you will have to create the
19 These files do not exist by default and you will have to create the
20 appropriate configuration files yourself: global configuration like
20 appropriate configuration files yourself: global configuration like
21 the username setting is typically put into
21 the username setting is typically put into
22 ``%USERPROFILE%\mercurial.ini`` or ``$HOME/.hgrc`` and local
22 ``%USERPROFILE%\mercurial.ini`` or ``$HOME/.hgrc`` and local
23 configuration is put into the per-repository ``<repo>/.hg/hgrc`` file.
23 configuration is put into the per-repository ``<repo>/.hg/hgrc`` file.
24
24
25 The names of these files depend on the system on which Mercurial is
25 The names of these files depend on the system on which Mercurial is
26 installed. ``*.rc`` files from a single directory are read in
26 installed. ``*.rc`` files from a single directory are read in
27 alphabetical order, later ones overriding earlier ones. Where multiple
27 alphabetical order, later ones overriding earlier ones. Where multiple
28 paths are given below, settings from earlier paths override later
28 paths are given below, settings from earlier paths override later
29 ones.
29 ones.
30
30
31 .. container:: verbose.unix
31 .. container:: verbose.unix
32
32
33 On Unix, the following files are consulted:
33 On Unix, the following files are consulted:
34
34
35 - ``<repo>/.hg/hgrc`` (per-repository)
35 - ``<repo>/.hg/hgrc`` (per-repository)
36 - ``$HOME/.hgrc`` (per-user)
36 - ``$HOME/.hgrc`` (per-user)
37 - ``<install-root>/etc/mercurial/hgrc`` (per-installation)
37 - ``<install-root>/etc/mercurial/hgrc`` (per-installation)
38 - ``<install-root>/etc/mercurial/hgrc.d/*.rc`` (per-installation)
38 - ``<install-root>/etc/mercurial/hgrc.d/*.rc`` (per-installation)
39 - ``/etc/mercurial/hgrc`` (per-system)
39 - ``/etc/mercurial/hgrc`` (per-system)
40 - ``/etc/mercurial/hgrc.d/*.rc`` (per-system)
40 - ``/etc/mercurial/hgrc.d/*.rc`` (per-system)
41 - ``<internal>/default.d/*.rc`` (defaults)
41 - ``<internal>/default.d/*.rc`` (defaults)
42
42
43 .. container:: verbose.windows
43 .. container:: verbose.windows
44
44
45 On Windows, the following files are consulted:
45 On Windows, the following files are consulted:
46
46
47 - ``<repo>/.hg/hgrc`` (per-repository)
47 - ``<repo>/.hg/hgrc`` (per-repository)
48 - ``%USERPROFILE%\.hgrc`` (per-user)
48 - ``%USERPROFILE%\.hgrc`` (per-user)
49 - ``%USERPROFILE%\Mercurial.ini`` (per-user)
49 - ``%USERPROFILE%\Mercurial.ini`` (per-user)
50 - ``%HOME%\.hgrc`` (per-user)
50 - ``%HOME%\.hgrc`` (per-user)
51 - ``%HOME%\Mercurial.ini`` (per-user)
51 - ``%HOME%\Mercurial.ini`` (per-user)
52 - ``<install-dir>\Mercurial.ini`` (per-installation)
52 - ``<install-dir>\Mercurial.ini`` (per-installation)
53 - ``<install-dir>\hgrc.d\*.rc`` (per-installation)
53 - ``<install-dir>\hgrc.d\*.rc`` (per-installation)
54 - ``HKEY_LOCAL_MACHINE\SOFTWARE\Mercurial`` (per-installation)
54 - ``HKEY_LOCAL_MACHINE\SOFTWARE\Mercurial`` (per-installation)
55 - ``<internal>/default.d/*.rc`` (defaults)
55 - ``<internal>/default.d/*.rc`` (defaults)
56
56
57 .. note::
57 .. note::
58
58
59 The registry key ``HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Mercurial``
59 The registry key ``HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Mercurial``
60 is used when running 32-bit Python on 64-bit Windows.
60 is used when running 32-bit Python on 64-bit Windows.
61
61
62 .. container:: verbose.plan9
62 .. container:: verbose.plan9
63
63
64 On Plan9, the following files are consulted:
64 On Plan9, the following files are consulted:
65
65
66 - ``<repo>/.hg/hgrc`` (per-repository)
66 - ``<repo>/.hg/hgrc`` (per-repository)
67 - ``$home/lib/hgrc`` (per-user)
67 - ``$home/lib/hgrc`` (per-user)
68 - ``<install-root>/lib/mercurial/hgrc`` (per-installation)
68 - ``<install-root>/lib/mercurial/hgrc`` (per-installation)
69 - ``<install-root>/lib/mercurial/hgrc.d/*.rc`` (per-installation)
69 - ``<install-root>/lib/mercurial/hgrc.d/*.rc`` (per-installation)
70 - ``/lib/mercurial/hgrc`` (per-system)
70 - ``/lib/mercurial/hgrc`` (per-system)
71 - ``/lib/mercurial/hgrc.d/*.rc`` (per-system)
71 - ``/lib/mercurial/hgrc.d/*.rc`` (per-system)
72 - ``<internal>/default.d/*.rc`` (defaults)
72 - ``<internal>/default.d/*.rc`` (defaults)
73
73
74 Per-repository configuration options only apply in a
74 Per-repository configuration options only apply in a
75 particular repository. This file is not version-controlled, and
75 particular repository. This file is not version-controlled, and
76 will not get transferred during a "clone" operation. Options in
76 will not get transferred during a "clone" operation. Options in
77 this file override options in all other configuration files. On
77 this file override options in all other configuration files. On
78 Plan 9 and Unix, most of this file will be ignored if it doesn't
78 Plan 9 and Unix, most of this file will be ignored if it doesn't
79 belong to a trusted user or to a trusted group. See the documentation
79 belong to a trusted user or to a trusted group. See the documentation
80 for the ``[trusted]`` section below for more details.
80 for the ``[trusted]`` section below for more details.
81
81
82 Per-user configuration file(s) are for the user running Mercurial. On
82 Per-user configuration file(s) are for the user running Mercurial. On
83 Windows 9x, ``%HOME%`` is replaced by ``%APPDATA%``. Options in these
83 Windows 9x, ``%HOME%`` is replaced by ``%APPDATA%``. Options in these
84 files apply to all Mercurial commands executed by this user in any
84 files apply to all Mercurial commands executed by this user in any
85 directory. Options in these files override per-system and per-installation
85 directory. Options in these files override per-system and per-installation
86 options.
86 options.
87
87
88 Per-installation configuration files are searched for in the
88 Per-installation configuration files are searched for in the
89 directory where Mercurial is installed. ``<install-root>`` is the
89 directory where Mercurial is installed. ``<install-root>`` is the
90 parent directory of the **hg** executable (or symlink) being run. For
90 parent directory of the **hg** executable (or symlink) being run. For
91 example, if installed in ``/shared/tools/bin/hg``, Mercurial will look
91 example, if installed in ``/shared/tools/bin/hg``, Mercurial will look
92 in ``/shared/tools/etc/mercurial/hgrc``. Options in these files apply
92 in ``/shared/tools/etc/mercurial/hgrc``. Options in these files apply
93 to all Mercurial commands executed by any user in any directory.
93 to all Mercurial commands executed by any user in any directory.
94
94
95 Per-installation configuration files are for the system on
95 Per-installation configuration files are for the system on
96 which Mercurial is running. Options in these files apply to all
96 which Mercurial is running. Options in these files apply to all
97 Mercurial commands executed by any user in any directory. Registry
97 Mercurial commands executed by any user in any directory. Registry
98 keys contain PATH-like strings, every part of which must reference
98 keys contain PATH-like strings, every part of which must reference
99 a ``Mercurial.ini`` file or be a directory where ``*.rc`` files will
99 a ``Mercurial.ini`` file or be a directory where ``*.rc`` files will
100 be read. Mercurial checks each of these locations in the specified
100 be read. Mercurial checks each of these locations in the specified
101 order until one or more configuration files are detected.
101 order until one or more configuration files are detected.
102
102
103 Per-system configuration files are for the system on which Mercurial
103 Per-system configuration files are for the system on which Mercurial
104 is running. Options in these files apply to all Mercurial commands
104 is running. Options in these files apply to all Mercurial commands
105 executed by any user in any directory. Options in these files
105 executed by any user in any directory. Options in these files
106 override per-installation options.
106 override per-installation options.
107
107
108 Mercurial comes with some default configuration. The default configuration
108 Mercurial comes with some default configuration. The default configuration
109 files are installed with Mercurial and will be overwritten on upgrades. Default
109 files are installed with Mercurial and will be overwritten on upgrades. Default
110 configuration files should never be edited by users or administrators but can
110 configuration files should never be edited by users or administrators but can
111 be overridden in other configuration files. So far the directory only contains
111 be overridden in other configuration files. So far the directory only contains
112 merge tool configuration but packagers can also put other default configuration
112 merge tool configuration but packagers can also put other default configuration
113 there.
113 there.
114
114
115 Syntax
115 Syntax
116 ======
116 ======
117
117
118 A configuration file consists of sections, led by a ``[section]`` header
118 A configuration file consists of sections, led by a ``[section]`` header
119 and followed by ``name = value`` entries (sometimes called
119 and followed by ``name = value`` entries (sometimes called
120 ``configuration keys``)::
120 ``configuration keys``)::
121
121
122 [spam]
122 [spam]
123 eggs=ham
123 eggs=ham
124 green=
124 green=
125 eggs
125 eggs
126
126
127 Each line contains one entry. If the lines that follow are indented,
127 Each line contains one entry. If the lines that follow are indented,
128 they are treated as continuations of that entry. Leading whitespace is
128 they are treated as continuations of that entry. Leading whitespace is
129 removed from values. Empty lines are skipped. Lines beginning with
129 removed from values. Empty lines are skipped. Lines beginning with
130 ``#`` or ``;`` are ignored and may be used to provide comments.
130 ``#`` or ``;`` are ignored and may be used to provide comments.
131
131
132 Configuration keys can be set multiple times, in which case Mercurial
132 Configuration keys can be set multiple times, in which case Mercurial
133 will use the value that was configured last. As an example::
133 will use the value that was configured last. As an example::
134
134
135 [spam]
135 [spam]
136 eggs=large
136 eggs=large
137 ham=serrano
137 ham=serrano
138 eggs=small
138 eggs=small
139
139
140 This would set the configuration key named ``eggs`` to ``small``.
140 This would set the configuration key named ``eggs`` to ``small``.
141
141
142 It is also possible to define a section multiple times. A section can
142 It is also possible to define a section multiple times. A section can
143 be redefined on the same and/or on different configuration files. For
143 be redefined on the same and/or on different configuration files. For
144 example::
144 example::
145
145
146 [foo]
146 [foo]
147 eggs=large
147 eggs=large
148 ham=serrano
148 ham=serrano
149 eggs=small
149 eggs=small
150
150
151 [bar]
151 [bar]
152 eggs=ham
152 eggs=ham
153 green=
153 green=
154 eggs
154 eggs
155
155
156 [foo]
156 [foo]
157 ham=prosciutto
157 ham=prosciutto
158 eggs=medium
158 eggs=medium
159 bread=toasted
159 bread=toasted
160
160
161 This would set the ``eggs``, ``ham``, and ``bread`` configuration keys
161 This would set the ``eggs``, ``ham``, and ``bread`` configuration keys
162 of the ``foo`` section to ``medium``, ``prosciutto``, and ``toasted``,
162 of the ``foo`` section to ``medium``, ``prosciutto``, and ``toasted``,
163 respectively. As you can see there only thing that matters is the last
163 respectively. As you can see there only thing that matters is the last
164 value that was set for each of the configuration keys.
164 value that was set for each of the configuration keys.
165
165
166 If a configuration key is set multiple times in different
166 If a configuration key is set multiple times in different
167 configuration files the final value will depend on the order in which
167 configuration files the final value will depend on the order in which
168 the different configuration files are read, with settings from earlier
168 the different configuration files are read, with settings from earlier
169 paths overriding later ones as described on the ``Files`` section
169 paths overriding later ones as described on the ``Files`` section
170 above.
170 above.
171
171
172 A line of the form ``%include file`` will include ``file`` into the
172 A line of the form ``%include file`` will include ``file`` into the
173 current configuration file. The inclusion is recursive, which means
173 current configuration file. The inclusion is recursive, which means
174 that included files can include other files. Filenames are relative to
174 that included files can include other files. Filenames are relative to
175 the configuration file in which the ``%include`` directive is found.
175 the configuration file in which the ``%include`` directive is found.
176 Environment variables and ``~user`` constructs are expanded in
176 Environment variables and ``~user`` constructs are expanded in
177 ``file``. This lets you do something like::
177 ``file``. This lets you do something like::
178
178
179 %include ~/.hgrc.d/$HOST.rc
179 %include ~/.hgrc.d/$HOST.rc
180
180
181 to include a different configuration file on each computer you use.
181 to include a different configuration file on each computer you use.
182
182
183 A line with ``%unset name`` will remove ``name`` from the current
183 A line with ``%unset name`` will remove ``name`` from the current
184 section, if it has been set previously.
184 section, if it has been set previously.
185
185
186 The values are either free-form text strings, lists of text strings,
186 The values are either free-form text strings, lists of text strings,
187 or Boolean values. Boolean values can be set to true using any of "1",
187 or Boolean values. Boolean values can be set to true using any of "1",
188 "yes", "true", or "on" and to false using "0", "no", "false", or "off"
188 "yes", "true", or "on" and to false using "0", "no", "false", or "off"
189 (all case insensitive).
189 (all case insensitive).
190
190
191 List values are separated by whitespace or comma, except when values are
191 List values are separated by whitespace or comma, except when values are
192 placed in double quotation marks::
192 placed in double quotation marks::
193
193
194 allow_read = "John Doe, PhD", brian, betty
194 allow_read = "John Doe, PhD", brian, betty
195
195
196 Quotation marks can be escaped by prefixing them with a backslash. Only
196 Quotation marks can be escaped by prefixing them with a backslash. Only
197 quotation marks at the beginning of a word is counted as a quotation
197 quotation marks at the beginning of a word is counted as a quotation
198 (e.g., ``foo"bar baz`` is the list of ``foo"bar`` and ``baz``).
198 (e.g., ``foo"bar baz`` is the list of ``foo"bar`` and ``baz``).
199
199
200 Sections
200 Sections
201 ========
201 ========
202
202
203 This section describes the different sections that may appear in a
203 This section describes the different sections that may appear in a
204 Mercurial configuration file, the purpose of each section, its possible
204 Mercurial configuration file, the purpose of each section, its possible
205 keys, and their possible values.
205 keys, and their possible values.
206
206
207 ``alias``
207 ``alias``
208 ---------
208 ---------
209
209
210 Defines command aliases.
210 Defines command aliases.
211
211
212 Aliases allow you to define your own commands in terms of other
212 Aliases allow you to define your own commands in terms of other
213 commands (or aliases), optionally including arguments. Positional
213 commands (or aliases), optionally including arguments. Positional
214 arguments in the form of ``$1``, ``$2``, etc. in the alias definition
214 arguments in the form of ``$1``, ``$2``, etc. in the alias definition
215 are expanded by Mercurial before execution. Positional arguments not
215 are expanded by Mercurial before execution. Positional arguments not
216 already used by ``$N`` in the definition are put at the end of the
216 already used by ``$N`` in the definition are put at the end of the
217 command to be executed.
217 command to be executed.
218
218
219 Alias definitions consist of lines of the form::
219 Alias definitions consist of lines of the form::
220
220
221 <alias> = <command> [<argument>]...
221 <alias> = <command> [<argument>]...
222
222
223 For example, this definition::
223 For example, this definition::
224
224
225 latest = log --limit 5
225 latest = log --limit 5
226
226
227 creates a new command ``latest`` that shows only the five most recent
227 creates a new command ``latest`` that shows only the five most recent
228 changesets. You can define subsequent aliases using earlier ones::
228 changesets. You can define subsequent aliases using earlier ones::
229
229
230 stable5 = latest -b stable
230 stable5 = latest -b stable
231
231
232 .. note::
232 .. note::
233
233
234 It is possible to create aliases with the same names as
234 It is possible to create aliases with the same names as
235 existing commands, which will then override the original
235 existing commands, which will then override the original
236 definitions. This is almost always a bad idea!
236 definitions. This is almost always a bad idea!
237
237
238 An alias can start with an exclamation point (``!``) to make it a
238 An alias can start with an exclamation point (``!``) to make it a
239 shell alias. A shell alias is executed with the shell and will let you
239 shell alias. A shell alias is executed with the shell and will let you
240 run arbitrary commands. As an example, ::
240 run arbitrary commands. As an example, ::
241
241
242 echo = !echo $@
242 echo = !echo $@
243
243
244 will let you do ``hg echo foo`` to have ``foo`` printed in your
244 will let you do ``hg echo foo`` to have ``foo`` printed in your
245 terminal. A better example might be::
245 terminal. A better example might be::
246
246
247 purge = !$HG status --no-status --unknown -0 | xargs -0 rm
247 purge = !$HG status --no-status --unknown -0 | xargs -0 rm
248
248
249 which will make ``hg purge`` delete all unknown files in the
249 which will make ``hg purge`` delete all unknown files in the
250 repository in the same manner as the purge extension.
250 repository in the same manner as the purge extension.
251
251
252 Positional arguments like ``$1``, ``$2``, etc. in the alias definition
252 Positional arguments like ``$1``, ``$2``, etc. in the alias definition
253 expand to the command arguments. Unmatched arguments are
253 expand to the command arguments. Unmatched arguments are
254 removed. ``$0`` expands to the alias name and ``$@`` expands to all
254 removed. ``$0`` expands to the alias name and ``$@`` expands to all
255 arguments separated by a space. ``"$@"`` (with quotes) expands to all
255 arguments separated by a space. ``"$@"`` (with quotes) expands to all
256 arguments quoted individually and separated by a space. These expansions
256 arguments quoted individually and separated by a space. These expansions
257 happen before the command is passed to the shell.
257 happen before the command is passed to the shell.
258
258
259 Shell aliases are executed in an environment where ``$HG`` expands to
259 Shell aliases are executed in an environment where ``$HG`` expands to
260 the path of the Mercurial that was used to execute the alias. This is
260 the path of the Mercurial that was used to execute the alias. This is
261 useful when you want to call further Mercurial commands in a shell
261 useful when you want to call further Mercurial commands in a shell
262 alias, as was done above for the purge alias. In addition,
262 alias, as was done above for the purge alias. In addition,
263 ``$HG_ARGS`` expands to the arguments given to Mercurial. In the ``hg
263 ``$HG_ARGS`` expands to the arguments given to Mercurial. In the ``hg
264 echo foo`` call above, ``$HG_ARGS`` would expand to ``echo foo``.
264 echo foo`` call above, ``$HG_ARGS`` would expand to ``echo foo``.
265
265
266 .. note::
266 .. note::
267
267
268 Some global configuration options such as ``-R`` are
268 Some global configuration options such as ``-R`` are
269 processed before shell aliases and will thus not be passed to
269 processed before shell aliases and will thus not be passed to
270 aliases.
270 aliases.
271
271
272
272
273 ``annotate``
273 ``annotate``
274 ------------
274 ------------
275
275
276 Settings used when displaying file annotations. All values are
276 Settings used when displaying file annotations. All values are
277 Booleans and default to False. See ``diff`` section for related
277 Booleans and default to False. See ``diff`` section for related
278 options for the diff command.
278 options for the diff command.
279
279
280 ``ignorews``
280 ``ignorews``
281 Ignore white space when comparing lines.
281 Ignore white space when comparing lines.
282
282
283 ``ignorewsamount``
283 ``ignorewsamount``
284 Ignore changes in the amount of white space.
284 Ignore changes in the amount of white space.
285
285
286 ``ignoreblanklines``
286 ``ignoreblanklines``
287 Ignore changes whose lines are all blank.
287 Ignore changes whose lines are all blank.
288
288
289
289
290 ``auth``
290 ``auth``
291 --------
291 --------
292
292
293 Authentication credentials for HTTP authentication. This section
293 Authentication credentials for HTTP authentication. This section
294 allows you to store usernames and passwords for use when logging
294 allows you to store usernames and passwords for use when logging
295 *into* HTTP servers. See the ``[web]`` configuration section if
295 *into* HTTP servers. See the ``[web]`` configuration section if
296 you want to configure *who* can login to your HTTP server.
296 you want to configure *who* can login to your HTTP server.
297
297
298 Each line has the following format::
298 Each line has the following format::
299
299
300 <name>.<argument> = <value>
300 <name>.<argument> = <value>
301
301
302 where ``<name>`` is used to group arguments into authentication
302 where ``<name>`` is used to group arguments into authentication
303 entries. Example::
303 entries. Example::
304
304
305 foo.prefix = hg.intevation.org/mercurial
305 foo.prefix = hg.intevation.org/mercurial
306 foo.username = foo
306 foo.username = foo
307 foo.password = bar
307 foo.password = bar
308 foo.schemes = http https
308 foo.schemes = http https
309
309
310 bar.prefix = secure.example.org
310 bar.prefix = secure.example.org
311 bar.key = path/to/file.key
311 bar.key = path/to/file.key
312 bar.cert = path/to/file.cert
312 bar.cert = path/to/file.cert
313 bar.schemes = https
313 bar.schemes = https
314
314
315 Supported arguments:
315 Supported arguments:
316
316
317 ``prefix``
317 ``prefix``
318 Either ``*`` or a URI prefix with or without the scheme part.
318 Either ``*`` or a URI prefix with or without the scheme part.
319 The authentication entry with the longest matching prefix is used
319 The authentication entry with the longest matching prefix is used
320 (where ``*`` matches everything and counts as a match of length
320 (where ``*`` matches everything and counts as a match of length
321 1). If the prefix doesn't include a scheme, the match is performed
321 1). If the prefix doesn't include a scheme, the match is performed
322 against the URI with its scheme stripped as well, and the schemes
322 against the URI with its scheme stripped as well, and the schemes
323 argument, q.v., is then subsequently consulted.
323 argument, q.v., is then subsequently consulted.
324
324
325 ``username``
325 ``username``
326 Optional. Username to authenticate with. If not given, and the
326 Optional. Username to authenticate with. If not given, and the
327 remote site requires basic or digest authentication, the user will
327 remote site requires basic or digest authentication, the user will
328 be prompted for it. Environment variables are expanded in the
328 be prompted for it. Environment variables are expanded in the
329 username letting you do ``foo.username = $USER``. If the URI
329 username letting you do ``foo.username = $USER``. If the URI
330 includes a username, only ``[auth]`` entries with a matching
330 includes a username, only ``[auth]`` entries with a matching
331 username or without a username will be considered.
331 username or without a username will be considered.
332
332
333 ``password``
333 ``password``
334 Optional. Password to authenticate with. If not given, and the
334 Optional. Password to authenticate with. If not given, and the
335 remote site requires basic or digest authentication, the user
335 remote site requires basic or digest authentication, the user
336 will be prompted for it.
336 will be prompted for it.
337
337
338 ``key``
338 ``key``
339 Optional. PEM encoded client certificate key file. Environment
339 Optional. PEM encoded client certificate key file. Environment
340 variables are expanded in the filename.
340 variables are expanded in the filename.
341
341
342 ``cert``
342 ``cert``
343 Optional. PEM encoded client certificate chain file. Environment
343 Optional. PEM encoded client certificate chain file. Environment
344 variables are expanded in the filename.
344 variables are expanded in the filename.
345
345
346 ``schemes``
346 ``schemes``
347 Optional. Space separated list of URI schemes to use this
347 Optional. Space separated list of URI schemes to use this
348 authentication entry with. Only used if the prefix doesn't include
348 authentication entry with. Only used if the prefix doesn't include
349 a scheme. Supported schemes are http and https. They will match
349 a scheme. Supported schemes are http and https. They will match
350 static-http and static-https respectively, as well.
350 static-http and static-https respectively, as well.
351 Default: https.
351 (default: https)
352
352
353 If no suitable authentication entry is found, the user is prompted
353 If no suitable authentication entry is found, the user is prompted
354 for credentials as usual if required by the remote.
354 for credentials as usual if required by the remote.
355
355
356
356
357 ``committemplate``
357 ``committemplate``
358 ------------------
358 ------------------
359
359
360 ``changeset``
360 ``changeset``
361 String: configuration in this section is used as the template to
361 String: configuration in this section is used as the template to
362 customize the text shown in the editor when committing.
362 customize the text shown in the editor when committing.
363
363
364 In addition to pre-defined template keywords, commit log specific one
364 In addition to pre-defined template keywords, commit log specific one
365 below can be used for customization:
365 below can be used for customization:
366
366
367 ``extramsg``
367 ``extramsg``
368 String: Extra message (typically 'Leave message empty to abort
368 String: Extra message (typically 'Leave message empty to abort
369 commit.'). This may be changed by some commands or extensions.
369 commit.'). This may be changed by some commands or extensions.
370
370
371 For example, the template configuration below shows as same text as
371 For example, the template configuration below shows as same text as
372 one shown by default::
372 one shown by default::
373
373
374 [committemplate]
374 [committemplate]
375 changeset = {desc}\n\n
375 changeset = {desc}\n\n
376 HG: Enter commit message. Lines beginning with 'HG:' are removed.
376 HG: Enter commit message. Lines beginning with 'HG:' are removed.
377 HG: {extramsg}
377 HG: {extramsg}
378 HG: --
378 HG: --
379 HG: user: {author}\n{ifeq(p2rev, "-1", "",
379 HG: user: {author}\n{ifeq(p2rev, "-1", "",
380 "HG: branch merge\n")
380 "HG: branch merge\n")
381 }HG: branch '{branch}'\n{if(activebookmark,
381 }HG: branch '{branch}'\n{if(activebookmark,
382 "HG: bookmark '{activebookmark}'\n") }{subrepos %
382 "HG: bookmark '{activebookmark}'\n") }{subrepos %
383 "HG: subrepo {subrepo}\n" }{file_adds %
383 "HG: subrepo {subrepo}\n" }{file_adds %
384 "HG: added {file}\n" }{file_mods %
384 "HG: added {file}\n" }{file_mods %
385 "HG: changed {file}\n" }{file_dels %
385 "HG: changed {file}\n" }{file_dels %
386 "HG: removed {file}\n" }{if(files, "",
386 "HG: removed {file}\n" }{if(files, "",
387 "HG: no files changed\n")}
387 "HG: no files changed\n")}
388
388
389 .. note::
389 .. note::
390
390
391 For some problematic encodings (see :hg:`help win32mbcs` for
391 For some problematic encodings (see :hg:`help win32mbcs` for
392 detail), this customization should be configured carefully, to
392 detail), this customization should be configured carefully, to
393 avoid showing broken characters.
393 avoid showing broken characters.
394
394
395 For example, if multibyte character ending with backslash (0x5c) is
395 For example, if multibyte character ending with backslash (0x5c) is
396 followed by ASCII character 'n' in the customized template,
396 followed by ASCII character 'n' in the customized template,
397 sequence of backslash and 'n' is treated as line-feed unexpectedly
397 sequence of backslash and 'n' is treated as line-feed unexpectedly
398 (and multibyte character is broken, too).
398 (and multibyte character is broken, too).
399
399
400 Customized template is used for commands below (``--edit`` may be
400 Customized template is used for commands below (``--edit`` may be
401 required):
401 required):
402
402
403 - :hg:`backout`
403 - :hg:`backout`
404 - :hg:`commit`
404 - :hg:`commit`
405 - :hg:`fetch` (for merge commit only)
405 - :hg:`fetch` (for merge commit only)
406 - :hg:`graft`
406 - :hg:`graft`
407 - :hg:`histedit`
407 - :hg:`histedit`
408 - :hg:`import`
408 - :hg:`import`
409 - :hg:`qfold`, :hg:`qnew` and :hg:`qrefresh`
409 - :hg:`qfold`, :hg:`qnew` and :hg:`qrefresh`
410 - :hg:`rebase`
410 - :hg:`rebase`
411 - :hg:`shelve`
411 - :hg:`shelve`
412 - :hg:`sign`
412 - :hg:`sign`
413 - :hg:`tag`
413 - :hg:`tag`
414 - :hg:`transplant`
414 - :hg:`transplant`
415
415
416 Configuring items below instead of ``changeset`` allows showing
416 Configuring items below instead of ``changeset`` allows showing
417 customized message only for specific actions, or showing different
417 customized message only for specific actions, or showing different
418 messages for each action.
418 messages for each action.
419
419
420 - ``changeset.backout`` for :hg:`backout`
420 - ``changeset.backout`` for :hg:`backout`
421 - ``changeset.commit.amend.merge`` for :hg:`commit --amend` on merges
421 - ``changeset.commit.amend.merge`` for :hg:`commit --amend` on merges
422 - ``changeset.commit.amend.normal`` for :hg:`commit --amend` on other
422 - ``changeset.commit.amend.normal`` for :hg:`commit --amend` on other
423 - ``changeset.commit.normal.merge`` for :hg:`commit` on merges
423 - ``changeset.commit.normal.merge`` for :hg:`commit` on merges
424 - ``changeset.commit.normal.normal`` for :hg:`commit` on other
424 - ``changeset.commit.normal.normal`` for :hg:`commit` on other
425 - ``changeset.fetch`` for :hg:`fetch` (impling merge commit)
425 - ``changeset.fetch`` for :hg:`fetch` (impling merge commit)
426 - ``changeset.gpg.sign`` for :hg:`sign`
426 - ``changeset.gpg.sign`` for :hg:`sign`
427 - ``changeset.graft`` for :hg:`graft`
427 - ``changeset.graft`` for :hg:`graft`
428 - ``changeset.histedit.edit`` for ``edit`` of :hg:`histedit`
428 - ``changeset.histedit.edit`` for ``edit`` of :hg:`histedit`
429 - ``changeset.histedit.fold`` for ``fold`` of :hg:`histedit`
429 - ``changeset.histedit.fold`` for ``fold`` of :hg:`histedit`
430 - ``changeset.histedit.mess`` for ``mess`` of :hg:`histedit`
430 - ``changeset.histedit.mess`` for ``mess`` of :hg:`histedit`
431 - ``changeset.histedit.pick`` for ``pick`` of :hg:`histedit`
431 - ``changeset.histedit.pick`` for ``pick`` of :hg:`histedit`
432 - ``changeset.import.bypass`` for :hg:`import --bypass`
432 - ``changeset.import.bypass`` for :hg:`import --bypass`
433 - ``changeset.import.normal.merge`` for :hg:`import` on merges
433 - ``changeset.import.normal.merge`` for :hg:`import` on merges
434 - ``changeset.import.normal.normal`` for :hg:`import` on other
434 - ``changeset.import.normal.normal`` for :hg:`import` on other
435 - ``changeset.mq.qnew`` for :hg:`qnew`
435 - ``changeset.mq.qnew`` for :hg:`qnew`
436 - ``changeset.mq.qfold`` for :hg:`qfold`
436 - ``changeset.mq.qfold`` for :hg:`qfold`
437 - ``changeset.mq.qrefresh`` for :hg:`qrefresh`
437 - ``changeset.mq.qrefresh`` for :hg:`qrefresh`
438 - ``changeset.rebase.collapse`` for :hg:`rebase --collapse`
438 - ``changeset.rebase.collapse`` for :hg:`rebase --collapse`
439 - ``changeset.rebase.merge`` for :hg:`rebase` on merges
439 - ``changeset.rebase.merge`` for :hg:`rebase` on merges
440 - ``changeset.rebase.normal`` for :hg:`rebase` on other
440 - ``changeset.rebase.normal`` for :hg:`rebase` on other
441 - ``changeset.shelve.shelve`` for :hg:`shelve`
441 - ``changeset.shelve.shelve`` for :hg:`shelve`
442 - ``changeset.tag.add`` for :hg:`tag` without ``--remove``
442 - ``changeset.tag.add`` for :hg:`tag` without ``--remove``
443 - ``changeset.tag.remove`` for :hg:`tag --remove`
443 - ``changeset.tag.remove`` for :hg:`tag --remove`
444 - ``changeset.transplant.merge`` for :hg:`transplant` on merges
444 - ``changeset.transplant.merge`` for :hg:`transplant` on merges
445 - ``changeset.transplant.normal`` for :hg:`transplant` on other
445 - ``changeset.transplant.normal`` for :hg:`transplant` on other
446
446
447 These dot-separated lists of names are treated as hierarchical ones.
447 These dot-separated lists of names are treated as hierarchical ones.
448 For example, ``changeset.tag.remove`` customizes the commit message
448 For example, ``changeset.tag.remove`` customizes the commit message
449 only for :hg:`tag --remove`, but ``changeset.tag`` customizes the
449 only for :hg:`tag --remove`, but ``changeset.tag`` customizes the
450 commit message for :hg:`tag` regardless of ``--remove`` option.
450 commit message for :hg:`tag` regardless of ``--remove`` option.
451
451
452 At the external editor invocation for committing, corresponding
452 At the external editor invocation for committing, corresponding
453 dot-separated list of names without ``changeset.`` prefix
453 dot-separated list of names without ``changeset.`` prefix
454 (e.g. ``commit.normal.normal``) is in ``HGEDITFORM`` environment variable.
454 (e.g. ``commit.normal.normal``) is in ``HGEDITFORM`` environment variable.
455
455
456 In this section, items other than ``changeset`` can be referred from
456 In this section, items other than ``changeset`` can be referred from
457 others. For example, the configuration to list committed files up
457 others. For example, the configuration to list committed files up
458 below can be referred as ``{listupfiles}``::
458 below can be referred as ``{listupfiles}``::
459
459
460 [committemplate]
460 [committemplate]
461 listupfiles = {file_adds %
461 listupfiles = {file_adds %
462 "HG: added {file}\n" }{file_mods %
462 "HG: added {file}\n" }{file_mods %
463 "HG: changed {file}\n" }{file_dels %
463 "HG: changed {file}\n" }{file_dels %
464 "HG: removed {file}\n" }{if(files, "",
464 "HG: removed {file}\n" }{if(files, "",
465 "HG: no files changed\n")}
465 "HG: no files changed\n")}
466
466
467 ``decode/encode``
467 ``decode/encode``
468 -----------------
468 -----------------
469
469
470 Filters for transforming files on checkout/checkin. This would
470 Filters for transforming files on checkout/checkin. This would
471 typically be used for newline processing or other
471 typically be used for newline processing or other
472 localization/canonicalization of files.
472 localization/canonicalization of files.
473
473
474 Filters consist of a filter pattern followed by a filter command.
474 Filters consist of a filter pattern followed by a filter command.
475 Filter patterns are globs by default, rooted at the repository root.
475 Filter patterns are globs by default, rooted at the repository root.
476 For example, to match any file ending in ``.txt`` in the root
476 For example, to match any file ending in ``.txt`` in the root
477 directory only, use the pattern ``*.txt``. To match any file ending
477 directory only, use the pattern ``*.txt``. To match any file ending
478 in ``.c`` anywhere in the repository, use the pattern ``**.c``.
478 in ``.c`` anywhere in the repository, use the pattern ``**.c``.
479 For each file only the first matching filter applies.
479 For each file only the first matching filter applies.
480
480
481 The filter command can start with a specifier, either ``pipe:`` or
481 The filter command can start with a specifier, either ``pipe:`` or
482 ``tempfile:``. If no specifier is given, ``pipe:`` is used by default.
482 ``tempfile:``. If no specifier is given, ``pipe:`` is used by default.
483
483
484 A ``pipe:`` command must accept data on stdin and return the transformed
484 A ``pipe:`` command must accept data on stdin and return the transformed
485 data on stdout.
485 data on stdout.
486
486
487 Pipe example::
487 Pipe example::
488
488
489 [encode]
489 [encode]
490 # uncompress gzip files on checkin to improve delta compression
490 # uncompress gzip files on checkin to improve delta compression
491 # note: not necessarily a good idea, just an example
491 # note: not necessarily a good idea, just an example
492 *.gz = pipe: gunzip
492 *.gz = pipe: gunzip
493
493
494 [decode]
494 [decode]
495 # recompress gzip files when writing them to the working dir (we
495 # recompress gzip files when writing them to the working dir (we
496 # can safely omit "pipe:", because it's the default)
496 # can safely omit "pipe:", because it's the default)
497 *.gz = gzip
497 *.gz = gzip
498
498
499 A ``tempfile:`` command is a template. The string ``INFILE`` is replaced
499 A ``tempfile:`` command is a template. The string ``INFILE`` is replaced
500 with the name of a temporary file that contains the data to be
500 with the name of a temporary file that contains the data to be
501 filtered by the command. The string ``OUTFILE`` is replaced with the name
501 filtered by the command. The string ``OUTFILE`` is replaced with the name
502 of an empty temporary file, where the filtered data must be written by
502 of an empty temporary file, where the filtered data must be written by
503 the command.
503 the command.
504
504
505 .. note::
505 .. note::
506
506
507 The tempfile mechanism is recommended for Windows systems,
507 The tempfile mechanism is recommended for Windows systems,
508 where the standard shell I/O redirection operators often have
508 where the standard shell I/O redirection operators often have
509 strange effects and may corrupt the contents of your files.
509 strange effects and may corrupt the contents of your files.
510
510
511 This filter mechanism is used internally by the ``eol`` extension to
511 This filter mechanism is used internally by the ``eol`` extension to
512 translate line ending characters between Windows (CRLF) and Unix (LF)
512 translate line ending characters between Windows (CRLF) and Unix (LF)
513 format. We suggest you use the ``eol`` extension for convenience.
513 format. We suggest you use the ``eol`` extension for convenience.
514
514
515
515
516 ``defaults``
516 ``defaults``
517 ------------
517 ------------
518
518
519 (defaults are deprecated. Don't use them. Use aliases instead.)
519 (defaults are deprecated. Don't use them. Use aliases instead.)
520
520
521 Use the ``[defaults]`` section to define command defaults, i.e. the
521 Use the ``[defaults]`` section to define command defaults, i.e. the
522 default options/arguments to pass to the specified commands.
522 default options/arguments to pass to the specified commands.
523
523
524 The following example makes :hg:`log` run in verbose mode, and
524 The following example makes :hg:`log` run in verbose mode, and
525 :hg:`status` show only the modified files, by default::
525 :hg:`status` show only the modified files, by default::
526
526
527 [defaults]
527 [defaults]
528 log = -v
528 log = -v
529 status = -m
529 status = -m
530
530
531 The actual commands, instead of their aliases, must be used when
531 The actual commands, instead of their aliases, must be used when
532 defining command defaults. The command defaults will also be applied
532 defining command defaults. The command defaults will also be applied
533 to the aliases of the commands defined.
533 to the aliases of the commands defined.
534
534
535
535
536 ``diff``
536 ``diff``
537 --------
537 --------
538
538
539 Settings used when displaying diffs. Everything except for ``unified``
539 Settings used when displaying diffs. Everything except for ``unified``
540 is a Boolean and defaults to False. See ``annotate`` section for
540 is a Boolean and defaults to False. See ``annotate`` section for
541 related options for the annotate command.
541 related options for the annotate command.
542
542
543 ``git``
543 ``git``
544 Use git extended diff format.
544 Use git extended diff format.
545
545
546 ``nobinary``
546 ``nobinary``
547 Omit git binary patches.
547 Omit git binary patches.
548
548
549 ``nodates``
549 ``nodates``
550 Don't include dates in diff headers.
550 Don't include dates in diff headers.
551
551
552 ``noprefix``
552 ``noprefix``
553 Omit 'a/' and 'b/' prefixes from filenames. Ignored in plain mode.
553 Omit 'a/' and 'b/' prefixes from filenames. Ignored in plain mode.
554
554
555 ``showfunc``
555 ``showfunc``
556 Show which function each change is in.
556 Show which function each change is in.
557
557
558 ``ignorews``
558 ``ignorews``
559 Ignore white space when comparing lines.
559 Ignore white space when comparing lines.
560
560
561 ``ignorewsamount``
561 ``ignorewsamount``
562 Ignore changes in the amount of white space.
562 Ignore changes in the amount of white space.
563
563
564 ``ignoreblanklines``
564 ``ignoreblanklines``
565 Ignore changes whose lines are all blank.
565 Ignore changes whose lines are all blank.
566
566
567 ``unified``
567 ``unified``
568 Number of lines of context to show.
568 Number of lines of context to show.
569
569
570 ``email``
570 ``email``
571 ---------
571 ---------
572
572
573 Settings for extensions that send email messages.
573 Settings for extensions that send email messages.
574
574
575 ``from``
575 ``from``
576 Optional. Email address to use in "From" header and SMTP envelope
576 Optional. Email address to use in "From" header and SMTP envelope
577 of outgoing messages.
577 of outgoing messages.
578
578
579 ``to``
579 ``to``
580 Optional. Comma-separated list of recipients' email addresses.
580 Optional. Comma-separated list of recipients' email addresses.
581
581
582 ``cc``
582 ``cc``
583 Optional. Comma-separated list of carbon copy recipients'
583 Optional. Comma-separated list of carbon copy recipients'
584 email addresses.
584 email addresses.
585
585
586 ``bcc``
586 ``bcc``
587 Optional. Comma-separated list of blind carbon copy recipients'
587 Optional. Comma-separated list of blind carbon copy recipients'
588 email addresses.
588 email addresses.
589
589
590 ``method``
590 ``method``
591 Optional. Method to use to send email messages. If value is ``smtp``
591 Optional. Method to use to send email messages. If value is ``smtp``
592 (default), use SMTP (see the ``[smtp]`` section for configuration).
592 (default), use SMTP (see the ``[smtp]`` section for configuration).
593 Otherwise, use as name of program to run that acts like sendmail
593 Otherwise, use as name of program to run that acts like sendmail
594 (takes ``-f`` option for sender, list of recipients on command line,
594 (takes ``-f`` option for sender, list of recipients on command line,
595 message on stdin). Normally, setting this to ``sendmail`` or
595 message on stdin). Normally, setting this to ``sendmail`` or
596 ``/usr/sbin/sendmail`` is enough to use sendmail to send messages.
596 ``/usr/sbin/sendmail`` is enough to use sendmail to send messages.
597
597
598 ``charsets``
598 ``charsets``
599 Optional. Comma-separated list of character sets considered
599 Optional. Comma-separated list of character sets considered
600 convenient for recipients. Addresses, headers, and parts not
600 convenient for recipients. Addresses, headers, and parts not
601 containing patches of outgoing messages will be encoded in the
601 containing patches of outgoing messages will be encoded in the
602 first character set to which conversion from local encoding
602 first character set to which conversion from local encoding
603 (``$HGENCODING``, ``ui.fallbackencoding``) succeeds. If correct
603 (``$HGENCODING``, ``ui.fallbackencoding``) succeeds. If correct
604 conversion fails, the text in question is sent as is. Defaults to
604 conversion fails, the text in question is sent as is.
605 empty (explicit) list.
605 (default: '')
606
606
607 Order of outgoing email character sets:
607 Order of outgoing email character sets:
608
608
609 1. ``us-ascii``: always first, regardless of settings
609 1. ``us-ascii``: always first, regardless of settings
610 2. ``email.charsets``: in order given by user
610 2. ``email.charsets``: in order given by user
611 3. ``ui.fallbackencoding``: if not in email.charsets
611 3. ``ui.fallbackencoding``: if not in email.charsets
612 4. ``$HGENCODING``: if not in email.charsets
612 4. ``$HGENCODING``: if not in email.charsets
613 5. ``utf-8``: always last, regardless of settings
613 5. ``utf-8``: always last, regardless of settings
614
614
615 Email example::
615 Email example::
616
616
617 [email]
617 [email]
618 from = Joseph User <joe.user@example.com>
618 from = Joseph User <joe.user@example.com>
619 method = /usr/sbin/sendmail
619 method = /usr/sbin/sendmail
620 # charsets for western Europeans
620 # charsets for western Europeans
621 # us-ascii, utf-8 omitted, as they are tried first and last
621 # us-ascii, utf-8 omitted, as they are tried first and last
622 charsets = iso-8859-1, iso-8859-15, windows-1252
622 charsets = iso-8859-1, iso-8859-15, windows-1252
623
623
624
624
625 ``extensions``
625 ``extensions``
626 --------------
626 --------------
627
627
628 Mercurial has an extension mechanism for adding new features. To
628 Mercurial has an extension mechanism for adding new features. To
629 enable an extension, create an entry for it in this section.
629 enable an extension, create an entry for it in this section.
630
630
631 If you know that the extension is already in Python's search path,
631 If you know that the extension is already in Python's search path,
632 you can give the name of the module, followed by ``=``, with nothing
632 you can give the name of the module, followed by ``=``, with nothing
633 after the ``=``.
633 after the ``=``.
634
634
635 Otherwise, give a name that you choose, followed by ``=``, followed by
635 Otherwise, give a name that you choose, followed by ``=``, followed by
636 the path to the ``.py`` file (including the file name extension) that
636 the path to the ``.py`` file (including the file name extension) that
637 defines the extension.
637 defines the extension.
638
638
639 To explicitly disable an extension that is enabled in an hgrc of
639 To explicitly disable an extension that is enabled in an hgrc of
640 broader scope, prepend its path with ``!``, as in ``foo = !/ext/path``
640 broader scope, prepend its path with ``!``, as in ``foo = !/ext/path``
641 or ``foo = !`` when path is not supplied.
641 or ``foo = !`` when path is not supplied.
642
642
643 Example for ``~/.hgrc``::
643 Example for ``~/.hgrc``::
644
644
645 [extensions]
645 [extensions]
646 # (the color extension will get loaded from Mercurial's path)
646 # (the color extension will get loaded from Mercurial's path)
647 color =
647 color =
648 # (this extension will get loaded from the file specified)
648 # (this extension will get loaded from the file specified)
649 myfeature = ~/.hgext/myfeature.py
649 myfeature = ~/.hgext/myfeature.py
650
650
651
651
652 ``format``
652 ``format``
653 ----------
653 ----------
654
654
655 ``usestore``
655 ``usestore``
656 Enable or disable the "store" repository format which improves
656 Enable or disable the "store" repository format which improves
657 compatibility with systems that fold case or otherwise mangle
657 compatibility with systems that fold case or otherwise mangle
658 filenames. Enabled by default. Disabling this option will allow
658 filenames. Enabled by default. Disabling this option will allow
659 you to store longer filenames in some situations at the expense of
659 you to store longer filenames in some situations at the expense of
660 compatibility and ensures that the on-disk format of newly created
660 compatibility and ensures that the on-disk format of newly created
661 repositories will be compatible with Mercurial before version 0.9.4.
661 repositories will be compatible with Mercurial before version 0.9.4.
662
662
663 ``usefncache``
663 ``usefncache``
664 Enable or disable the "fncache" repository format which enhances
664 Enable or disable the "fncache" repository format which enhances
665 the "store" repository format (which has to be enabled to use
665 the "store" repository format (which has to be enabled to use
666 fncache) to allow longer filenames and avoids using Windows
666 fncache) to allow longer filenames and avoids using Windows
667 reserved names, e.g. "nul". Enabled by default. Disabling this
667 reserved names, e.g. "nul". Enabled by default. Disabling this
668 option ensures that the on-disk format of newly created
668 option ensures that the on-disk format of newly created
669 repositories will be compatible with Mercurial before version 1.1.
669 repositories will be compatible with Mercurial before version 1.1.
670
670
671 ``dotencode``
671 ``dotencode``
672 Enable or disable the "dotencode" repository format which enhances
672 Enable or disable the "dotencode" repository format which enhances
673 the "fncache" repository format (which has to be enabled to use
673 the "fncache" repository format (which has to be enabled to use
674 dotencode) to avoid issues with filenames starting with ._ on
674 dotencode) to avoid issues with filenames starting with ._ on
675 Mac OS X and spaces on Windows. Enabled by default. Disabling this
675 Mac OS X and spaces on Windows. Enabled by default. Disabling this
676 option ensures that the on-disk format of newly created
676 option ensures that the on-disk format of newly created
677 repositories will be compatible with Mercurial before version 1.7.
677 repositories will be compatible with Mercurial before version 1.7.
678
678
679 ``graph``
679 ``graph``
680 ---------
680 ---------
681
681
682 Web graph view configuration. This section let you change graph
682 Web graph view configuration. This section let you change graph
683 elements display properties by branches, for instance to make the
683 elements display properties by branches, for instance to make the
684 ``default`` branch stand out.
684 ``default`` branch stand out.
685
685
686 Each line has the following format::
686 Each line has the following format::
687
687
688 <branch>.<argument> = <value>
688 <branch>.<argument> = <value>
689
689
690 where ``<branch>`` is the name of the branch being
690 where ``<branch>`` is the name of the branch being
691 customized. Example::
691 customized. Example::
692
692
693 [graph]
693 [graph]
694 # 2px width
694 # 2px width
695 default.width = 2
695 default.width = 2
696 # red color
696 # red color
697 default.color = FF0000
697 default.color = FF0000
698
698
699 Supported arguments:
699 Supported arguments:
700
700
701 ``width``
701 ``width``
702 Set branch edges width in pixels.
702 Set branch edges width in pixels.
703
703
704 ``color``
704 ``color``
705 Set branch edges color in hexadecimal RGB notation.
705 Set branch edges color in hexadecimal RGB notation.
706
706
707 ``hooks``
707 ``hooks``
708 ---------
708 ---------
709
709
710 Commands or Python functions that get automatically executed by
710 Commands or Python functions that get automatically executed by
711 various actions such as starting or finishing a commit. Multiple
711 various actions such as starting or finishing a commit. Multiple
712 hooks can be run for the same action by appending a suffix to the
712 hooks can be run for the same action by appending a suffix to the
713 action. Overriding a site-wide hook can be done by changing its
713 action. Overriding a site-wide hook can be done by changing its
714 value or setting it to an empty string. Hooks can be prioritized
714 value or setting it to an empty string. Hooks can be prioritized
715 by adding a prefix of ``priority`` to the hook name on a new line
715 by adding a prefix of ``priority`` to the hook name on a new line
716 and setting the priority. The default priority is 0.
716 and setting the priority. The default priority is 0.
717
717
718 Example ``.hg/hgrc``::
718 Example ``.hg/hgrc``::
719
719
720 [hooks]
720 [hooks]
721 # update working directory after adding changesets
721 # update working directory after adding changesets
722 changegroup.update = hg update
722 changegroup.update = hg update
723 # do not use the site-wide hook
723 # do not use the site-wide hook
724 incoming =
724 incoming =
725 incoming.email = /my/email/hook
725 incoming.email = /my/email/hook
726 incoming.autobuild = /my/build/hook
726 incoming.autobuild = /my/build/hook
727 # force autobuild hook to run before other incoming hooks
727 # force autobuild hook to run before other incoming hooks
728 priority.incoming.autobuild = 1
728 priority.incoming.autobuild = 1
729
729
730 Most hooks are run with environment variables set that give useful
730 Most hooks are run with environment variables set that give useful
731 additional information. For each hook below, the environment
731 additional information. For each hook below, the environment
732 variables it is passed are listed with names of the form ``$HG_foo``.
732 variables it is passed are listed with names of the form ``$HG_foo``.
733
733
734 ``changegroup``
734 ``changegroup``
735 Run after a changegroup has been added via push, pull or unbundle.
735 Run after a changegroup has been added via push, pull or unbundle.
736 ID of the first new changeset is in ``$HG_NODE``. URL from which
736 ID of the first new changeset is in ``$HG_NODE``. URL from which
737 changes came is in ``$HG_URL``.
737 changes came is in ``$HG_URL``.
738
738
739 ``commit``
739 ``commit``
740 Run after a changeset has been created in the local repository. ID
740 Run after a changeset has been created in the local repository. ID
741 of the newly created changeset is in ``$HG_NODE``. Parent changeset
741 of the newly created changeset is in ``$HG_NODE``. Parent changeset
742 IDs are in ``$HG_PARENT1`` and ``$HG_PARENT2``.
742 IDs are in ``$HG_PARENT1`` and ``$HG_PARENT2``.
743
743
744 ``incoming``
744 ``incoming``
745 Run after a changeset has been pulled, pushed, or unbundled into
745 Run after a changeset has been pulled, pushed, or unbundled into
746 the local repository. The ID of the newly arrived changeset is in
746 the local repository. The ID of the newly arrived changeset is in
747 ``$HG_NODE``. URL that was source of changes came is in ``$HG_URL``.
747 ``$HG_NODE``. URL that was source of changes came is in ``$HG_URL``.
748
748
749 ``outgoing``
749 ``outgoing``
750 Run after sending changes from local repository to another. ID of
750 Run after sending changes from local repository to another. ID of
751 first changeset sent is in ``$HG_NODE``. Source of operation is in
751 first changeset sent is in ``$HG_NODE``. Source of operation is in
752 ``$HG_SOURCE``; see "preoutgoing" hook for description.
752 ``$HG_SOURCE``; see "preoutgoing" hook for description.
753
753
754 ``post-<command>``
754 ``post-<command>``
755 Run after successful invocations of the associated command. The
755 Run after successful invocations of the associated command. The
756 contents of the command line are passed as ``$HG_ARGS`` and the result
756 contents of the command line are passed as ``$HG_ARGS`` and the result
757 code in ``$HG_RESULT``. Parsed command line arguments are passed as
757 code in ``$HG_RESULT``. Parsed command line arguments are passed as
758 ``$HG_PATS`` and ``$HG_OPTS``. These contain string representations of
758 ``$HG_PATS`` and ``$HG_OPTS``. These contain string representations of
759 the python data internally passed to <command>. ``$HG_OPTS`` is a
759 the python data internally passed to <command>. ``$HG_OPTS`` is a
760 dictionary of options (with unspecified options set to their defaults).
760 dictionary of options (with unspecified options set to their defaults).
761 ``$HG_PATS`` is a list of arguments. Hook failure is ignored.
761 ``$HG_PATS`` is a list of arguments. Hook failure is ignored.
762
762
763 ``pre-<command>``
763 ``pre-<command>``
764 Run before executing the associated command. The contents of the
764 Run before executing the associated command. The contents of the
765 command line are passed as ``$HG_ARGS``. Parsed command line arguments
765 command line are passed as ``$HG_ARGS``. Parsed command line arguments
766 are passed as ``$HG_PATS`` and ``$HG_OPTS``. These contain string
766 are passed as ``$HG_PATS`` and ``$HG_OPTS``. These contain string
767 representations of the data internally passed to <command>. ``$HG_OPTS``
767 representations of the data internally passed to <command>. ``$HG_OPTS``
768 is a dictionary of options (with unspecified options set to their
768 is a dictionary of options (with unspecified options set to their
769 defaults). ``$HG_PATS`` is a list of arguments. If the hook returns
769 defaults). ``$HG_PATS`` is a list of arguments. If the hook returns
770 failure, the command doesn't execute and Mercurial returns the failure
770 failure, the command doesn't execute and Mercurial returns the failure
771 code.
771 code.
772
772
773 ``prechangegroup``
773 ``prechangegroup``
774 Run before a changegroup is added via push, pull or unbundle. Exit
774 Run before a changegroup is added via push, pull or unbundle. Exit
775 status 0 allows the changegroup to proceed. Non-zero status will
775 status 0 allows the changegroup to proceed. Non-zero status will
776 cause the push, pull or unbundle to fail. URL from which changes
776 cause the push, pull or unbundle to fail. URL from which changes
777 will come is in ``$HG_URL``.
777 will come is in ``$HG_URL``.
778
778
779 ``precommit``
779 ``precommit``
780 Run before starting a local commit. Exit status 0 allows the
780 Run before starting a local commit. Exit status 0 allows the
781 commit to proceed. Non-zero status will cause the commit to fail.
781 commit to proceed. Non-zero status will cause the commit to fail.
782 Parent changeset IDs are in ``$HG_PARENT1`` and ``$HG_PARENT2``.
782 Parent changeset IDs are in ``$HG_PARENT1`` and ``$HG_PARENT2``.
783
783
784 ``prelistkeys``
784 ``prelistkeys``
785 Run before listing pushkeys (like bookmarks) in the
785 Run before listing pushkeys (like bookmarks) in the
786 repository. Non-zero status will cause failure. The key namespace is
786 repository. Non-zero status will cause failure. The key namespace is
787 in ``$HG_NAMESPACE``.
787 in ``$HG_NAMESPACE``.
788
788
789 ``preoutgoing``
789 ``preoutgoing``
790 Run before collecting changes to send from the local repository to
790 Run before collecting changes to send from the local repository to
791 another. Non-zero status will cause failure. This lets you prevent
791 another. Non-zero status will cause failure. This lets you prevent
792 pull over HTTP or SSH. Also prevents against local pull, push
792 pull over HTTP or SSH. Also prevents against local pull, push
793 (outbound) or bundle commands, but not effective, since you can
793 (outbound) or bundle commands, but not effective, since you can
794 just copy files instead then. Source of operation is in
794 just copy files instead then. Source of operation is in
795 ``$HG_SOURCE``. If "serve", operation is happening on behalf of remote
795 ``$HG_SOURCE``. If "serve", operation is happening on behalf of remote
796 SSH or HTTP repository. If "push", "pull" or "bundle", operation
796 SSH or HTTP repository. If "push", "pull" or "bundle", operation
797 is happening on behalf of repository on same system.
797 is happening on behalf of repository on same system.
798
798
799 ``prepushkey``
799 ``prepushkey``
800 Run before a pushkey (like a bookmark) is added to the
800 Run before a pushkey (like a bookmark) is added to the
801 repository. Non-zero status will cause the key to be rejected. The
801 repository. Non-zero status will cause the key to be rejected. The
802 key namespace is in ``$HG_NAMESPACE``, the key is in ``$HG_KEY``,
802 key namespace is in ``$HG_NAMESPACE``, the key is in ``$HG_KEY``,
803 the old value (if any) is in ``$HG_OLD``, and the new value is in
803 the old value (if any) is in ``$HG_OLD``, and the new value is in
804 ``$HG_NEW``.
804 ``$HG_NEW``.
805
805
806 ``pretag``
806 ``pretag``
807 Run before creating a tag. Exit status 0 allows the tag to be
807 Run before creating a tag. Exit status 0 allows the tag to be
808 created. Non-zero status will cause the tag to fail. ID of
808 created. Non-zero status will cause the tag to fail. ID of
809 changeset to tag is in ``$HG_NODE``. Name of tag is in ``$HG_TAG``. Tag is
809 changeset to tag is in ``$HG_NODE``. Name of tag is in ``$HG_TAG``. Tag is
810 local if ``$HG_LOCAL=1``, in repository if ``$HG_LOCAL=0``.
810 local if ``$HG_LOCAL=1``, in repository if ``$HG_LOCAL=0``.
811
811
812 ``pretxnopen``
812 ``pretxnopen``
813 Run before any new repository transaction is open. The reason for the
813 Run before any new repository transaction is open. The reason for the
814 transaction will be in ``$HG_TXNNAME`` and a unique identifier for the
814 transaction will be in ``$HG_TXNNAME`` and a unique identifier for the
815 transaction will be in ``HG_TXNID``. A non-zero status will prevent the
815 transaction will be in ``HG_TXNID``. A non-zero status will prevent the
816 transaction from being opened.
816 transaction from being opened.
817
817
818 ``pretxnclose``
818 ``pretxnclose``
819 Run right before the transaction is actually finalized. Any
819 Run right before the transaction is actually finalized. Any
820 repository change will be visible to the hook program. This lets you
820 repository change will be visible to the hook program. This lets you
821 validate the transaction content or change it. Exit status 0 allows
821 validate the transaction content or change it. Exit status 0 allows
822 the commit to proceed. Non-zero status will cause the transaction to
822 the commit to proceed. Non-zero status will cause the transaction to
823 be rolled back. The reason for the transaction opening will be in
823 be rolled back. The reason for the transaction opening will be in
824 ``$HG_TXNNAME`` and a unique identifier for the transaction will be in
824 ``$HG_TXNNAME`` and a unique identifier for the transaction will be in
825 ``HG_TXNID``. The rest of the available data will vary according the
825 ``HG_TXNID``. The rest of the available data will vary according the
826 transaction type. New changesets will add ``$HG_NODE`` (id of the
826 transaction type. New changesets will add ``$HG_NODE`` (id of the
827 first added changeset), ``$HG_URL`` and ``$HG_SOURCE`` variables,
827 first added changeset), ``$HG_URL`` and ``$HG_SOURCE`` variables,
828 bookmarks and phases changes will set ``HG_BOOKMARK_MOVED`` and
828 bookmarks and phases changes will set ``HG_BOOKMARK_MOVED`` and
829 ``HG_PHASES_MOVED`` to ``1``, etc.
829 ``HG_PHASES_MOVED`` to ``1``, etc.
830
830
831 ``txnclose``
831 ``txnclose``
832 Run after any repository transaction has been committed. At this
832 Run after any repository transaction has been committed. At this
833 point, the transaction can no longer be rolled back. The hook will run
833 point, the transaction can no longer be rolled back. The hook will run
834 after the lock is released. See ``pretxnclose`` docs for details about
834 after the lock is released. See ``pretxnclose`` docs for details about
835 available variables.
835 available variables.
836
836
837 ``txnabort``
837 ``txnabort``
838 Run when a transaction is aborted. See ``pretxnclose`` docs for details about
838 Run when a transaction is aborted. See ``pretxnclose`` docs for details about
839 available variables.
839 available variables.
840
840
841 ``pretxnchangegroup``
841 ``pretxnchangegroup``
842 Run after a changegroup has been added via push, pull or unbundle,
842 Run after a changegroup has been added via push, pull or unbundle,
843 but before the transaction has been committed. Changegroup is
843 but before the transaction has been committed. Changegroup is
844 visible to hook program. This lets you validate incoming changes
844 visible to hook program. This lets you validate incoming changes
845 before accepting them. Passed the ID of the first new changeset in
845 before accepting them. Passed the ID of the first new changeset in
846 ``$HG_NODE``. Exit status 0 allows the transaction to commit. Non-zero
846 ``$HG_NODE``. Exit status 0 allows the transaction to commit. Non-zero
847 status will cause the transaction to be rolled back and the push,
847 status will cause the transaction to be rolled back and the push,
848 pull or unbundle will fail. URL that was source of changes is in
848 pull or unbundle will fail. URL that was source of changes is in
849 ``$HG_URL``.
849 ``$HG_URL``.
850
850
851 ``pretxncommit``
851 ``pretxncommit``
852 Run after a changeset has been created but the transaction not yet
852 Run after a changeset has been created but the transaction not yet
853 committed. Changeset is visible to hook program. This lets you
853 committed. Changeset is visible to hook program. This lets you
854 validate commit message and changes. Exit status 0 allows the
854 validate commit message and changes. Exit status 0 allows the
855 commit to proceed. Non-zero status will cause the transaction to
855 commit to proceed. Non-zero status will cause the transaction to
856 be rolled back. ID of changeset is in ``$HG_NODE``. Parent changeset
856 be rolled back. ID of changeset is in ``$HG_NODE``. Parent changeset
857 IDs are in ``$HG_PARENT1`` and ``$HG_PARENT2``.
857 IDs are in ``$HG_PARENT1`` and ``$HG_PARENT2``.
858
858
859 ``preupdate``
859 ``preupdate``
860 Run before updating the working directory. Exit status 0 allows
860 Run before updating the working directory. Exit status 0 allows
861 the update to proceed. Non-zero status will prevent the update.
861 the update to proceed. Non-zero status will prevent the update.
862 Changeset ID of first new parent is in ``$HG_PARENT1``. If merge, ID
862 Changeset ID of first new parent is in ``$HG_PARENT1``. If merge, ID
863 of second new parent is in ``$HG_PARENT2``.
863 of second new parent is in ``$HG_PARENT2``.
864
864
865 ``listkeys``
865 ``listkeys``
866 Run after listing pushkeys (like bookmarks) in the repository. The
866 Run after listing pushkeys (like bookmarks) in the repository. The
867 key namespace is in ``$HG_NAMESPACE``. ``$HG_VALUES`` is a
867 key namespace is in ``$HG_NAMESPACE``. ``$HG_VALUES`` is a
868 dictionary containing the keys and values.
868 dictionary containing the keys and values.
869
869
870 ``pushkey``
870 ``pushkey``
871 Run after a pushkey (like a bookmark) is added to the
871 Run after a pushkey (like a bookmark) is added to the
872 repository. The key namespace is in ``$HG_NAMESPACE``, the key is in
872 repository. The key namespace is in ``$HG_NAMESPACE``, the key is in
873 ``$HG_KEY``, the old value (if any) is in ``$HG_OLD``, and the new
873 ``$HG_KEY``, the old value (if any) is in ``$HG_OLD``, and the new
874 value is in ``$HG_NEW``.
874 value is in ``$HG_NEW``.
875
875
876 ``tag``
876 ``tag``
877 Run after a tag is created. ID of tagged changeset is in ``$HG_NODE``.
877 Run after a tag is created. ID of tagged changeset is in ``$HG_NODE``.
878 Name of tag is in ``$HG_TAG``. Tag is local if ``$HG_LOCAL=1``, in
878 Name of tag is in ``$HG_TAG``. Tag is local if ``$HG_LOCAL=1``, in
879 repository if ``$HG_LOCAL=0``.
879 repository if ``$HG_LOCAL=0``.
880
880
881 ``update``
881 ``update``
882 Run after updating the working directory. Changeset ID of first
882 Run after updating the working directory. Changeset ID of first
883 new parent is in ``$HG_PARENT1``. If merge, ID of second new parent is
883 new parent is in ``$HG_PARENT1``. If merge, ID of second new parent is
884 in ``$HG_PARENT2``. If the update succeeded, ``$HG_ERROR=0``. If the
884 in ``$HG_PARENT2``. If the update succeeded, ``$HG_ERROR=0``. If the
885 update failed (e.g. because conflicts not resolved), ``$HG_ERROR=1``.
885 update failed (e.g. because conflicts not resolved), ``$HG_ERROR=1``.
886
886
887 .. note::
887 .. note::
888
888
889 It is generally better to use standard hooks rather than the
889 It is generally better to use standard hooks rather than the
890 generic pre- and post- command hooks as they are guaranteed to be
890 generic pre- and post- command hooks as they are guaranteed to be
891 called in the appropriate contexts for influencing transactions.
891 called in the appropriate contexts for influencing transactions.
892 Also, hooks like "commit" will be called in all contexts that
892 Also, hooks like "commit" will be called in all contexts that
893 generate a commit (e.g. tag) and not just the commit command.
893 generate a commit (e.g. tag) and not just the commit command.
894
894
895 .. note::
895 .. note::
896
896
897 Environment variables with empty values may not be passed to
897 Environment variables with empty values may not be passed to
898 hooks on platforms such as Windows. As an example, ``$HG_PARENT2``
898 hooks on platforms such as Windows. As an example, ``$HG_PARENT2``
899 will have an empty value under Unix-like platforms for non-merge
899 will have an empty value under Unix-like platforms for non-merge
900 changesets, while it will not be available at all under Windows.
900 changesets, while it will not be available at all under Windows.
901
901
902 The syntax for Python hooks is as follows::
902 The syntax for Python hooks is as follows::
903
903
904 hookname = python:modulename.submodule.callable
904 hookname = python:modulename.submodule.callable
905 hookname = python:/path/to/python/module.py:callable
905 hookname = python:/path/to/python/module.py:callable
906
906
907 Python hooks are run within the Mercurial process. Each hook is
907 Python hooks are run within the Mercurial process. Each hook is
908 called with at least three keyword arguments: a ui object (keyword
908 called with at least three keyword arguments: a ui object (keyword
909 ``ui``), a repository object (keyword ``repo``), and a ``hooktype``
909 ``ui``), a repository object (keyword ``repo``), and a ``hooktype``
910 keyword that tells what kind of hook is used. Arguments listed as
910 keyword that tells what kind of hook is used. Arguments listed as
911 environment variables above are passed as keyword arguments, with no
911 environment variables above are passed as keyword arguments, with no
912 ``HG_`` prefix, and names in lower case.
912 ``HG_`` prefix, and names in lower case.
913
913
914 If a Python hook returns a "true" value or raises an exception, this
914 If a Python hook returns a "true" value or raises an exception, this
915 is treated as a failure.
915 is treated as a failure.
916
916
917
917
918 ``hostfingerprints``
918 ``hostfingerprints``
919 --------------------
919 --------------------
920
920
921 Fingerprints of the certificates of known HTTPS servers.
921 Fingerprints of the certificates of known HTTPS servers.
922 A HTTPS connection to a server with a fingerprint configured here will
922 A HTTPS connection to a server with a fingerprint configured here will
923 only succeed if the servers certificate matches the fingerprint.
923 only succeed if the servers certificate matches the fingerprint.
924 This is very similar to how ssh known hosts works.
924 This is very similar to how ssh known hosts works.
925 The fingerprint is the SHA-1 hash value of the DER encoded certificate.
925 The fingerprint is the SHA-1 hash value of the DER encoded certificate.
926 The CA chain and web.cacerts is not used for servers with a fingerprint.
926 The CA chain and web.cacerts is not used for servers with a fingerprint.
927
927
928 For example::
928 For example::
929
929
930 [hostfingerprints]
930 [hostfingerprints]
931 hg.intevation.org = fa:1f:d9:48:f1:e7:74:30:38:8d:d8:58:b6:94:b8:58:28:7d:8b:d0
931 hg.intevation.org = fa:1f:d9:48:f1:e7:74:30:38:8d:d8:58:b6:94:b8:58:28:7d:8b:d0
932
932
933 This feature is only supported when using Python 2.6 or later.
933 This feature is only supported when using Python 2.6 or later.
934
934
935
935
936 ``http_proxy``
936 ``http_proxy``
937 --------------
937 --------------
938
938
939 Used to access web-based Mercurial repositories through a HTTP
939 Used to access web-based Mercurial repositories through a HTTP
940 proxy.
940 proxy.
941
941
942 ``host``
942 ``host``
943 Host name and (optional) port of the proxy server, for example
943 Host name and (optional) port of the proxy server, for example
944 "myproxy:8000".
944 "myproxy:8000".
945
945
946 ``no``
946 ``no``
947 Optional. Comma-separated list of host names that should bypass
947 Optional. Comma-separated list of host names that should bypass
948 the proxy.
948 the proxy.
949
949
950 ``passwd``
950 ``passwd``
951 Optional. Password to authenticate with at the proxy server.
951 Optional. Password to authenticate with at the proxy server.
952
952
953 ``user``
953 ``user``
954 Optional. User name to authenticate with at the proxy server.
954 Optional. User name to authenticate with at the proxy server.
955
955
956 ``always``
956 ``always``
957 Optional. Always use the proxy, even for localhost and any entries
957 Optional. Always use the proxy, even for localhost and any entries
958 in ``http_proxy.no``. True or False. Default: False.
958 in ``http_proxy.no``. True or False. (default: False)
959
959
960 ``merge-patterns``
960 ``merge-patterns``
961 ------------------
961 ------------------
962
962
963 This section specifies merge tools to associate with particular file
963 This section specifies merge tools to associate with particular file
964 patterns. Tools matched here will take precedence over the default
964 patterns. Tools matched here will take precedence over the default
965 merge tool. Patterns are globs by default, rooted at the repository
965 merge tool. Patterns are globs by default, rooted at the repository
966 root.
966 root.
967
967
968 Example::
968 Example::
969
969
970 [merge-patterns]
970 [merge-patterns]
971 **.c = kdiff3
971 **.c = kdiff3
972 **.jpg = myimgmerge
972 **.jpg = myimgmerge
973
973
974 ``merge-tools``
974 ``merge-tools``
975 ---------------
975 ---------------
976
976
977 This section configures external merge tools to use for file-level
977 This section configures external merge tools to use for file-level
978 merges. This section has likely been preconfigured at install time.
978 merges. This section has likely been preconfigured at install time.
979 Use :hg:`config merge-tools` to check the existing configuration.
979 Use :hg:`config merge-tools` to check the existing configuration.
980 Also see :hg:`help merge-tools` for more details.
980 Also see :hg:`help merge-tools` for more details.
981
981
982 Example ``~/.hgrc``::
982 Example ``~/.hgrc``::
983
983
984 [merge-tools]
984 [merge-tools]
985 # Override stock tool location
985 # Override stock tool location
986 kdiff3.executable = ~/bin/kdiff3
986 kdiff3.executable = ~/bin/kdiff3
987 # Specify command line
987 # Specify command line
988 kdiff3.args = $base $local $other -o $output
988 kdiff3.args = $base $local $other -o $output
989 # Give higher priority
989 # Give higher priority
990 kdiff3.priority = 1
990 kdiff3.priority = 1
991
991
992 # Changing the priority of preconfigured tool
992 # Changing the priority of preconfigured tool
993 vimdiff.priority = 0
993 vimdiff.priority = 0
994
994
995 # Define new tool
995 # Define new tool
996 myHtmlTool.args = -m $local $other $base $output
996 myHtmlTool.args = -m $local $other $base $output
997 myHtmlTool.regkey = Software\FooSoftware\HtmlMerge
997 myHtmlTool.regkey = Software\FooSoftware\HtmlMerge
998 myHtmlTool.priority = 1
998 myHtmlTool.priority = 1
999
999
1000 Supported arguments:
1000 Supported arguments:
1001
1001
1002 ``priority``
1002 ``priority``
1003 The priority in which to evaluate this tool.
1003 The priority in which to evaluate this tool.
1004 Default: 0.
1004 (default: 0)
1005
1005
1006 ``executable``
1006 ``executable``
1007 Either just the name of the executable or its pathname. On Windows,
1007 Either just the name of the executable or its pathname. On Windows,
1008 the path can use environment variables with ${ProgramFiles} syntax.
1008 the path can use environment variables with ${ProgramFiles} syntax.
1009 Default: the tool name.
1009 (default: the tool name)
1010
1010
1011 ``args``
1011 ``args``
1012 The arguments to pass to the tool executable. You can refer to the
1012 The arguments to pass to the tool executable. You can refer to the
1013 files being merged as well as the output file through these
1013 files being merged as well as the output file through these
1014 variables: ``$base``, ``$local``, ``$other``, ``$output``. The meaning
1014 variables: ``$base``, ``$local``, ``$other``, ``$output``. The meaning
1015 of ``$local`` and ``$other`` can vary depending on which action is being
1015 of ``$local`` and ``$other`` can vary depending on which action is being
1016 performed. During and update or merge, ``$local`` represents the original
1016 performed. During and update or merge, ``$local`` represents the original
1017 state of the file, while ``$other`` represents the commit you are updating
1017 state of the file, while ``$other`` represents the commit you are updating
1018 to or the commit you are merging with. During a rebase ``$local``
1018 to or the commit you are merging with. During a rebase ``$local``
1019 represents the destination of the rebase, and ``$other`` represents the
1019 represents the destination of the rebase, and ``$other`` represents the
1020 commit being rebased.
1020 commit being rebased.
1021 Default: ``$local $base $other``
1021 (default: ``$local $base $other``)
1022
1022
1023 ``premerge``
1023 ``premerge``
1024 Attempt to run internal non-interactive 3-way merge tool before
1024 Attempt to run internal non-interactive 3-way merge tool before
1025 launching external tool. Options are ``true``, ``false``, ``keep`` or
1025 launching external tool. Options are ``true``, ``false``, ``keep`` or
1026 ``keep-merge3``. The ``keep`` option will leave markers in the file if the
1026 ``keep-merge3``. The ``keep`` option will leave markers in the file if the
1027 premerge fails. The ``keep-merge3`` will do the same but include information
1027 premerge fails. The ``keep-merge3`` will do the same but include information
1028 about the base of the merge in the marker (see internal :merge3 in
1028 about the base of the merge in the marker (see internal :merge3 in
1029 :hg:`help merge-tools`).
1029 :hg:`help merge-tools`).
1030 Default: True
1030 (default: True)
1031
1031
1032 ``binary``
1032 ``binary``
1033 This tool can merge binary files. Defaults to False, unless tool
1033 This tool can merge binary files. (default: False, unless tool
1034 was selected by file pattern match.
1034 was selected by file pattern match)
1035
1035
1036 ``symlink``
1036 ``symlink``
1037 This tool can merge symlinks. Defaults to False, even if tool was
1037 This tool can merge symlinks. (default: False)
1038 selected by file pattern match.
1039
1038
1040 ``check``
1039 ``check``
1041 A list of merge success-checking options::
1040 A list of merge success-checking options::
1042
1041
1043 ``changed``
1042 ``changed``
1044 Ask whether merge was successful when the merged file shows no changes.
1043 Ask whether merge was successful when the merged file shows no changes.
1045 ``conflicts``
1044 ``conflicts``
1046 Check whether there are conflicts even though the tool reported success.
1045 Check whether there are conflicts even though the tool reported success.
1047 ``prompt``
1046 ``prompt``
1048 Always prompt for merge success, regardless of success reported by tool.
1047 Always prompt for merge success, regardless of success reported by tool.
1049
1048
1050 ``fixeol``
1049 ``fixeol``
1051 Attempt to fix up EOL changes caused by the merge tool.
1050 Attempt to fix up EOL changes caused by the merge tool.
1052 Default: False
1051 (default: False)
1053
1052
1054 ``gui``
1053 ``gui``
1055 This tool requires a graphical interface to run. Default: False
1054 This tool requires a graphical interface to run. (default: False)
1056
1055
1057 ``regkey``
1056 ``regkey``
1058 Windows registry key which describes install location of this
1057 Windows registry key which describes install location of this
1059 tool. Mercurial will search for this key first under
1058 tool. Mercurial will search for this key first under
1060 ``HKEY_CURRENT_USER`` and then under ``HKEY_LOCAL_MACHINE``.
1059 ``HKEY_CURRENT_USER`` and then under ``HKEY_LOCAL_MACHINE``.
1061 Default: None
1060 (default: None)
1062
1061
1063 ``regkeyalt``
1062 ``regkeyalt``
1064 An alternate Windows registry key to try if the first key is not
1063 An alternate Windows registry key to try if the first key is not
1065 found. The alternate key uses the same ``regname`` and ``regappend``
1064 found. The alternate key uses the same ``regname`` and ``regappend``
1066 semantics of the primary key. The most common use for this key
1065 semantics of the primary key. The most common use for this key
1067 is to search for 32bit applications on 64bit operating systems.
1066 is to search for 32bit applications on 64bit operating systems.
1068 Default: None
1067 (default: None)
1069
1068
1070 ``regname``
1069 ``regname``
1071 Name of value to read from specified registry key. Defaults to the
1070 Name of value to read from specified registry key.
1072 unnamed (default) value.
1071 (default: the unnamed (default) value)
1073
1072
1074 ``regappend``
1073 ``regappend``
1075 String to append to the value read from the registry, typically
1074 String to append to the value read from the registry, typically
1076 the executable name of the tool.
1075 the executable name of the tool.
1077 Default: None
1076 (default: None)
1078
1077
1079
1078
1080 ``patch``
1079 ``patch``
1081 ---------
1080 ---------
1082
1081
1083 Settings used when applying patches, for instance through the 'import'
1082 Settings used when applying patches, for instance through the 'import'
1084 command or with Mercurial Queues extension.
1083 command or with Mercurial Queues extension.
1085
1084
1086 ``eol``
1085 ``eol``
1087 When set to 'strict' patch content and patched files end of lines
1086 When set to 'strict' patch content and patched files end of lines
1088 are preserved. When set to ``lf`` or ``crlf``, both files end of
1087 are preserved. When set to ``lf`` or ``crlf``, both files end of
1089 lines are ignored when patching and the result line endings are
1088 lines are ignored when patching and the result line endings are
1090 normalized to either LF (Unix) or CRLF (Windows). When set to
1089 normalized to either LF (Unix) or CRLF (Windows). When set to
1091 ``auto``, end of lines are again ignored while patching but line
1090 ``auto``, end of lines are again ignored while patching but line
1092 endings in patched files are normalized to their original setting
1091 endings in patched files are normalized to their original setting
1093 on a per-file basis. If target file does not exist or has no end
1092 on a per-file basis. If target file does not exist or has no end
1094 of line, patch line endings are preserved.
1093 of line, patch line endings are preserved.
1095 Default: strict.
1094 (default: strict)
1096
1095
1097 ``fuzz``
1096 ``fuzz``
1098 The number of lines of 'fuzz' to allow when applying patches. This
1097 The number of lines of 'fuzz' to allow when applying patches. This
1099 controls how much context the patcher is allowed to ignore when
1098 controls how much context the patcher is allowed to ignore when
1100 trying to apply a patch.
1099 trying to apply a patch.
1101 Default: 2
1100 (default: 2)
1102
1101
1103 ``paths``
1102 ``paths``
1104 ---------
1103 ---------
1105
1104
1106 Assigns symbolic names to repositories. The left side is the
1105 Assigns symbolic names to repositories. The left side is the
1107 symbolic name, and the right gives the directory or URL that is the
1106 symbolic name, and the right gives the directory or URL that is the
1108 location of the repository. Default paths can be declared by setting
1107 location of the repository. Default paths can be declared by setting
1109 the following entries.
1108 the following entries.
1110
1109
1111 ``default``
1110 ``default``
1112 Directory or URL to use when pulling if no source is specified.
1111 Directory or URL to use when pulling if no source is specified.
1113 Default is set to repository from which the current repository was
1112 (default: repository from which the current repository was cloned)
1114 cloned.
1115
1113
1116 ``default-push``
1114 ``default-push``
1117 Optional. Directory or URL to use when pushing if no destination
1115 Optional. Directory or URL to use when pushing if no destination
1118 is specified.
1116 is specified.
1119
1117
1120 Custom paths can be defined by assigning the path to a name that later can be
1118 Custom paths can be defined by assigning the path to a name that later can be
1121 used from the command line. Example::
1119 used from the command line. Example::
1122
1120
1123 [paths]
1121 [paths]
1124 my_path = http://example.com/path
1122 my_path = http://example.com/path
1125
1123
1126 To push to the path defined in ``my_path`` run the command::
1124 To push to the path defined in ``my_path`` run the command::
1127
1125
1128 hg push my_path
1126 hg push my_path
1129
1127
1130
1128
1131 ``phases``
1129 ``phases``
1132 ----------
1130 ----------
1133
1131
1134 Specifies default handling of phases. See :hg:`help phases` for more
1132 Specifies default handling of phases. See :hg:`help phases` for more
1135 information about working with phases.
1133 information about working with phases.
1136
1134
1137 ``publish``
1135 ``publish``
1138 Controls draft phase behavior when working as a server. When true,
1136 Controls draft phase behavior when working as a server. When true,
1139 pushed changesets are set to public in both client and server and
1137 pushed changesets are set to public in both client and server and
1140 pulled or cloned changesets are set to public in the client.
1138 pulled or cloned changesets are set to public in the client.
1141 Default: True
1139 (default: True)
1142
1140
1143 ``new-commit``
1141 ``new-commit``
1144 Phase of newly-created commits.
1142 Phase of newly-created commits.
1145 Default: draft
1143 (default: draft)
1146
1144
1147 ``checksubrepos``
1145 ``checksubrepos``
1148 Check the phase of the current revision of each subrepository. Allowed
1146 Check the phase of the current revision of each subrepository. Allowed
1149 values are "ignore", "follow" and "abort". For settings other than
1147 values are "ignore", "follow" and "abort". For settings other than
1150 "ignore", the phase of the current revision of each subrepository is
1148 "ignore", the phase of the current revision of each subrepository is
1151 checked before committing the parent repository. If any of those phases is
1149 checked before committing the parent repository. If any of those phases is
1152 greater than the phase of the parent repository (e.g. if a subrepo is in a
1150 greater than the phase of the parent repository (e.g. if a subrepo is in a
1153 "secret" phase while the parent repo is in "draft" phase), the commit is
1151 "secret" phase while the parent repo is in "draft" phase), the commit is
1154 either aborted (if checksubrepos is set to "abort") or the higher phase is
1152 either aborted (if checksubrepos is set to "abort") or the higher phase is
1155 used for the parent repository commit (if set to "follow").
1153 used for the parent repository commit (if set to "follow").
1156 Default: "follow"
1154 (default: follow)
1157
1155
1158
1156
1159 ``profiling``
1157 ``profiling``
1160 -------------
1158 -------------
1161
1159
1162 Specifies profiling type, format, and file output. Two profilers are
1160 Specifies profiling type, format, and file output. Two profilers are
1163 supported: an instrumenting profiler (named ``ls``), and a sampling
1161 supported: an instrumenting profiler (named ``ls``), and a sampling
1164 profiler (named ``stat``).
1162 profiler (named ``stat``).
1165
1163
1166 In this section description, 'profiling data' stands for the raw data
1164 In this section description, 'profiling data' stands for the raw data
1167 collected during profiling, while 'profiling report' stands for a
1165 collected during profiling, while 'profiling report' stands for a
1168 statistical text report generated from the profiling data. The
1166 statistical text report generated from the profiling data. The
1169 profiling is done using lsprof.
1167 profiling is done using lsprof.
1170
1168
1171 ``type``
1169 ``type``
1172 The type of profiler to use.
1170 The type of profiler to use.
1173 Default: ls.
1171 (default: ls)
1174
1172
1175 ``ls``
1173 ``ls``
1176 Use Python's built-in instrumenting profiler. This profiler
1174 Use Python's built-in instrumenting profiler. This profiler
1177 works on all platforms, but each line number it reports is the
1175 works on all platforms, but each line number it reports is the
1178 first line of a function. This restriction makes it difficult to
1176 first line of a function. This restriction makes it difficult to
1179 identify the expensive parts of a non-trivial function.
1177 identify the expensive parts of a non-trivial function.
1180 ``stat``
1178 ``stat``
1181 Use a third-party statistical profiler, statprof. This profiler
1179 Use a third-party statistical profiler, statprof. This profiler
1182 currently runs only on Unix systems, and is most useful for
1180 currently runs only on Unix systems, and is most useful for
1183 profiling commands that run for longer than about 0.1 seconds.
1181 profiling commands that run for longer than about 0.1 seconds.
1184
1182
1185 ``format``
1183 ``format``
1186 Profiling format. Specific to the ``ls`` instrumenting profiler.
1184 Profiling format. Specific to the ``ls`` instrumenting profiler.
1187 Default: text.
1185 (default: text)
1188
1186
1189 ``text``
1187 ``text``
1190 Generate a profiling report. When saving to a file, it should be
1188 Generate a profiling report. When saving to a file, it should be
1191 noted that only the report is saved, and the profiling data is
1189 noted that only the report is saved, and the profiling data is
1192 not kept.
1190 not kept.
1193 ``kcachegrind``
1191 ``kcachegrind``
1194 Format profiling data for kcachegrind use: when saving to a
1192 Format profiling data for kcachegrind use: when saving to a
1195 file, the generated file can directly be loaded into
1193 file, the generated file can directly be loaded into
1196 kcachegrind.
1194 kcachegrind.
1197
1195
1198 ``frequency``
1196 ``frequency``
1199 Sampling frequency. Specific to the ``stat`` sampling profiler.
1197 Sampling frequency. Specific to the ``stat`` sampling profiler.
1200 Default: 1000.
1198 (default: 1000)
1201
1199
1202 ``output``
1200 ``output``
1203 File path where profiling data or report should be saved. If the
1201 File path where profiling data or report should be saved. If the
1204 file exists, it is replaced. Default: None, data is printed on
1202 file exists, it is replaced. (default: None, data is printed on
1205 stderr
1203 stderr)
1206
1204
1207 ``sort``
1205 ``sort``
1208 Sort field. Specific to the ``ls`` instrumenting profiler.
1206 Sort field. Specific to the ``ls`` instrumenting profiler.
1209 One of ``callcount``, ``reccallcount``, ``totaltime`` and
1207 One of ``callcount``, ``reccallcount``, ``totaltime`` and
1210 ``inlinetime``.
1208 ``inlinetime``.
1211 Default: inlinetime.
1209 (default: inlinetime)
1212
1210
1213 ``limit``
1211 ``limit``
1214 Number of lines to show. Specific to the ``ls`` instrumenting profiler.
1212 Number of lines to show. Specific to the ``ls`` instrumenting profiler.
1215 Default: 30.
1213 (default: 30)
1216
1214
1217 ``nested``
1215 ``nested``
1218 Show at most this number of lines of drill-down info after each main entry.
1216 Show at most this number of lines of drill-down info after each main entry.
1219 This can help explain the difference between Total and Inline.
1217 This can help explain the difference between Total and Inline.
1220 Specific to the ``ls`` instrumenting profiler.
1218 Specific to the ``ls`` instrumenting profiler.
1221 Default: 5.
1219 (default: 5)
1222
1220
1223 ``progress``
1221 ``progress``
1224 ------------
1222 ------------
1225
1223
1226 Mercurial commands can draw progress bars that are as informative as
1224 Mercurial commands can draw progress bars that are as informative as
1227 possible. Some progress bars only offer indeterminate information, while others
1225 possible. Some progress bars only offer indeterminate information, while others
1228 have a definite end point.
1226 have a definite end point.
1229
1227
1230 ``delay``
1228 ``delay``
1231 Number of seconds (float) before showing the progress bar. (default: 3)
1229 Number of seconds (float) before showing the progress bar. (default: 3)
1232
1230
1233 ``changedelay``
1231 ``changedelay``
1234 Minimum delay before showing a new topic. When set to less than 3 * refresh,
1232 Minimum delay before showing a new topic. When set to less than 3 * refresh,
1235 that value will be used instead. (default: 1)
1233 that value will be used instead. (default: 1)
1236
1234
1237 ``refresh``
1235 ``refresh``
1238 Time in seconds between refreshes of the progress bar. (default: 0.1)
1236 Time in seconds between refreshes of the progress bar. (default: 0.1)
1239
1237
1240 ``format``
1238 ``format``
1241 Format of the progress bar.
1239 Format of the progress bar.
1242
1240
1243 Valid entries for the format field are ``topic``, ``bar``, ``number``,
1241 Valid entries for the format field are ``topic``, ``bar``, ``number``,
1244 ``unit``, ``estimate``, speed, and item. item defaults to the last 20
1242 ``unit``, ``estimate``, speed, and item. item defaults to the last 20
1245 characters of the item, but this can be changed by adding either ``-<num>``
1243 characters of the item, but this can be changed by adding either ``-<num>``
1246 which would take the last num characters, or ``+<num>`` for the first num
1244 which would take the last num characters, or ``+<num>`` for the first num
1247 characters.
1245 characters.
1248
1246
1249 (default: Topic bar number estimate)
1247 (default: Topic bar number estimate)
1250
1248
1251 ``width``
1249 ``width``
1252 If set, the maximum width of the progress information (that is, min(width,
1250 If set, the maximum width of the progress information (that is, min(width,
1253 term width) will be used).
1251 term width) will be used).
1254
1252
1255 ``clear-complete``
1253 ``clear-complete``
1256 clear the progress bar after it's done (default to True)
1254 clear the progress bar after it's done. (default: True)
1257
1255
1258 ``disable``
1256 ``disable``
1259 If true, don't show a progress bar.
1257 If true, don't show a progress bar.
1260
1258
1261 ``assume-tty``
1259 ``assume-tty``
1262 If true, ALWAYS show a progress bar, unless disable is given.
1260 If true, ALWAYS show a progress bar, unless disable is given.
1263
1261
1264 ``revsetalias``
1262 ``revsetalias``
1265 ---------------
1263 ---------------
1266
1264
1267 Alias definitions for revsets. See :hg:`help revsets` for details.
1265 Alias definitions for revsets. See :hg:`help revsets` for details.
1268
1266
1269 ``server``
1267 ``server``
1270 ----------
1268 ----------
1271
1269
1272 Controls generic server settings.
1270 Controls generic server settings.
1273
1271
1274 ``uncompressed``
1272 ``uncompressed``
1275 Whether to allow clients to clone a repository using the
1273 Whether to allow clients to clone a repository using the
1276 uncompressed streaming protocol. This transfers about 40% more
1274 uncompressed streaming protocol. This transfers about 40% more
1277 data than a regular clone, but uses less memory and CPU on both
1275 data than a regular clone, but uses less memory and CPU on both
1278 server and client. Over a LAN (100 Mbps or better) or a very fast
1276 server and client. Over a LAN (100 Mbps or better) or a very fast
1279 WAN, an uncompressed streaming clone is a lot faster (~10x) than a
1277 WAN, an uncompressed streaming clone is a lot faster (~10x) than a
1280 regular clone. Over most WAN connections (anything slower than
1278 regular clone. Over most WAN connections (anything slower than
1281 about 6 Mbps), uncompressed streaming is slower, because of the
1279 about 6 Mbps), uncompressed streaming is slower, because of the
1282 extra data transfer overhead. This mode will also temporarily hold
1280 extra data transfer overhead. This mode will also temporarily hold
1283 the write lock while determining what data to transfer.
1281 the write lock while determining what data to transfer.
1284 Default is True.
1282 (default: True)
1285
1283
1286 ``preferuncompressed``
1284 ``preferuncompressed``
1287 When set, clients will try to use the uncompressed streaming
1285 When set, clients will try to use the uncompressed streaming
1288 protocol. Default is False.
1286 protocol. (default: False)
1289
1287
1290 ``validate``
1288 ``validate``
1291 Whether to validate the completeness of pushed changesets by
1289 Whether to validate the completeness of pushed changesets by
1292 checking that all new file revisions specified in manifests are
1290 checking that all new file revisions specified in manifests are
1293 present. Default is False.
1291 present. (default: False)
1294
1292
1295 ``maxhttpheaderlen``
1293 ``maxhttpheaderlen``
1296 Instruct HTTP clients not to send request headers longer than this
1294 Instruct HTTP clients not to send request headers longer than this
1297 many bytes. Default is 1024.
1295 many bytes. (default: 1024)
1298
1296
1299 ``smtp``
1297 ``smtp``
1300 --------
1298 --------
1301
1299
1302 Configuration for extensions that need to send email messages.
1300 Configuration for extensions that need to send email messages.
1303
1301
1304 ``host``
1302 ``host``
1305 Host name of mail server, e.g. "mail.example.com".
1303 Host name of mail server, e.g. "mail.example.com".
1306
1304
1307 ``port``
1305 ``port``
1308 Optional. Port to connect to on mail server. Default: 465 (if
1306 Optional. Port to connect to on mail server. (default: 465 if
1309 ``tls`` is smtps) or 25 (otherwise).
1307 ``tls`` is smtps; 25 otherwise)
1310
1308
1311 ``tls``
1309 ``tls``
1312 Optional. Method to enable TLS when connecting to mail server: starttls,
1310 Optional. Method to enable TLS when connecting to mail server: starttls,
1313 smtps or none. Default: none.
1311 smtps or none. (default: none)
1314
1312
1315 ``verifycert``
1313 ``verifycert``
1316 Optional. Verification for the certificate of mail server, when
1314 Optional. Verification for the certificate of mail server, when
1317 ``tls`` is starttls or smtps. "strict", "loose" or False. For
1315 ``tls`` is starttls or smtps. "strict", "loose" or False. For
1318 "strict" or "loose", the certificate is verified as same as the
1316 "strict" or "loose", the certificate is verified as same as the
1319 verification for HTTPS connections (see ``[hostfingerprints]`` and
1317 verification for HTTPS connections (see ``[hostfingerprints]`` and
1320 ``[web] cacerts`` also). For "strict", sending email is also
1318 ``[web] cacerts`` also). For "strict", sending email is also
1321 aborted, if there is no configuration for mail server in
1319 aborted, if there is no configuration for mail server in
1322 ``[hostfingerprints]`` and ``[web] cacerts``. --insecure for
1320 ``[hostfingerprints]`` and ``[web] cacerts``. --insecure for
1323 :hg:`email` overwrites this as "loose". Default: "strict".
1321 :hg:`email` overwrites this as "loose". (default: strict)
1324
1322
1325 ``username``
1323 ``username``
1326 Optional. User name for authenticating with the SMTP server.
1324 Optional. User name for authenticating with the SMTP server.
1327 Default: none.
1325 (default: None)
1328
1326
1329 ``password``
1327 ``password``
1330 Optional. Password for authenticating with the SMTP server. If not
1328 Optional. Password for authenticating with the SMTP server. If not
1331 specified, interactive sessions will prompt the user for a
1329 specified, interactive sessions will prompt the user for a
1332 password; non-interactive sessions will fail. Default: none.
1330 password; non-interactive sessions will fail. (default: None)
1333
1331
1334 ``local_hostname``
1332 ``local_hostname``
1335 Optional. The hostname that the sender can use to identify
1333 Optional. The hostname that the sender can use to identify
1336 itself to the MTA.
1334 itself to the MTA.
1337
1335
1338
1336
1339 ``subpaths``
1337 ``subpaths``
1340 ------------
1338 ------------
1341
1339
1342 Subrepository source URLs can go stale if a remote server changes name
1340 Subrepository source URLs can go stale if a remote server changes name
1343 or becomes temporarily unavailable. This section lets you define
1341 or becomes temporarily unavailable. This section lets you define
1344 rewrite rules of the form::
1342 rewrite rules of the form::
1345
1343
1346 <pattern> = <replacement>
1344 <pattern> = <replacement>
1347
1345
1348 where ``pattern`` is a regular expression matching a subrepository
1346 where ``pattern`` is a regular expression matching a subrepository
1349 source URL and ``replacement`` is the replacement string used to
1347 source URL and ``replacement`` is the replacement string used to
1350 rewrite it. Groups can be matched in ``pattern`` and referenced in
1348 rewrite it. Groups can be matched in ``pattern`` and referenced in
1351 ``replacements``. For instance::
1349 ``replacements``. For instance::
1352
1350
1353 http://server/(.*)-hg/ = http://hg.server/\1/
1351 http://server/(.*)-hg/ = http://hg.server/\1/
1354
1352
1355 rewrites ``http://server/foo-hg/`` into ``http://hg.server/foo/``.
1353 rewrites ``http://server/foo-hg/`` into ``http://hg.server/foo/``.
1356
1354
1357 Relative subrepository paths are first made absolute, and the
1355 Relative subrepository paths are first made absolute, and the
1358 rewrite rules are then applied on the full (absolute) path. The rules
1356 rewrite rules are then applied on the full (absolute) path. The rules
1359 are applied in definition order.
1357 are applied in definition order.
1360
1358
1361 ``trusted``
1359 ``trusted``
1362 -----------
1360 -----------
1363
1361
1364 Mercurial will not use the settings in the
1362 Mercurial will not use the settings in the
1365 ``.hg/hgrc`` file from a repository if it doesn't belong to a trusted
1363 ``.hg/hgrc`` file from a repository if it doesn't belong to a trusted
1366 user or to a trusted group, as various hgrc features allow arbitrary
1364 user or to a trusted group, as various hgrc features allow arbitrary
1367 commands to be run. This issue is often encountered when configuring
1365 commands to be run. This issue is often encountered when configuring
1368 hooks or extensions for shared repositories or servers. However,
1366 hooks or extensions for shared repositories or servers. However,
1369 the web interface will use some safe settings from the ``[web]``
1367 the web interface will use some safe settings from the ``[web]``
1370 section.
1368 section.
1371
1369
1372 This section specifies what users and groups are trusted. The
1370 This section specifies what users and groups are trusted. The
1373 current user is always trusted. To trust everybody, list a user or a
1371 current user is always trusted. To trust everybody, list a user or a
1374 group with name ``*``. These settings must be placed in an
1372 group with name ``*``. These settings must be placed in an
1375 *already-trusted file* to take effect, such as ``$HOME/.hgrc`` of the
1373 *already-trusted file* to take effect, such as ``$HOME/.hgrc`` of the
1376 user or service running Mercurial.
1374 user or service running Mercurial.
1377
1375
1378 ``users``
1376 ``users``
1379 Comma-separated list of trusted users.
1377 Comma-separated list of trusted users.
1380
1378
1381 ``groups``
1379 ``groups``
1382 Comma-separated list of trusted groups.
1380 Comma-separated list of trusted groups.
1383
1381
1384
1382
1385 ``ui``
1383 ``ui``
1386 ------
1384 ------
1387
1385
1388 User interface controls.
1386 User interface controls.
1389
1387
1390 ``archivemeta``
1388 ``archivemeta``
1391 Whether to include the .hg_archival.txt file containing meta data
1389 Whether to include the .hg_archival.txt file containing meta data
1392 (hashes for the repository base and for tip) in archives created
1390 (hashes for the repository base and for tip) in archives created
1393 by the :hg:`archive` command or downloaded via hgweb.
1391 by the :hg:`archive` command or downloaded via hgweb.
1394 Default is True.
1392 (default: True)
1395
1393
1396 ``askusername``
1394 ``askusername``
1397 Whether to prompt for a username when committing. If True, and
1395 Whether to prompt for a username when committing. If True, and
1398 neither ``$HGUSER`` nor ``$EMAIL`` has been specified, then the user will
1396 neither ``$HGUSER`` nor ``$EMAIL`` has been specified, then the user will
1399 be prompted to enter a username. If no username is entered, the
1397 be prompted to enter a username. If no username is entered, the
1400 default ``USER@HOST`` is used instead.
1398 default ``USER@HOST`` is used instead.
1401 Default is False.
1399 (default: False)
1402
1400
1403 ``commitsubrepos``
1401 ``commitsubrepos``
1404 Whether to commit modified subrepositories when committing the
1402 Whether to commit modified subrepositories when committing the
1405 parent repository. If False and one subrepository has uncommitted
1403 parent repository. If False and one subrepository has uncommitted
1406 changes, abort the commit.
1404 changes, abort the commit.
1407 Default is False.
1405 (default: False)
1408
1406
1409 ``debug``
1407 ``debug``
1410 Print debugging information. True or False. Default is False.
1408 Print debugging information. True or False. (default: False)
1411
1409
1412 ``editor``
1410 ``editor``
1413 The editor to use during a commit. Default is ``$EDITOR`` or ``vi``.
1411 The editor to use during a commit. (default: ``$EDITOR`` or ``vi``)
1414
1412
1415 ``fallbackencoding``
1413 ``fallbackencoding``
1416 Encoding to try if it's not possible to decode the changelog using
1414 Encoding to try if it's not possible to decode the changelog using
1417 UTF-8. Default is ISO-8859-1.
1415 UTF-8. (default: ISO-8859-1)
1418
1416
1419 ``ignore``
1417 ``ignore``
1420 A file to read per-user ignore patterns from. This file should be
1418 A file to read per-user ignore patterns from. This file should be
1421 in the same format as a repository-wide .hgignore file. Filenames
1419 in the same format as a repository-wide .hgignore file. Filenames
1422 are relative to the repository root. This option supports hook syntax,
1420 are relative to the repository root. This option supports hook syntax,
1423 so if you want to specify multiple ignore files, you can do so by
1421 so if you want to specify multiple ignore files, you can do so by
1424 setting something like ``ignore.other = ~/.hgignore2``. For details
1422 setting something like ``ignore.other = ~/.hgignore2``. For details
1425 of the ignore file format, see the ``hgignore(5)`` man page.
1423 of the ignore file format, see the ``hgignore(5)`` man page.
1426
1424
1427 ``interactive``
1425 ``interactive``
1428 Allow to prompt the user. True or False. Default is True.
1426 Allow to prompt the user. True or False. (default: True)
1429
1427
1430 ``logtemplate``
1428 ``logtemplate``
1431 Template string for commands that print changesets.
1429 Template string for commands that print changesets.
1432
1430
1433 ``merge``
1431 ``merge``
1434 The conflict resolution program to use during a manual merge.
1432 The conflict resolution program to use during a manual merge.
1435 For more information on merge tools see :hg:`help merge-tools`.
1433 For more information on merge tools see :hg:`help merge-tools`.
1436 For configuring merge tools see the ``[merge-tools]`` section.
1434 For configuring merge tools see the ``[merge-tools]`` section.
1437
1435
1438 ``mergemarkers``
1436 ``mergemarkers``
1439 Sets the merge conflict marker label styling. The ``detailed``
1437 Sets the merge conflict marker label styling. The ``detailed``
1440 style uses the ``mergemarkertemplate`` setting to style the labels.
1438 style uses the ``mergemarkertemplate`` setting to style the labels.
1441 The ``basic`` style just uses 'local' and 'other' as the marker label.
1439 The ``basic`` style just uses 'local' and 'other' as the marker label.
1442 One of ``basic`` or ``detailed``.
1440 One of ``basic`` or ``detailed``.
1443 Default is ``basic``.
1441 (default: ``basic``)
1444
1442
1445 ``mergemarkertemplate``
1443 ``mergemarkertemplate``
1446 The template used to print the commit description next to each conflict
1444 The template used to print the commit description next to each conflict
1447 marker during merge conflicts. See :hg:`help templates` for the template
1445 marker during merge conflicts. See :hg:`help templates` for the template
1448 format.
1446 format.
1449
1447
1450 Defaults to showing the hash, tags, branches, bookmarks, author, and
1448 Defaults to showing the hash, tags, branches, bookmarks, author, and
1451 the first line of the commit description.
1449 the first line of the commit description.
1452
1450
1453 If you use non-ASCII characters in names for tags, branches, bookmarks,
1451 If you use non-ASCII characters in names for tags, branches, bookmarks,
1454 authors, and/or commit descriptions, you must pay attention to encodings of
1452 authors, and/or commit descriptions, you must pay attention to encodings of
1455 managed files. At template expansion, non-ASCII characters use the encoding
1453 managed files. At template expansion, non-ASCII characters use the encoding
1456 specified by the ``--encoding`` global option, ``HGENCODING`` or other
1454 specified by the ``--encoding`` global option, ``HGENCODING`` or other
1457 environment variables that govern your locale. If the encoding of the merge
1455 environment variables that govern your locale. If the encoding of the merge
1458 markers is different from the encoding of the merged files,
1456 markers is different from the encoding of the merged files,
1459 serious problems may occur.
1457 serious problems may occur.
1460
1458
1461 ``patch``
1459 ``patch``
1462 An optional external tool that ``hg import`` and some extensions
1460 An optional external tool that ``hg import`` and some extensions
1463 will use for applying patches. By default Mercurial uses an
1461 will use for applying patches. By default Mercurial uses an
1464 internal patch utility. The external tool must work as the common
1462 internal patch utility. The external tool must work as the common
1465 Unix ``patch`` program. In particular, it must accept a ``-p``
1463 Unix ``patch`` program. In particular, it must accept a ``-p``
1466 argument to strip patch headers, a ``-d`` argument to specify the
1464 argument to strip patch headers, a ``-d`` argument to specify the
1467 current directory, a file name to patch, and a patch file to take
1465 current directory, a file name to patch, and a patch file to take
1468 from stdin.
1466 from stdin.
1469
1467
1470 It is possible to specify a patch tool together with extra
1468 It is possible to specify a patch tool together with extra
1471 arguments. For example, setting this option to ``patch --merge``
1469 arguments. For example, setting this option to ``patch --merge``
1472 will use the ``patch`` program with its 2-way merge option.
1470 will use the ``patch`` program with its 2-way merge option.
1473
1471
1474 ``portablefilenames``
1472 ``portablefilenames``
1475 Check for portable filenames. Can be ``warn``, ``ignore`` or ``abort``.
1473 Check for portable filenames. Can be ``warn``, ``ignore`` or ``abort``.
1476 Default is ``warn``.
1474 (default: ``warn``)
1477 If set to ``warn`` (or ``true``), a warning message is printed on POSIX
1475 If set to ``warn`` (or ``true``), a warning message is printed on POSIX
1478 platforms, if a file with a non-portable filename is added (e.g. a file
1476 platforms, if a file with a non-portable filename is added (e.g. a file
1479 with a name that can't be created on Windows because it contains reserved
1477 with a name that can't be created on Windows because it contains reserved
1480 parts like ``AUX``, reserved characters like ``:``, or would cause a case
1478 parts like ``AUX``, reserved characters like ``:``, or would cause a case
1481 collision with an existing file).
1479 collision with an existing file).
1482 If set to ``ignore`` (or ``false``), no warning is printed.
1480 If set to ``ignore`` (or ``false``), no warning is printed.
1483 If set to ``abort``, the command is aborted.
1481 If set to ``abort``, the command is aborted.
1484 On Windows, this configuration option is ignored and the command aborted.
1482 On Windows, this configuration option is ignored and the command aborted.
1485
1483
1486 ``quiet``
1484 ``quiet``
1487 Reduce the amount of output printed. True or False. Default is False.
1485 Reduce the amount of output printed. True or False. (default: False)
1488
1486
1489 ``remotecmd``
1487 ``remotecmd``
1490 remote command to use for clone/push/pull operations. Default is ``hg``.
1488 remote command to use for clone/push/pull operations. (default: ``hg``)
1491
1489
1492 ``report_untrusted``
1490 ``report_untrusted``
1493 Warn if a ``.hg/hgrc`` file is ignored due to not being owned by a
1491 Warn if a ``.hg/hgrc`` file is ignored due to not being owned by a
1494 trusted user or group. True or False. Default is True.
1492 trusted user or group. True or False. (default: True)
1495
1493
1496 ``slash``
1494 ``slash``
1497 Display paths using a slash (``/``) as the path separator. This
1495 Display paths using a slash (``/``) as the path separator. This
1498 only makes a difference on systems where the default path
1496 only makes a difference on systems where the default path
1499 separator is not the slash character (e.g. Windows uses the
1497 separator is not the slash character (e.g. Windows uses the
1500 backslash character (``\``)).
1498 backslash character (``\``)).
1501 Default is False.
1499 (default: False)
1502
1500
1503 ``statuscopies``
1501 ``statuscopies``
1504 Display copies in the status command.
1502 Display copies in the status command.
1505
1503
1506 ``ssh``
1504 ``ssh``
1507 command to use for SSH connections. Default is ``ssh``.
1505 command to use for SSH connections. (default: ``ssh``)
1508
1506
1509 ``strict``
1507 ``strict``
1510 Require exact command names, instead of allowing unambiguous
1508 Require exact command names, instead of allowing unambiguous
1511 abbreviations. True or False. Default is False.
1509 abbreviations. True or False. (default: False)
1512
1510
1513 ``style``
1511 ``style``
1514 Name of style to use for command output.
1512 Name of style to use for command output.
1515
1513
1516 ``timeout``
1514 ``timeout``
1517 The timeout used when a lock is held (in seconds), a negative value
1515 The timeout used when a lock is held (in seconds), a negative value
1518 means no timeout. Default is 600.
1516 means no timeout. (default: 600)
1519
1517
1520 ``traceback``
1518 ``traceback``
1521 Mercurial always prints a traceback when an unknown exception
1519 Mercurial always prints a traceback when an unknown exception
1522 occurs. Setting this to True will make Mercurial print a traceback
1520 occurs. Setting this to True will make Mercurial print a traceback
1523 on all exceptions, even those recognized by Mercurial (such as
1521 on all exceptions, even those recognized by Mercurial (such as
1524 IOError or MemoryError). Default is False.
1522 IOError or MemoryError). (default: False)
1525
1523
1526 ``username``
1524 ``username``
1527 The committer of a changeset created when running "commit".
1525 The committer of a changeset created when running "commit".
1528 Typically a person's name and email address, e.g. ``Fred Widget
1526 Typically a person's name and email address, e.g. ``Fred Widget
1529 <fred@example.com>``. Default is ``$EMAIL`` or ``username@hostname``. If
1527 <fred@example.com>``. Environment variables in the
1530 the username in hgrc is empty, it has to be specified manually or
1531 in a different hgrc file (e.g. ``$HOME/.hgrc``, if the admin set
1532 ``username =`` in the system hgrc). Environment variables in the
1533 username are expanded.
1528 username are expanded.
1534
1529
1530 (default: ``$EMAIL`` or ``username@hostname``. If the username in
1531 hgrc is empty, e.g. if the system admin set ``username =`` in the
1532 system hgrc, it has to be specified manually or in a different
1533 hgrc file)
1534
1535 ``verbose``
1535 ``verbose``
1536 Increase the amount of output printed. True or False. Default is False.
1536 Increase the amount of output printed. True or False. (default: False)
1537
1537
1538
1538
1539 ``web``
1539 ``web``
1540 -------
1540 -------
1541
1541
1542 Web interface configuration. The settings in this section apply to
1542 Web interface configuration. The settings in this section apply to
1543 both the builtin webserver (started by :hg:`serve`) and the script you
1543 both the builtin webserver (started by :hg:`serve`) and the script you
1544 run through a webserver (``hgweb.cgi`` and the derivatives for FastCGI
1544 run through a webserver (``hgweb.cgi`` and the derivatives for FastCGI
1545 and WSGI).
1545 and WSGI).
1546
1546
1547 The Mercurial webserver does no authentication (it does not prompt for
1547 The Mercurial webserver does no authentication (it does not prompt for
1548 usernames and passwords to validate *who* users are), but it does do
1548 usernames and passwords to validate *who* users are), but it does do
1549 authorization (it grants or denies access for *authenticated users*
1549 authorization (it grants or denies access for *authenticated users*
1550 based on settings in this section). You must either configure your
1550 based on settings in this section). You must either configure your
1551 webserver to do authentication for you, or disable the authorization
1551 webserver to do authentication for you, or disable the authorization
1552 checks.
1552 checks.
1553
1553
1554 For a quick setup in a trusted environment, e.g., a private LAN, where
1554 For a quick setup in a trusted environment, e.g., a private LAN, where
1555 you want it to accept pushes from anybody, you can use the following
1555 you want it to accept pushes from anybody, you can use the following
1556 command line::
1556 command line::
1557
1557
1558 $ hg --config web.allow_push=* --config web.push_ssl=False serve
1558 $ hg --config web.allow_push=* --config web.push_ssl=False serve
1559
1559
1560 Note that this will allow anybody to push anything to the server and
1560 Note that this will allow anybody to push anything to the server and
1561 that this should not be used for public servers.
1561 that this should not be used for public servers.
1562
1562
1563 The full set of options is:
1563 The full set of options is:
1564
1564
1565 ``accesslog``
1565 ``accesslog``
1566 Where to output the access log. Default is stdout.
1566 Where to output the access log. (default: stdout)
1567
1567
1568 ``address``
1568 ``address``
1569 Interface address to bind to. Default is all.
1569 Interface address to bind to. (default: all)
1570
1570
1571 ``allow_archive``
1571 ``allow_archive``
1572 List of archive format (bz2, gz, zip) allowed for downloading.
1572 List of archive format (bz2, gz, zip) allowed for downloading.
1573 Default is empty.
1573 (default: empty)
1574
1574
1575 ``allowbz2``
1575 ``allowbz2``
1576 (DEPRECATED) Whether to allow .tar.bz2 downloading of repository
1576 (DEPRECATED) Whether to allow .tar.bz2 downloading of repository
1577 revisions.
1577 revisions.
1578 Default is False.
1578 (default: False)
1579
1579
1580 ``allowgz``
1580 ``allowgz``
1581 (DEPRECATED) Whether to allow .tar.gz downloading of repository
1581 (DEPRECATED) Whether to allow .tar.gz downloading of repository
1582 revisions.
1582 revisions.
1583 Default is False.
1583 (default: False)
1584
1584
1585 ``allowpull``
1585 ``allowpull``
1586 Whether to allow pulling from the repository. Default is True.
1586 Whether to allow pulling from the repository. (default: True)
1587
1587
1588 ``allow_push``
1588 ``allow_push``
1589 Whether to allow pushing to the repository. If empty or not set,
1589 Whether to allow pushing to the repository. If empty or not set,
1590 pushing is not allowed. If the special value ``*``, any remote
1590 pushing is not allowed. If the special value ``*``, any remote
1591 user can push, including unauthenticated users. Otherwise, the
1591 user can push, including unauthenticated users. Otherwise, the
1592 remote user must have been authenticated, and the authenticated
1592 remote user must have been authenticated, and the authenticated
1593 user name must be present in this list. The contents of the
1593 user name must be present in this list. The contents of the
1594 allow_push list are examined after the deny_push list.
1594 allow_push list are examined after the deny_push list.
1595
1595
1596 ``allow_read``
1596 ``allow_read``
1597 If the user has not already been denied repository access due to
1597 If the user has not already been denied repository access due to
1598 the contents of deny_read, this list determines whether to grant
1598 the contents of deny_read, this list determines whether to grant
1599 repository access to the user. If this list is not empty, and the
1599 repository access to the user. If this list is not empty, and the
1600 user is unauthenticated or not present in the list, then access is
1600 user is unauthenticated or not present in the list, then access is
1601 denied for the user. If the list is empty or not set, then access
1601 denied for the user. If the list is empty or not set, then access
1602 is permitted to all users by default. Setting allow_read to the
1602 is permitted to all users by default. Setting allow_read to the
1603 special value ``*`` is equivalent to it not being set (i.e. access
1603 special value ``*`` is equivalent to it not being set (i.e. access
1604 is permitted to all users). The contents of the allow_read list are
1604 is permitted to all users). The contents of the allow_read list are
1605 examined after the deny_read list.
1605 examined after the deny_read list.
1606
1606
1607 ``allowzip``
1607 ``allowzip``
1608 (DEPRECATED) Whether to allow .zip downloading of repository
1608 (DEPRECATED) Whether to allow .zip downloading of repository
1609 revisions. Default is False. This feature creates temporary files.
1609 revisions. This feature creates temporary files.
1610 (default: False)
1610
1611
1611 ``archivesubrepos``
1612 ``archivesubrepos``
1612 Whether to recurse into subrepositories when archiving. Default is
1613 Whether to recurse into subrepositories when archiving.
1613 False.
1614 (default: False)
1614
1615
1615 ``baseurl``
1616 ``baseurl``
1616 Base URL to use when publishing URLs in other locations, so
1617 Base URL to use when publishing URLs in other locations, so
1617 third-party tools like email notification hooks can construct
1618 third-party tools like email notification hooks can construct
1618 URLs. Example: ``http://hgserver/repos/``.
1619 URLs. Example: ``http://hgserver/repos/``.
1619
1620
1620 ``cacerts``
1621 ``cacerts``
1621 Path to file containing a list of PEM encoded certificate
1622 Path to file containing a list of PEM encoded certificate
1622 authority certificates. Environment variables and ``~user``
1623 authority certificates. Environment variables and ``~user``
1623 constructs are expanded in the filename. If specified on the
1624 constructs are expanded in the filename. If specified on the
1624 client, then it will verify the identity of remote HTTPS servers
1625 client, then it will verify the identity of remote HTTPS servers
1625 with these certificates.
1626 with these certificates.
1626
1627
1627 This feature is only supported when using Python 2.6 or later. If you wish
1628 This feature is only supported when using Python 2.6 or later. If you wish
1628 to use it with earlier versions of Python, install the backported
1629 to use it with earlier versions of Python, install the backported
1629 version of the ssl library that is available from
1630 version of the ssl library that is available from
1630 ``http://pypi.python.org``.
1631 ``http://pypi.python.org``.
1631
1632
1632 To disable SSL verification temporarily, specify ``--insecure`` from
1633 To disable SSL verification temporarily, specify ``--insecure`` from
1633 command line.
1634 command line.
1634
1635
1635 You can use OpenSSL's CA certificate file if your platform has
1636 You can use OpenSSL's CA certificate file if your platform has
1636 one. On most Linux systems this will be
1637 one. On most Linux systems this will be
1637 ``/etc/ssl/certs/ca-certificates.crt``. Otherwise you will have to
1638 ``/etc/ssl/certs/ca-certificates.crt``. Otherwise you will have to
1638 generate this file manually. The form must be as follows::
1639 generate this file manually. The form must be as follows::
1639
1640
1640 -----BEGIN CERTIFICATE-----
1641 -----BEGIN CERTIFICATE-----
1641 ... (certificate in base64 PEM encoding) ...
1642 ... (certificate in base64 PEM encoding) ...
1642 -----END CERTIFICATE-----
1643 -----END CERTIFICATE-----
1643 -----BEGIN CERTIFICATE-----
1644 -----BEGIN CERTIFICATE-----
1644 ... (certificate in base64 PEM encoding) ...
1645 ... (certificate in base64 PEM encoding) ...
1645 -----END CERTIFICATE-----
1646 -----END CERTIFICATE-----
1646
1647
1647 ``cache``
1648 ``cache``
1648 Whether to support caching in hgweb. Defaults to True.
1649 Whether to support caching in hgweb. (default: True)
1649
1650
1650 ``certificate``
1651 ``certificate``
1651 Certificate to use when running :hg:`serve`.
1652 Certificate to use when running :hg:`serve`.
1652
1653
1653 ``collapse``
1654 ``collapse``
1654 With ``descend`` enabled, repositories in subdirectories are shown at
1655 With ``descend`` enabled, repositories in subdirectories are shown at
1655 a single level alongside repositories in the current path. With
1656 a single level alongside repositories in the current path. With
1656 ``collapse`` also enabled, repositories residing at a deeper level than
1657 ``collapse`` also enabled, repositories residing at a deeper level than
1657 the current path are grouped behind navigable directory entries that
1658 the current path are grouped behind navigable directory entries that
1658 lead to the locations of these repositories. In effect, this setting
1659 lead to the locations of these repositories. In effect, this setting
1659 collapses each collection of repositories found within a subdirectory
1660 collapses each collection of repositories found within a subdirectory
1660 into a single entry for that subdirectory. Default is False.
1661 into a single entry for that subdirectory. (default: False)
1661
1662
1662 ``comparisoncontext``
1663 ``comparisoncontext``
1663 Number of lines of context to show in side-by-side file comparison. If
1664 Number of lines of context to show in side-by-side file comparison. If
1664 negative or the value ``full``, whole files are shown. Default is 5.
1665 negative or the value ``full``, whole files are shown. (default: 5)
1666
1665 This setting can be overridden by a ``context`` request parameter to the
1667 This setting can be overridden by a ``context`` request parameter to the
1666 ``comparison`` command, taking the same values.
1668 ``comparison`` command, taking the same values.
1667
1669
1668 ``contact``
1670 ``contact``
1669 Name or email address of the person in charge of the repository.
1671 Name or email address of the person in charge of the repository.
1670 Defaults to ui.username or ``$EMAIL`` or "unknown" if unset or empty.
1672 (default: ui.username or ``$EMAIL`` or "unknown" if unset or empty)
1671
1673
1672 ``deny_push``
1674 ``deny_push``
1673 Whether to deny pushing to the repository. If empty or not set,
1675 Whether to deny pushing to the repository. If empty or not set,
1674 push is not denied. If the special value ``*``, all remote users are
1676 push is not denied. If the special value ``*``, all remote users are
1675 denied push. Otherwise, unauthenticated users are all denied, and
1677 denied push. Otherwise, unauthenticated users are all denied, and
1676 any authenticated user name present in this list is also denied. The
1678 any authenticated user name present in this list is also denied. The
1677 contents of the deny_push list are examined before the allow_push list.
1679 contents of the deny_push list are examined before the allow_push list.
1678
1680
1679 ``deny_read``
1681 ``deny_read``
1680 Whether to deny reading/viewing of the repository. If this list is
1682 Whether to deny reading/viewing of the repository. If this list is
1681 not empty, unauthenticated users are all denied, and any
1683 not empty, unauthenticated users are all denied, and any
1682 authenticated user name present in this list is also denied access to
1684 authenticated user name present in this list is also denied access to
1683 the repository. If set to the special value ``*``, all remote users
1685 the repository. If set to the special value ``*``, all remote users
1684 are denied access (rarely needed ;). If deny_read is empty or not set,
1686 are denied access (rarely needed ;). If deny_read is empty or not set,
1685 the determination of repository access depends on the presence and
1687 the determination of repository access depends on the presence and
1686 content of the allow_read list (see description). If both
1688 content of the allow_read list (see description). If both
1687 deny_read and allow_read are empty or not set, then access is
1689 deny_read and allow_read are empty or not set, then access is
1688 permitted to all users by default. If the repository is being
1690 permitted to all users by default. If the repository is being
1689 served via hgwebdir, denied users will not be able to see it in
1691 served via hgwebdir, denied users will not be able to see it in
1690 the list of repositories. The contents of the deny_read list have
1692 the list of repositories. The contents of the deny_read list have
1691 priority over (are examined before) the contents of the allow_read
1693 priority over (are examined before) the contents of the allow_read
1692 list.
1694 list.
1693
1695
1694 ``descend``
1696 ``descend``
1695 hgwebdir indexes will not descend into subdirectories. Only repositories
1697 hgwebdir indexes will not descend into subdirectories. Only repositories
1696 directly in the current path will be shown (other repositories are still
1698 directly in the current path will be shown (other repositories are still
1697 available from the index corresponding to their containing path).
1699 available from the index corresponding to their containing path).
1698
1700
1699 ``description``
1701 ``description``
1700 Textual description of the repository's purpose or contents.
1702 Textual description of the repository's purpose or contents.
1701 Default is "unknown".
1703 (default: "unknown")
1702
1704
1703 ``encoding``
1705 ``encoding``
1704 Character encoding name. Default is the current locale charset.
1706 Character encoding name. (default: the current locale charset)
1705 Example: "UTF-8".
1707 Example: "UTF-8".
1706
1708
1707 ``errorlog``
1709 ``errorlog``
1708 Where to output the error log. Default is stderr.
1710 Where to output the error log. (default: stderr)
1709
1711
1710 ``guessmime``
1712 ``guessmime``
1711 Control MIME types for raw download of file content.
1713 Control MIME types for raw download of file content.
1712 Set to True to let hgweb guess the content type from the file
1714 Set to True to let hgweb guess the content type from the file
1713 extension. This will serve HTML files as ``text/html`` and might
1715 extension. This will serve HTML files as ``text/html`` and might
1714 allow cross-site scripting attacks when serving untrusted
1716 allow cross-site scripting attacks when serving untrusted
1715 repositories. Default is False.
1717 repositories. (default: False)
1716
1718
1717 ``hidden``
1719 ``hidden``
1718 Whether to hide the repository in the hgwebdir index.
1720 Whether to hide the repository in the hgwebdir index.
1719 Default is False.
1721 (default: False)
1720
1722
1721 ``ipv6``
1723 ``ipv6``
1722 Whether to use IPv6. Default is False.
1724 Whether to use IPv6. (default: False)
1723
1725
1724 ``logoimg``
1726 ``logoimg``
1725 File name of the logo image that some templates display on each page.
1727 File name of the logo image that some templates display on each page.
1726 The file name is relative to ``staticurl``. That is, the full path to
1728 The file name is relative to ``staticurl``. That is, the full path to
1727 the logo image is "staticurl/logoimg".
1729 the logo image is "staticurl/logoimg".
1728 If unset, ``hglogo.png`` will be used.
1730 If unset, ``hglogo.png`` will be used.
1729
1731
1730 ``logourl``
1732 ``logourl``
1731 Base URL to use for logos. If unset, ``http://mercurial.selenic.com/``
1733 Base URL to use for logos. If unset, ``http://mercurial.selenic.com/``
1732 will be used.
1734 will be used.
1733
1735
1734 ``maxchanges``
1736 ``maxchanges``
1735 Maximum number of changes to list on the changelog. Default is 10.
1737 Maximum number of changes to list on the changelog. (default: 10)
1736
1738
1737 ``maxfiles``
1739 ``maxfiles``
1738 Maximum number of files to list per changeset. Default is 10.
1740 Maximum number of files to list per changeset. (default: 10)
1739
1741
1740 ``maxshortchanges``
1742 ``maxshortchanges``
1741 Maximum number of changes to list on the shortlog, graph or filelog
1743 Maximum number of changes to list on the shortlog, graph or filelog
1742 pages. Default is 60.
1744 pages. (default: 60)
1743
1745
1744 ``name``
1746 ``name``
1745 Repository name to use in the web interface. Default is current
1747 Repository name to use in the web interface.
1746 working directory.
1748 (default: current working directory)
1747
1749
1748 ``port``
1750 ``port``
1749 Port to listen on. Default is 8000.
1751 Port to listen on. (default: 8000)
1750
1752
1751 ``prefix``
1753 ``prefix``
1752 Prefix path to serve from. Default is '' (server root).
1754 Prefix path to serve from. (default: '' (server root))
1753
1755
1754 ``push_ssl``
1756 ``push_ssl``
1755 Whether to require that inbound pushes be transported over SSL to
1757 Whether to require that inbound pushes be transported over SSL to
1756 prevent password sniffing. Default is True.
1758 prevent password sniffing. (default: True)
1757
1759
1758 ``refreshinterval``
1760 ``refreshinterval``
1759 How frequently directory listings re-scan the filesystem for new
1761 How frequently directory listings re-scan the filesystem for new
1760 repositories, in seconds. This is relevant when wildcards are used
1762 repositories, in seconds. This is relevant when wildcards are used
1761 to define paths. Depending on how much filesystem traversal is
1763 to define paths. Depending on how much filesystem traversal is
1762 required, refreshing may negatively impact performance.
1764 required, refreshing may negatively impact performance.
1763
1765
1764 Default is 20. Values less than or equal to 0 always refresh.
1766 Values less than or equal to 0 always refresh.
1767 (default: 20)
1765
1768
1766 ``staticurl``
1769 ``staticurl``
1767 Base URL to use for static files. If unset, static files (e.g. the
1770 Base URL to use for static files. If unset, static files (e.g. the
1768 hgicon.png favicon) will be served by the CGI script itself. Use
1771 hgicon.png favicon) will be served by the CGI script itself. Use
1769 this setting to serve them directly with the HTTP server.
1772 this setting to serve them directly with the HTTP server.
1770 Example: ``http://hgserver/static/``.
1773 Example: ``http://hgserver/static/``.
1771
1774
1772 ``stripes``
1775 ``stripes``
1773 How many lines a "zebra stripe" should span in multi-line output.
1776 How many lines a "zebra stripe" should span in multi-line output.
1774 Default is 1; set to 0 to disable.
1777 Set to 0 to disable. (default: 1)
1775
1778
1776 ``style``
1779 ``style``
1777 Which template map style to use. The available options are the names of
1780 Which template map style to use. The available options are the names of
1778 subdirectories in the HTML templates path. Default is ``paper``.
1781 subdirectories in the HTML templates path. (default: ``paper``)
1779 Example: ``monoblue``
1782 Example: ``monoblue``.
1780
1783
1781 ``templates``
1784 ``templates``
1782 Where to find the HTML templates. The default path to the HTML templates
1785 Where to find the HTML templates. The default path to the HTML templates
1783 can be obtained from ``hg debuginstall``.
1786 can be obtained from ``hg debuginstall``.
1784
1787
1785 ``websub``
1788 ``websub``
1786 ----------
1789 ----------
1787
1790
1788 Web substitution filter definition. You can use this section to
1791 Web substitution filter definition. You can use this section to
1789 define a set of regular expression substitution patterns which
1792 define a set of regular expression substitution patterns which
1790 let you automatically modify the hgweb server output.
1793 let you automatically modify the hgweb server output.
1791
1794
1792 The default hgweb templates only apply these substitution patterns
1795 The default hgweb templates only apply these substitution patterns
1793 on the revision description fields. You can apply them anywhere
1796 on the revision description fields. You can apply them anywhere
1794 you want when you create your own templates by adding calls to the
1797 you want when you create your own templates by adding calls to the
1795 "websub" filter (usually after calling the "escape" filter).
1798 "websub" filter (usually after calling the "escape" filter).
1796
1799
1797 This can be used, for example, to convert issue references to links
1800 This can be used, for example, to convert issue references to links
1798 to your issue tracker, or to convert "markdown-like" syntax into
1801 to your issue tracker, or to convert "markdown-like" syntax into
1799 HTML (see the examples below).
1802 HTML (see the examples below).
1800
1803
1801 Each entry in this section names a substitution filter.
1804 Each entry in this section names a substitution filter.
1802 The value of each entry defines the substitution expression itself.
1805 The value of each entry defines the substitution expression itself.
1803 The websub expressions follow the old interhg extension syntax,
1806 The websub expressions follow the old interhg extension syntax,
1804 which in turn imitates the Unix sed replacement syntax::
1807 which in turn imitates the Unix sed replacement syntax::
1805
1808
1806 patternname = s/SEARCH_REGEX/REPLACE_EXPRESSION/[i]
1809 patternname = s/SEARCH_REGEX/REPLACE_EXPRESSION/[i]
1807
1810
1808 You can use any separator other than "/". The final "i" is optional
1811 You can use any separator other than "/". The final "i" is optional
1809 and indicates that the search must be case insensitive.
1812 and indicates that the search must be case insensitive.
1810
1813
1811 Examples::
1814 Examples::
1812
1815
1813 [websub]
1816 [websub]
1814 issues = s|issue(\d+)|<a href="http://bts.example.org/issue\1">issue\1</a>|i
1817 issues = s|issue(\d+)|<a href="http://bts.example.org/issue\1">issue\1</a>|i
1815 italic = s/\b_(\S+)_\b/<i>\1<\/i>/
1818 italic = s/\b_(\S+)_\b/<i>\1<\/i>/
1816 bold = s/\*\b(\S+)\b\*/<b>\1<\/b>/
1819 bold = s/\*\b(\S+)\b\*/<b>\1<\/b>/
1817
1820
1818 ``worker``
1821 ``worker``
1819 ----------
1822 ----------
1820
1823
1821 Parallel master/worker configuration. We currently perform working
1824 Parallel master/worker configuration. We currently perform working
1822 directory updates in parallel on Unix-like systems, which greatly
1825 directory updates in parallel on Unix-like systems, which greatly
1823 helps performance.
1826 helps performance.
1824
1827
1825 ``numcpus``
1828 ``numcpus``
1826 Number of CPUs to use for parallel operations. Default is 4 or the
1829 Number of CPUs to use for parallel operations. A zero or
1827 number of CPUs on the system, whichever is larger. A zero or
1828 negative value is treated as ``use the default``.
1830 negative value is treated as ``use the default``.
1831 (default: 4 or the number of CPUs on the system, whichever is larger)
@@ -1,2310 +1,2309
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 $ hg help
47 $ hg help
48 Mercurial Distributed SCM
48 Mercurial Distributed SCM
49
49
50 list of commands:
50 list of commands:
51
51
52 add add the specified files on the next commit
52 add add the specified files on the next commit
53 addremove add all new files, delete all missing files
53 addremove add all new files, delete all missing files
54 annotate show changeset information by line for each file
54 annotate show changeset information by line for each file
55 archive create an unversioned archive of a repository revision
55 archive create an unversioned archive of a repository revision
56 backout reverse effect of earlier changeset
56 backout reverse effect of earlier changeset
57 bisect subdivision search of changesets
57 bisect subdivision search of changesets
58 bookmarks create a new bookmark or list existing bookmarks
58 bookmarks create a new bookmark or list existing bookmarks
59 branch set or show the current branch name
59 branch set or show the current branch name
60 branches list repository named branches
60 branches list repository named branches
61 bundle create a changegroup file
61 bundle create a changegroup file
62 cat output the current or given revision of files
62 cat output the current or given revision of files
63 clone make a copy of an existing repository
63 clone make a copy of an existing repository
64 commit commit the specified files or all outstanding changes
64 commit commit the specified files or all outstanding changes
65 config show combined config settings from all hgrc files
65 config show combined config settings from all hgrc files
66 copy mark files as copied for the next commit
66 copy mark files as copied for the next commit
67 diff diff repository (or selected files)
67 diff diff repository (or selected files)
68 export dump the header and diffs for one or more changesets
68 export dump the header and diffs for one or more changesets
69 files list tracked files
69 files list tracked files
70 forget forget the specified files on the next commit
70 forget forget the specified files on the next commit
71 graft copy changes from other branches onto the current branch
71 graft copy changes from other branches onto the current branch
72 grep search for a pattern in specified files and revisions
72 grep search for a pattern in specified files and revisions
73 heads show branch heads
73 heads show branch heads
74 help show help for a given topic or a help overview
74 help show help for a given topic or a help overview
75 identify identify the working directory or specified revision
75 identify identify the working directory or specified revision
76 import import an ordered set of patches
76 import import an ordered set of patches
77 incoming show new changesets found in source
77 incoming show new changesets found in source
78 init create a new repository in the given directory
78 init create a new repository in the given directory
79 log show revision history of entire repository or files
79 log show revision history of entire repository or files
80 manifest output the current or given revision of the project manifest
80 manifest output the current or given revision of the project manifest
81 merge merge another revision into working directory
81 merge merge another revision into working directory
82 outgoing show changesets not found in the destination
82 outgoing show changesets not found in the destination
83 paths show aliases for remote repositories
83 paths show aliases for remote repositories
84 phase set or show the current phase name
84 phase set or show the current phase name
85 pull pull changes from the specified source
85 pull pull changes from the specified source
86 push push changes to the specified destination
86 push push changes to the specified destination
87 recover roll back an interrupted transaction
87 recover roll back an interrupted transaction
88 remove remove the specified files on the next commit
88 remove remove the specified files on the next commit
89 rename rename files; equivalent of copy + remove
89 rename rename files; equivalent of copy + remove
90 resolve redo merges or set/view the merge status of files
90 resolve redo merges or set/view the merge status of files
91 revert restore files to their checkout state
91 revert restore files to their checkout state
92 root print the root (top) of the current working directory
92 root print the root (top) of the current working directory
93 serve start stand-alone webserver
93 serve start stand-alone webserver
94 status show changed files in the working directory
94 status show changed files in the working directory
95 summary summarize working directory state
95 summary summarize working directory state
96 tag add one or more tags for the current or given revision
96 tag add one or more tags for the current or given revision
97 tags list repository tags
97 tags list repository tags
98 unbundle apply one or more changegroup files
98 unbundle apply one or more changegroup files
99 update update working directory (or switch revisions)
99 update update working directory (or switch revisions)
100 verify verify the integrity of the repository
100 verify verify the integrity of the repository
101 version output version and copyright information
101 version output version and copyright information
102
102
103 additional help topics:
103 additional help topics:
104
104
105 config Configuration Files
105 config Configuration Files
106 dates Date Formats
106 dates Date Formats
107 diffs Diff Formats
107 diffs Diff Formats
108 environment Environment Variables
108 environment Environment Variables
109 extensions Using Additional Features
109 extensions Using Additional Features
110 filesets Specifying File Sets
110 filesets Specifying File Sets
111 glossary Glossary
111 glossary Glossary
112 hgignore Syntax for Mercurial Ignore Files
112 hgignore Syntax for Mercurial Ignore Files
113 hgweb Configuring hgweb
113 hgweb Configuring hgweb
114 merge-tools Merge Tools
114 merge-tools Merge Tools
115 multirevs Specifying Multiple Revisions
115 multirevs Specifying Multiple Revisions
116 patterns File Name Patterns
116 patterns File Name Patterns
117 phases Working with Phases
117 phases Working with Phases
118 revisions Specifying Single Revisions
118 revisions Specifying Single Revisions
119 revsets Specifying Revision Sets
119 revsets Specifying Revision Sets
120 scripting Using Mercurial from scripts and automation
120 scripting Using Mercurial from scripts and automation
121 subrepos Subrepositories
121 subrepos Subrepositories
122 templating Template Usage
122 templating Template Usage
123 urls URL Paths
123 urls URL Paths
124
124
125 (use "hg help -v" to show built-in aliases and global options)
125 (use "hg help -v" to show built-in aliases and global options)
126
126
127 $ hg -q help
127 $ hg -q help
128 add add the specified files on the next commit
128 add add the specified files on the next commit
129 addremove add all new files, delete all missing files
129 addremove add all new files, delete all missing files
130 annotate show changeset information by line for each file
130 annotate show changeset information by line for each file
131 archive create an unversioned archive of a repository revision
131 archive create an unversioned archive of a repository revision
132 backout reverse effect of earlier changeset
132 backout reverse effect of earlier changeset
133 bisect subdivision search of changesets
133 bisect subdivision search of changesets
134 bookmarks create a new bookmark or list existing bookmarks
134 bookmarks create a new bookmark or list existing bookmarks
135 branch set or show the current branch name
135 branch set or show the current branch name
136 branches list repository named branches
136 branches list repository named branches
137 bundle create a changegroup file
137 bundle create a changegroup file
138 cat output the current or given revision of files
138 cat output the current or given revision of files
139 clone make a copy of an existing repository
139 clone make a copy of an existing repository
140 commit commit the specified files or all outstanding changes
140 commit commit the specified files or all outstanding changes
141 config show combined config settings from all hgrc files
141 config show combined config settings from all hgrc files
142 copy mark files as copied for the next commit
142 copy mark files as copied for the next commit
143 diff diff repository (or selected files)
143 diff diff repository (or selected files)
144 export dump the header and diffs for one or more changesets
144 export dump the header and diffs for one or more changesets
145 files list tracked files
145 files list tracked files
146 forget forget the specified files on the next commit
146 forget forget the specified files on the next commit
147 graft copy changes from other branches onto the current branch
147 graft copy changes from other branches onto the current branch
148 grep search for a pattern in specified files and revisions
148 grep search for a pattern in specified files and revisions
149 heads show branch heads
149 heads show branch heads
150 help show help for a given topic or a help overview
150 help show help for a given topic or a help overview
151 identify identify the working directory or specified revision
151 identify identify the working directory or specified revision
152 import import an ordered set of patches
152 import import an ordered set of patches
153 incoming show new changesets found in source
153 incoming show new changesets found in source
154 init create a new repository in the given directory
154 init create a new repository in the given directory
155 log show revision history of entire repository or files
155 log show revision history of entire repository or files
156 manifest output the current or given revision of the project manifest
156 manifest output the current or given revision of the project manifest
157 merge merge another revision into working directory
157 merge merge another revision into working directory
158 outgoing show changesets not found in the destination
158 outgoing show changesets not found in the destination
159 paths show aliases for remote repositories
159 paths show aliases for remote repositories
160 phase set or show the current phase name
160 phase set or show the current phase name
161 pull pull changes from the specified source
161 pull pull changes from the specified source
162 push push changes to the specified destination
162 push push changes to the specified destination
163 recover roll back an interrupted transaction
163 recover roll back an interrupted transaction
164 remove remove the specified files on the next commit
164 remove remove the specified files on the next commit
165 rename rename files; equivalent of copy + remove
165 rename rename files; equivalent of copy + remove
166 resolve redo merges or set/view the merge status of files
166 resolve redo merges or set/view the merge status of files
167 revert restore files to their checkout state
167 revert restore files to their checkout state
168 root print the root (top) of the current working directory
168 root print the root (top) of the current working directory
169 serve start stand-alone webserver
169 serve start stand-alone webserver
170 status show changed files in the working directory
170 status show changed files in the working directory
171 summary summarize working directory state
171 summary summarize working directory state
172 tag add one or more tags for the current or given revision
172 tag add one or more tags for the current or given revision
173 tags list repository tags
173 tags list repository tags
174 unbundle apply one or more changegroup files
174 unbundle apply one or more changegroup files
175 update update working directory (or switch revisions)
175 update update working directory (or switch revisions)
176 verify verify the integrity of the repository
176 verify verify the integrity of the repository
177 version output version and copyright information
177 version output version and copyright information
178
178
179 additional help topics:
179 additional help topics:
180
180
181 config Configuration Files
181 config Configuration Files
182 dates Date Formats
182 dates Date Formats
183 diffs Diff Formats
183 diffs Diff Formats
184 environment Environment Variables
184 environment Environment Variables
185 extensions Using Additional Features
185 extensions Using Additional Features
186 filesets Specifying File Sets
186 filesets Specifying File Sets
187 glossary Glossary
187 glossary Glossary
188 hgignore Syntax for Mercurial Ignore Files
188 hgignore Syntax for Mercurial Ignore Files
189 hgweb Configuring hgweb
189 hgweb Configuring hgweb
190 merge-tools Merge Tools
190 merge-tools Merge Tools
191 multirevs Specifying Multiple Revisions
191 multirevs Specifying Multiple Revisions
192 patterns File Name Patterns
192 patterns File Name Patterns
193 phases Working with Phases
193 phases Working with Phases
194 revisions Specifying Single Revisions
194 revisions Specifying Single Revisions
195 revsets Specifying Revision Sets
195 revsets Specifying Revision Sets
196 scripting Using Mercurial from scripts and automation
196 scripting Using Mercurial from scripts and automation
197 subrepos Subrepositories
197 subrepos Subrepositories
198 templating Template Usage
198 templating Template Usage
199 urls URL Paths
199 urls URL Paths
200
200
201 Test extension help:
201 Test extension help:
202 $ hg help extensions --config extensions.rebase= --config extensions.children=
202 $ hg help extensions --config extensions.rebase= --config extensions.children=
203 Using Additional Features
203 Using Additional Features
204 """""""""""""""""""""""""
204 """""""""""""""""""""""""
205
205
206 Mercurial has the ability to add new features through the use of
206 Mercurial has the ability to add new features through the use of
207 extensions. Extensions may add new commands, add options to existing
207 extensions. Extensions may add new commands, add options to existing
208 commands, change the default behavior of commands, or implement hooks.
208 commands, change the default behavior of commands, or implement hooks.
209
209
210 To enable the "foo" extension, either shipped with Mercurial or in the
210 To enable the "foo" extension, either shipped with Mercurial or in the
211 Python search path, create an entry for it in your configuration file,
211 Python search path, create an entry for it in your configuration file,
212 like this:
212 like this:
213
213
214 [extensions]
214 [extensions]
215 foo =
215 foo =
216
216
217 You may also specify the full path to an extension:
217 You may also specify the full path to an extension:
218
218
219 [extensions]
219 [extensions]
220 myfeature = ~/.hgext/myfeature.py
220 myfeature = ~/.hgext/myfeature.py
221
221
222 See "hg help config" for more information on configuration files.
222 See "hg help config" for more information on configuration files.
223
223
224 Extensions are not loaded by default for a variety of reasons: they can
224 Extensions are not loaded by default for a variety of reasons: they can
225 increase startup overhead; they may be meant for advanced usage only; they
225 increase startup overhead; they may be meant for advanced usage only; they
226 may provide potentially dangerous abilities (such as letting you destroy
226 may provide potentially dangerous abilities (such as letting you destroy
227 or modify history); they might not be ready for prime time; or they may
227 or modify history); they might not be ready for prime time; or they may
228 alter some usual behaviors of stock Mercurial. It is thus up to the user
228 alter some usual behaviors of stock Mercurial. It is thus up to the user
229 to activate extensions as needed.
229 to activate extensions as needed.
230
230
231 To explicitly disable an extension enabled in a configuration file of
231 To explicitly disable an extension enabled in a configuration file of
232 broader scope, prepend its path with !:
232 broader scope, prepend its path with !:
233
233
234 [extensions]
234 [extensions]
235 # disabling extension bar residing in /path/to/extension/bar.py
235 # disabling extension bar residing in /path/to/extension/bar.py
236 bar = !/path/to/extension/bar.py
236 bar = !/path/to/extension/bar.py
237 # ditto, but no path was supplied for extension baz
237 # ditto, but no path was supplied for extension baz
238 baz = !
238 baz = !
239
239
240 enabled extensions:
240 enabled extensions:
241
241
242 children command to display child changesets (DEPRECATED)
242 children command to display child changesets (DEPRECATED)
243 rebase command to move sets of revisions to a different ancestor
243 rebase command to move sets of revisions to a different ancestor
244
244
245 disabled extensions:
245 disabled extensions:
246
246
247 acl hooks for controlling repository access
247 acl hooks for controlling repository access
248 blackbox log repository events to a blackbox for debugging
248 blackbox log repository events to a blackbox for debugging
249 bugzilla hooks for integrating with the Bugzilla bug tracker
249 bugzilla hooks for integrating with the Bugzilla bug tracker
250 censor erase file content at a given revision
250 censor erase file content at a given revision
251 churn command to display statistics about repository history
251 churn command to display statistics about repository history
252 color colorize output from some commands
252 color colorize output from some commands
253 convert import revisions from foreign VCS repositories into
253 convert import revisions from foreign VCS repositories into
254 Mercurial
254 Mercurial
255 eol automatically manage newlines in repository files
255 eol automatically manage newlines in repository files
256 extdiff command to allow external programs to compare revisions
256 extdiff command to allow external programs to compare revisions
257 factotum http authentication with factotum
257 factotum http authentication with factotum
258 gpg commands to sign and verify changesets
258 gpg commands to sign and verify changesets
259 hgcia hooks for integrating with the CIA.vc notification service
259 hgcia hooks for integrating with the CIA.vc notification service
260 hgk browse the repository in a graphical way
260 hgk browse the repository in a graphical way
261 highlight syntax highlighting for hgweb (requires Pygments)
261 highlight syntax highlighting for hgweb (requires Pygments)
262 histedit interactive history editing
262 histedit interactive history editing
263 keyword expand keywords in tracked files
263 keyword expand keywords in tracked files
264 largefiles track large binary files
264 largefiles track large binary files
265 mq manage a stack of patches
265 mq manage a stack of patches
266 notify hooks for sending email push notifications
266 notify hooks for sending email push notifications
267 pager browse command output with an external pager
267 pager browse command output with an external pager
268 patchbomb command to send changesets as (a series of) patch emails
268 patchbomb command to send changesets as (a series of) patch emails
269 purge command to delete untracked files from the working
269 purge command to delete untracked files from the working
270 directory
270 directory
271 record commands to interactively select changes for
271 record commands to interactively select changes for
272 commit/qrefresh
272 commit/qrefresh
273 relink recreates hardlinks between repository clones
273 relink recreates hardlinks between repository clones
274 schemes extend schemes with shortcuts to repository swarms
274 schemes extend schemes with shortcuts to repository swarms
275 share share a common history between several working directories
275 share share a common history between several working directories
276 shelve save and restore changes to the working directory
276 shelve save and restore changes to the working directory
277 strip strip changesets and their descendants from history
277 strip strip changesets and their descendants from history
278 transplant command to transplant changesets from another branch
278 transplant command to transplant changesets from another branch
279 win32mbcs allow the use of MBCS paths with problematic encodings
279 win32mbcs allow the use of MBCS paths with problematic encodings
280 zeroconf discover and advertise repositories on the local network
280 zeroconf discover and advertise repositories on the local network
281 Test short command list with verbose option
281 Test short command list with verbose option
282
282
283 $ hg -v help shortlist
283 $ hg -v help shortlist
284 Mercurial Distributed SCM
284 Mercurial Distributed SCM
285
285
286 basic commands:
286 basic commands:
287
287
288 add add the specified files on the next commit
288 add add the specified files on the next commit
289 annotate, blame
289 annotate, blame
290 show changeset information by line for each file
290 show changeset information by line for each file
291 clone make a copy of an existing repository
291 clone make a copy of an existing repository
292 commit, ci commit the specified files or all outstanding changes
292 commit, ci commit the specified files or all outstanding changes
293 diff diff repository (or selected files)
293 diff diff repository (or selected files)
294 export dump the header and diffs for one or more changesets
294 export dump the header and diffs for one or more changesets
295 forget forget the specified files on the next commit
295 forget forget the specified files on the next commit
296 init create a new repository in the given directory
296 init create a new repository in the given directory
297 log, history show revision history of entire repository or files
297 log, history show revision history of entire repository or files
298 merge merge another revision into working directory
298 merge merge another revision into working directory
299 pull pull changes from the specified source
299 pull pull changes from the specified source
300 push push changes to the specified destination
300 push push changes to the specified destination
301 remove, rm remove the specified files on the next commit
301 remove, rm remove the specified files on the next commit
302 serve start stand-alone webserver
302 serve start stand-alone webserver
303 status, st show changed files in the working directory
303 status, st show changed files in the working directory
304 summary, sum summarize working directory state
304 summary, sum summarize working directory state
305 update, up, checkout, co
305 update, up, checkout, co
306 update working directory (or switch revisions)
306 update working directory (or switch revisions)
307
307
308 global options ([+] can be repeated):
308 global options ([+] can be repeated):
309
309
310 -R --repository REPO repository root directory or name of overlay bundle
310 -R --repository REPO repository root directory or name of overlay bundle
311 file
311 file
312 --cwd DIR change working directory
312 --cwd DIR change working directory
313 -y --noninteractive do not prompt, automatically pick the first choice for
313 -y --noninteractive do not prompt, automatically pick the first choice for
314 all prompts
314 all prompts
315 -q --quiet suppress output
315 -q --quiet suppress output
316 -v --verbose enable additional output
316 -v --verbose enable additional output
317 --config CONFIG [+] set/override config option (use 'section.name=value')
317 --config CONFIG [+] set/override config option (use 'section.name=value')
318 --debug enable debugging output
318 --debug enable debugging output
319 --debugger start debugger
319 --debugger start debugger
320 --encoding ENCODE set the charset encoding (default: ascii)
320 --encoding ENCODE set the charset encoding (default: ascii)
321 --encodingmode MODE set the charset encoding mode (default: strict)
321 --encodingmode MODE set the charset encoding mode (default: strict)
322 --traceback always print a traceback on exception
322 --traceback always print a traceback on exception
323 --time time how long the command takes
323 --time time how long the command takes
324 --profile print command execution profile
324 --profile print command execution profile
325 --version output version information and exit
325 --version output version information and exit
326 -h --help display help and exit
326 -h --help display help and exit
327 --hidden consider hidden changesets
327 --hidden consider hidden changesets
328
328
329 (use "hg help" for the full list of commands)
329 (use "hg help" for the full list of commands)
330
330
331 $ hg add -h
331 $ hg add -h
332 hg add [OPTION]... [FILE]...
332 hg add [OPTION]... [FILE]...
333
333
334 add the specified files on the next commit
334 add the specified files on the next commit
335
335
336 Schedule files to be version controlled and added to the repository.
336 Schedule files to be version controlled and added to the repository.
337
337
338 The files will be added to the repository at the next commit. To undo an
338 The files will be added to the repository at the next commit. To undo an
339 add before that, see "hg forget".
339 add before that, see "hg forget".
340
340
341 If no names are given, add all files to the repository.
341 If no names are given, add all files to the repository.
342
342
343 Returns 0 if all files are successfully added.
343 Returns 0 if all files are successfully added.
344
344
345 options ([+] can be repeated):
345 options ([+] can be repeated):
346
346
347 -I --include PATTERN [+] include names matching the given patterns
347 -I --include PATTERN [+] include names matching the given patterns
348 -X --exclude PATTERN [+] exclude names matching the given patterns
348 -X --exclude PATTERN [+] exclude names matching the given patterns
349 -S --subrepos recurse into subrepositories
349 -S --subrepos recurse into subrepositories
350 -n --dry-run do not perform actions, just print output
350 -n --dry-run do not perform actions, just print output
351
351
352 (some details hidden, use --verbose to show complete help)
352 (some details hidden, use --verbose to show complete help)
353
353
354 Verbose help for add
354 Verbose help for add
355
355
356 $ hg add -hv
356 $ hg add -hv
357 hg add [OPTION]... [FILE]...
357 hg add [OPTION]... [FILE]...
358
358
359 add the specified files on the next commit
359 add the specified files on the next commit
360
360
361 Schedule files to be version controlled and added to the repository.
361 Schedule files to be version controlled and added to the repository.
362
362
363 The files will be added to the repository at the next commit. To undo an
363 The files will be added to the repository at the next commit. To undo an
364 add before that, see "hg forget".
364 add before that, see "hg forget".
365
365
366 If no names are given, add all files to the repository.
366 If no names are given, add all files to the repository.
367
367
368 An example showing how new (unknown) files are added automatically by "hg
368 An example showing how new (unknown) files are added automatically by "hg
369 add":
369 add":
370
370
371 $ ls
371 $ ls
372 foo.c
372 foo.c
373 $ hg status
373 $ hg status
374 ? foo.c
374 ? foo.c
375 $ hg add
375 $ hg add
376 adding foo.c
376 adding foo.c
377 $ hg status
377 $ hg status
378 A foo.c
378 A foo.c
379
379
380 Returns 0 if all files are successfully added.
380 Returns 0 if all files are successfully added.
381
381
382 options ([+] can be repeated):
382 options ([+] can be repeated):
383
383
384 -I --include PATTERN [+] include names matching the given patterns
384 -I --include PATTERN [+] include names matching the given patterns
385 -X --exclude PATTERN [+] exclude names matching the given patterns
385 -X --exclude PATTERN [+] exclude names matching the given patterns
386 -S --subrepos recurse into subrepositories
386 -S --subrepos recurse into subrepositories
387 -n --dry-run do not perform actions, just print output
387 -n --dry-run do not perform actions, just print output
388
388
389 global options ([+] can be repeated):
389 global options ([+] can be repeated):
390
390
391 -R --repository REPO repository root directory or name of overlay bundle
391 -R --repository REPO repository root directory or name of overlay bundle
392 file
392 file
393 --cwd DIR change working directory
393 --cwd DIR change working directory
394 -y --noninteractive do not prompt, automatically pick the first choice for
394 -y --noninteractive do not prompt, automatically pick the first choice for
395 all prompts
395 all prompts
396 -q --quiet suppress output
396 -q --quiet suppress output
397 -v --verbose enable additional output
397 -v --verbose enable additional output
398 --config CONFIG [+] set/override config option (use 'section.name=value')
398 --config CONFIG [+] set/override config option (use 'section.name=value')
399 --debug enable debugging output
399 --debug enable debugging output
400 --debugger start debugger
400 --debugger start debugger
401 --encoding ENCODE set the charset encoding (default: ascii)
401 --encoding ENCODE set the charset encoding (default: ascii)
402 --encodingmode MODE set the charset encoding mode (default: strict)
402 --encodingmode MODE set the charset encoding mode (default: strict)
403 --traceback always print a traceback on exception
403 --traceback always print a traceback on exception
404 --time time how long the command takes
404 --time time how long the command takes
405 --profile print command execution profile
405 --profile print command execution profile
406 --version output version information and exit
406 --version output version information and exit
407 -h --help display help and exit
407 -h --help display help and exit
408 --hidden consider hidden changesets
408 --hidden consider hidden changesets
409
409
410 Test help option with version option
410 Test help option with version option
411
411
412 $ hg add -h --version
412 $ hg add -h --version
413 Mercurial Distributed SCM (version *) (glob)
413 Mercurial Distributed SCM (version *) (glob)
414 (see http://mercurial.selenic.com for more information)
414 (see http://mercurial.selenic.com for more information)
415
415
416 Copyright (C) 2005-2015 Matt Mackall and others
416 Copyright (C) 2005-2015 Matt Mackall and others
417 This is free software; see the source for copying conditions. There is NO
417 This is free software; see the source for copying conditions. There is NO
418 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
418 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
419
419
420 $ hg add --skjdfks
420 $ hg add --skjdfks
421 hg add: option --skjdfks not recognized
421 hg add: option --skjdfks not recognized
422 hg add [OPTION]... [FILE]...
422 hg add [OPTION]... [FILE]...
423
423
424 add the specified files on the next commit
424 add the specified files on the next commit
425
425
426 options ([+] can be repeated):
426 options ([+] can be repeated):
427
427
428 -I --include PATTERN [+] include names matching the given patterns
428 -I --include PATTERN [+] include names matching the given patterns
429 -X --exclude PATTERN [+] exclude names matching the given patterns
429 -X --exclude PATTERN [+] exclude names matching the given patterns
430 -S --subrepos recurse into subrepositories
430 -S --subrepos recurse into subrepositories
431 -n --dry-run do not perform actions, just print output
431 -n --dry-run do not perform actions, just print output
432
432
433 (use "hg add -h" to show more help)
433 (use "hg add -h" to show more help)
434 [255]
434 [255]
435
435
436 Test ambiguous command help
436 Test ambiguous command help
437
437
438 $ hg help ad
438 $ hg help ad
439 list of commands:
439 list of commands:
440
440
441 add add the specified files on the next commit
441 add add the specified files on the next commit
442 addremove add all new files, delete all missing files
442 addremove add all new files, delete all missing files
443
443
444 (use "hg help -v ad" to show built-in aliases and global options)
444 (use "hg help -v ad" to show built-in aliases and global options)
445
445
446 Test command without options
446 Test command without options
447
447
448 $ hg help verify
448 $ hg help verify
449 hg verify
449 hg verify
450
450
451 verify the integrity of the repository
451 verify the integrity of the repository
452
452
453 Verify the integrity of the current repository.
453 Verify the integrity of the current repository.
454
454
455 This will perform an extensive check of the repository's integrity,
455 This will perform an extensive check of the repository's integrity,
456 validating the hashes and checksums of each entry in the changelog,
456 validating the hashes and checksums of each entry in the changelog,
457 manifest, and tracked files, as well as the integrity of their crosslinks
457 manifest, and tracked files, as well as the integrity of their crosslinks
458 and indices.
458 and indices.
459
459
460 Please see http://mercurial.selenic.com/wiki/RepositoryCorruption for more
460 Please see http://mercurial.selenic.com/wiki/RepositoryCorruption for more
461 information about recovery from corruption of the repository.
461 information about recovery from corruption of the repository.
462
462
463 Returns 0 on success, 1 if errors are encountered.
463 Returns 0 on success, 1 if errors are encountered.
464
464
465 (some details hidden, use --verbose to show complete help)
465 (some details hidden, use --verbose to show complete help)
466
466
467 $ hg help diff
467 $ hg help diff
468 hg diff [OPTION]... ([-c REV] | [-r REV1 [-r REV2]]) [FILE]...
468 hg diff [OPTION]... ([-c REV] | [-r REV1 [-r REV2]]) [FILE]...
469
469
470 diff repository (or selected files)
470 diff repository (or selected files)
471
471
472 Show differences between revisions for the specified files.
472 Show differences between revisions for the specified files.
473
473
474 Differences between files are shown using the unified diff format.
474 Differences between files are shown using the unified diff format.
475
475
476 Note:
476 Note:
477 diff may generate unexpected results for merges, as it will default to
477 diff may generate unexpected results for merges, as it will default to
478 comparing against the working directory's first parent changeset if no
478 comparing against the working directory's first parent changeset if no
479 revisions are specified.
479 revisions are specified.
480
480
481 When two revision arguments are given, then changes are shown between
481 When two revision arguments are given, then changes are shown between
482 those revisions. If only one revision is specified then that revision is
482 those revisions. If only one revision is specified then that revision is
483 compared to the working directory, and, when no revisions are specified,
483 compared to the working directory, and, when no revisions are specified,
484 the working directory files are compared to its parent.
484 the working directory files are compared to its parent.
485
485
486 Alternatively you can specify -c/--change with a revision to see the
486 Alternatively you can specify -c/--change with a revision to see the
487 changes in that changeset relative to its first parent.
487 changes in that changeset relative to its first parent.
488
488
489 Without the -a/--text option, diff will avoid generating diffs of files it
489 Without the -a/--text option, diff will avoid generating diffs of files it
490 detects as binary. With -a, diff will generate a diff anyway, probably
490 detects as binary. With -a, diff will generate a diff anyway, probably
491 with undesirable results.
491 with undesirable results.
492
492
493 Use the -g/--git option to generate diffs in the git extended diff format.
493 Use the -g/--git option to generate diffs in the git extended diff format.
494 For more information, read "hg help diffs".
494 For more information, read "hg help diffs".
495
495
496 Returns 0 on success.
496 Returns 0 on success.
497
497
498 options ([+] can be repeated):
498 options ([+] can be repeated):
499
499
500 -r --rev REV [+] revision
500 -r --rev REV [+] revision
501 -c --change REV change made by revision
501 -c --change REV change made by revision
502 -a --text treat all files as text
502 -a --text treat all files as text
503 -g --git use git extended diff format
503 -g --git use git extended diff format
504 --nodates omit dates from diff headers
504 --nodates omit dates from diff headers
505 --noprefix omit a/ and b/ prefixes from filenames
505 --noprefix omit a/ and b/ prefixes from filenames
506 -p --show-function show which function each change is in
506 -p --show-function show which function each change is in
507 --reverse produce a diff that undoes the changes
507 --reverse produce a diff that undoes the changes
508 -w --ignore-all-space ignore white space when comparing lines
508 -w --ignore-all-space ignore white space when comparing lines
509 -b --ignore-space-change ignore changes in the amount of white space
509 -b --ignore-space-change ignore changes in the amount of white space
510 -B --ignore-blank-lines ignore changes whose lines are all blank
510 -B --ignore-blank-lines ignore changes whose lines are all blank
511 -U --unified NUM number of lines of context to show
511 -U --unified NUM number of lines of context to show
512 --stat output diffstat-style summary of changes
512 --stat output diffstat-style summary of changes
513 --root DIR produce diffs relative to subdirectory
513 --root DIR produce diffs relative to subdirectory
514 -I --include PATTERN [+] include names matching the given patterns
514 -I --include PATTERN [+] include names matching the given patterns
515 -X --exclude PATTERN [+] exclude names matching the given patterns
515 -X --exclude PATTERN [+] exclude names matching the given patterns
516 -S --subrepos recurse into subrepositories
516 -S --subrepos recurse into subrepositories
517
517
518 (some details hidden, use --verbose to show complete help)
518 (some details hidden, use --verbose to show complete help)
519
519
520 $ hg help status
520 $ hg help status
521 hg status [OPTION]... [FILE]...
521 hg status [OPTION]... [FILE]...
522
522
523 aliases: st
523 aliases: st
524
524
525 show changed files in the working directory
525 show changed files in the working directory
526
526
527 Show status of files in the repository. If names are given, only files
527 Show status of files in the repository. If names are given, only files
528 that match are shown. Files that are clean or ignored or the source of a
528 that match are shown. Files that are clean or ignored or the source of a
529 copy/move operation, are not listed unless -c/--clean, -i/--ignored,
529 copy/move operation, are not listed unless -c/--clean, -i/--ignored,
530 -C/--copies or -A/--all are given. Unless options described with "show
530 -C/--copies or -A/--all are given. Unless options described with "show
531 only ..." are given, the options -mardu are used.
531 only ..." are given, the options -mardu are used.
532
532
533 Option -q/--quiet hides untracked (unknown and ignored) files unless
533 Option -q/--quiet hides untracked (unknown and ignored) files unless
534 explicitly requested with -u/--unknown or -i/--ignored.
534 explicitly requested with -u/--unknown or -i/--ignored.
535
535
536 Note:
536 Note:
537 status may appear to disagree with diff if permissions have changed or
537 status may appear to disagree with diff if permissions have changed or
538 a merge has occurred. The standard diff format does not report
538 a merge has occurred. The standard diff format does not report
539 permission changes and diff only reports changes relative to one merge
539 permission changes and diff only reports changes relative to one merge
540 parent.
540 parent.
541
541
542 If one revision is given, it is used as the base revision. If two
542 If one revision is given, it is used as the base revision. If two
543 revisions are given, the differences between them are shown. The --change
543 revisions are given, the differences between them are shown. The --change
544 option can also be used as a shortcut to list the changed files of a
544 option can also be used as a shortcut to list the changed files of a
545 revision from its first parent.
545 revision from its first parent.
546
546
547 The codes used to show the status of files are:
547 The codes used to show the status of files are:
548
548
549 M = modified
549 M = modified
550 A = added
550 A = added
551 R = removed
551 R = removed
552 C = clean
552 C = clean
553 ! = missing (deleted by non-hg command, but still tracked)
553 ! = missing (deleted by non-hg command, but still tracked)
554 ? = not tracked
554 ? = not tracked
555 I = ignored
555 I = ignored
556 = origin of the previous file (with --copies)
556 = origin of the previous file (with --copies)
557
557
558 Returns 0 on success.
558 Returns 0 on success.
559
559
560 options ([+] can be repeated):
560 options ([+] can be repeated):
561
561
562 -A --all show status of all files
562 -A --all show status of all files
563 -m --modified show only modified files
563 -m --modified show only modified files
564 -a --added show only added files
564 -a --added show only added files
565 -r --removed show only removed files
565 -r --removed show only removed files
566 -d --deleted show only deleted (but tracked) files
566 -d --deleted show only deleted (but tracked) files
567 -c --clean show only files without changes
567 -c --clean show only files without changes
568 -u --unknown show only unknown (not tracked) files
568 -u --unknown show only unknown (not tracked) files
569 -i --ignored show only ignored files
569 -i --ignored show only ignored files
570 -n --no-status hide status prefix
570 -n --no-status hide status prefix
571 -C --copies show source of copied files
571 -C --copies show source of copied files
572 -0 --print0 end filenames with NUL, for use with xargs
572 -0 --print0 end filenames with NUL, for use with xargs
573 --rev REV [+] show difference from revision
573 --rev REV [+] show difference from revision
574 --change REV list the changed files of a revision
574 --change REV list the changed files of a revision
575 -I --include PATTERN [+] include names matching the given patterns
575 -I --include PATTERN [+] include names matching the given patterns
576 -X --exclude PATTERN [+] exclude names matching the given patterns
576 -X --exclude PATTERN [+] exclude names matching the given patterns
577 -S --subrepos recurse into subrepositories
577 -S --subrepos recurse into subrepositories
578
578
579 (some details hidden, use --verbose to show complete help)
579 (some details hidden, use --verbose to show complete help)
580
580
581 $ hg -q help status
581 $ hg -q help status
582 hg status [OPTION]... [FILE]...
582 hg status [OPTION]... [FILE]...
583
583
584 show changed files in the working directory
584 show changed files in the working directory
585
585
586 $ hg help foo
586 $ hg help foo
587 abort: no such help topic: foo
587 abort: no such help topic: foo
588 (try "hg help --keyword foo")
588 (try "hg help --keyword foo")
589 [255]
589 [255]
590
590
591 $ hg skjdfks
591 $ hg skjdfks
592 hg: unknown command 'skjdfks'
592 hg: unknown command 'skjdfks'
593 Mercurial Distributed SCM
593 Mercurial Distributed SCM
594
594
595 basic commands:
595 basic commands:
596
596
597 add add the specified files on the next commit
597 add add the specified files on the next commit
598 annotate show changeset information by line for each file
598 annotate show changeset information by line for each file
599 clone make a copy of an existing repository
599 clone make a copy of an existing repository
600 commit commit the specified files or all outstanding changes
600 commit commit the specified files or all outstanding changes
601 diff diff repository (or selected files)
601 diff diff repository (or selected files)
602 export dump the header and diffs for one or more changesets
602 export dump the header and diffs for one or more changesets
603 forget forget the specified files on the next commit
603 forget forget the specified files on the next commit
604 init create a new repository in the given directory
604 init create a new repository in the given directory
605 log show revision history of entire repository or files
605 log show revision history of entire repository or files
606 merge merge another revision into working directory
606 merge merge another revision into working directory
607 pull pull changes from the specified source
607 pull pull changes from the specified source
608 push push changes to the specified destination
608 push push changes to the specified destination
609 remove remove the specified files on the next commit
609 remove remove the specified files on the next commit
610 serve start stand-alone webserver
610 serve start stand-alone webserver
611 status show changed files in the working directory
611 status show changed files in the working directory
612 summary summarize working directory state
612 summary summarize working directory state
613 update update working directory (or switch revisions)
613 update update working directory (or switch revisions)
614
614
615 (use "hg help" for the full list of commands or "hg -v" for details)
615 (use "hg help" for the full list of commands or "hg -v" for details)
616 [255]
616 [255]
617
617
618
618
619 $ cat > helpext.py <<EOF
619 $ cat > helpext.py <<EOF
620 > import os
620 > import os
621 > from mercurial import cmdutil, commands
621 > from mercurial import cmdutil, commands
622 >
622 >
623 > cmdtable = {}
623 > cmdtable = {}
624 > command = cmdutil.command(cmdtable)
624 > command = cmdutil.command(cmdtable)
625 >
625 >
626 > @command('nohelp',
626 > @command('nohelp',
627 > [('', 'longdesc', 3, 'x'*90),
627 > [('', 'longdesc', 3, 'x'*90),
628 > ('n', '', None, 'normal desc'),
628 > ('n', '', None, 'normal desc'),
629 > ('', 'newline', '', 'line1\nline2')],
629 > ('', 'newline', '', 'line1\nline2')],
630 > 'hg nohelp',
630 > 'hg nohelp',
631 > norepo=True)
631 > norepo=True)
632 > @command('debugoptDEP', [('', 'dopt', None, 'option is DEPRECATED')])
632 > @command('debugoptDEP', [('', 'dopt', None, 'option is DEPRECATED')])
633 > @command('debugoptEXP', [('', 'eopt', None, 'option is EXPERIMENTAL')])
633 > @command('debugoptEXP', [('', 'eopt', None, 'option is EXPERIMENTAL')])
634 > def nohelp(ui, *args, **kwargs):
634 > def nohelp(ui, *args, **kwargs):
635 > pass
635 > pass
636 >
636 >
637 > EOF
637 > EOF
638 $ echo '[extensions]' >> $HGRCPATH
638 $ echo '[extensions]' >> $HGRCPATH
639 $ echo "helpext = `pwd`/helpext.py" >> $HGRCPATH
639 $ echo "helpext = `pwd`/helpext.py" >> $HGRCPATH
640
640
641 Test command with no help text
641 Test command with no help text
642
642
643 $ hg help nohelp
643 $ hg help nohelp
644 hg nohelp
644 hg nohelp
645
645
646 (no help text available)
646 (no help text available)
647
647
648 options:
648 options:
649
649
650 --longdesc VALUE xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
650 --longdesc VALUE xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
651 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx (default: 3)
651 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx (default: 3)
652 -n -- normal desc
652 -n -- normal desc
653 --newline VALUE line1 line2
653 --newline VALUE line1 line2
654
654
655 (some details hidden, use --verbose to show complete help)
655 (some details hidden, use --verbose to show complete help)
656
656
657 $ hg help -k nohelp
657 $ hg help -k nohelp
658 Commands:
658 Commands:
659
659
660 nohelp hg nohelp
660 nohelp hg nohelp
661
661
662 Extension Commands:
662 Extension Commands:
663
663
664 nohelp (no help text available)
664 nohelp (no help text available)
665
665
666 Test that default list of commands omits extension commands
666 Test that default list of commands omits extension commands
667
667
668 $ hg help
668 $ hg help
669 Mercurial Distributed SCM
669 Mercurial Distributed SCM
670
670
671 list of commands:
671 list of commands:
672
672
673 add add the specified files on the next commit
673 add add the specified files on the next commit
674 addremove add all new files, delete all missing files
674 addremove add all new files, delete all missing files
675 annotate show changeset information by line for each file
675 annotate show changeset information by line for each file
676 archive create an unversioned archive of a repository revision
676 archive create an unversioned archive of a repository revision
677 backout reverse effect of earlier changeset
677 backout reverse effect of earlier changeset
678 bisect subdivision search of changesets
678 bisect subdivision search of changesets
679 bookmarks create a new bookmark or list existing bookmarks
679 bookmarks create a new bookmark or list existing bookmarks
680 branch set or show the current branch name
680 branch set or show the current branch name
681 branches list repository named branches
681 branches list repository named branches
682 bundle create a changegroup file
682 bundle create a changegroup file
683 cat output the current or given revision of files
683 cat output the current or given revision of files
684 clone make a copy of an existing repository
684 clone make a copy of an existing repository
685 commit commit the specified files or all outstanding changes
685 commit commit the specified files or all outstanding changes
686 config show combined config settings from all hgrc files
686 config show combined config settings from all hgrc files
687 copy mark files as copied for the next commit
687 copy mark files as copied for the next commit
688 diff diff repository (or selected files)
688 diff diff repository (or selected files)
689 export dump the header and diffs for one or more changesets
689 export dump the header and diffs for one or more changesets
690 files list tracked files
690 files list tracked files
691 forget forget the specified files on the next commit
691 forget forget the specified files on the next commit
692 graft copy changes from other branches onto the current branch
692 graft copy changes from other branches onto the current branch
693 grep search for a pattern in specified files and revisions
693 grep search for a pattern in specified files and revisions
694 heads show branch heads
694 heads show branch heads
695 help show help for a given topic or a help overview
695 help show help for a given topic or a help overview
696 identify identify the working directory or specified revision
696 identify identify the working directory or specified revision
697 import import an ordered set of patches
697 import import an ordered set of patches
698 incoming show new changesets found in source
698 incoming show new changesets found in source
699 init create a new repository in the given directory
699 init create a new repository in the given directory
700 log show revision history of entire repository or files
700 log show revision history of entire repository or files
701 manifest output the current or given revision of the project manifest
701 manifest output the current or given revision of the project manifest
702 merge merge another revision into working directory
702 merge merge another revision into working directory
703 outgoing show changesets not found in the destination
703 outgoing show changesets not found in the destination
704 paths show aliases for remote repositories
704 paths show aliases for remote repositories
705 phase set or show the current phase name
705 phase set or show the current phase name
706 pull pull changes from the specified source
706 pull pull changes from the specified source
707 push push changes to the specified destination
707 push push changes to the specified destination
708 recover roll back an interrupted transaction
708 recover roll back an interrupted transaction
709 remove remove the specified files on the next commit
709 remove remove the specified files on the next commit
710 rename rename files; equivalent of copy + remove
710 rename rename files; equivalent of copy + remove
711 resolve redo merges or set/view the merge status of files
711 resolve redo merges or set/view the merge status of files
712 revert restore files to their checkout state
712 revert restore files to their checkout state
713 root print the root (top) of the current working directory
713 root print the root (top) of the current working directory
714 serve start stand-alone webserver
714 serve start stand-alone webserver
715 status show changed files in the working directory
715 status show changed files in the working directory
716 summary summarize working directory state
716 summary summarize working directory state
717 tag add one or more tags for the current or given revision
717 tag add one or more tags for the current or given revision
718 tags list repository tags
718 tags list repository tags
719 unbundle apply one or more changegroup files
719 unbundle apply one or more changegroup files
720 update update working directory (or switch revisions)
720 update update working directory (or switch revisions)
721 verify verify the integrity of the repository
721 verify verify the integrity of the repository
722 version output version and copyright information
722 version output version and copyright information
723
723
724 enabled extensions:
724 enabled extensions:
725
725
726 helpext (no help text available)
726 helpext (no help text available)
727
727
728 additional help topics:
728 additional help topics:
729
729
730 config Configuration Files
730 config Configuration Files
731 dates Date Formats
731 dates Date Formats
732 diffs Diff Formats
732 diffs Diff Formats
733 environment Environment Variables
733 environment Environment Variables
734 extensions Using Additional Features
734 extensions Using Additional Features
735 filesets Specifying File Sets
735 filesets Specifying File Sets
736 glossary Glossary
736 glossary Glossary
737 hgignore Syntax for Mercurial Ignore Files
737 hgignore Syntax for Mercurial Ignore Files
738 hgweb Configuring hgweb
738 hgweb Configuring hgweb
739 merge-tools Merge Tools
739 merge-tools Merge Tools
740 multirevs Specifying Multiple Revisions
740 multirevs Specifying Multiple Revisions
741 patterns File Name Patterns
741 patterns File Name Patterns
742 phases Working with Phases
742 phases Working with Phases
743 revisions Specifying Single Revisions
743 revisions Specifying Single Revisions
744 revsets Specifying Revision Sets
744 revsets Specifying Revision Sets
745 scripting Using Mercurial from scripts and automation
745 scripting Using Mercurial from scripts and automation
746 subrepos Subrepositories
746 subrepos Subrepositories
747 templating Template Usage
747 templating Template Usage
748 urls URL Paths
748 urls URL Paths
749
749
750 (use "hg help -v" to show built-in aliases and global options)
750 (use "hg help -v" to show built-in aliases and global options)
751
751
752
752
753 Test list of internal help commands
753 Test list of internal help commands
754
754
755 $ hg help debug
755 $ hg help debug
756 debug commands (internal and unsupported):
756 debug commands (internal and unsupported):
757
757
758 debugancestor
758 debugancestor
759 find the ancestor revision of two revisions in a given index
759 find the ancestor revision of two revisions in a given index
760 debugbuilddag
760 debugbuilddag
761 builds a repo with a given DAG from scratch in the current
761 builds a repo with a given DAG from scratch in the current
762 empty repo
762 empty repo
763 debugbundle lists the contents of a bundle
763 debugbundle lists the contents of a bundle
764 debugcheckstate
764 debugcheckstate
765 validate the correctness of the current dirstate
765 validate the correctness of the current dirstate
766 debugcommands
766 debugcommands
767 list all available commands and options
767 list all available commands and options
768 debugcomplete
768 debugcomplete
769 returns the completion list associated with the given command
769 returns the completion list associated with the given command
770 debugdag format the changelog or an index DAG as a concise textual
770 debugdag format the changelog or an index DAG as a concise textual
771 description
771 description
772 debugdata dump the contents of a data file revision
772 debugdata dump the contents of a data file revision
773 debugdate parse and display a date
773 debugdate parse and display a date
774 debugdirstate
774 debugdirstate
775 show the contents of the current dirstate
775 show the contents of the current dirstate
776 debugdiscovery
776 debugdiscovery
777 runs the changeset discovery protocol in isolation
777 runs the changeset discovery protocol in isolation
778 debugfileset parse and apply a fileset specification
778 debugfileset parse and apply a fileset specification
779 debugfsinfo show information detected about current filesystem
779 debugfsinfo show information detected about current filesystem
780 debuggetbundle
780 debuggetbundle
781 retrieves a bundle from a repo
781 retrieves a bundle from a repo
782 debugignore display the combined ignore pattern
782 debugignore display the combined ignore pattern
783 debugindex dump the contents of an index file
783 debugindex dump the contents of an index file
784 debugindexdot
784 debugindexdot
785 dump an index DAG as a graphviz dot file
785 dump an index DAG as a graphviz dot file
786 debuginstall test Mercurial installation
786 debuginstall test Mercurial installation
787 debugknown test whether node ids are known to a repo
787 debugknown test whether node ids are known to a repo
788 debuglocks show or modify state of locks
788 debuglocks show or modify state of locks
789 debugnamecomplete
789 debugnamecomplete
790 complete "names" - tags, open branch names, bookmark names
790 complete "names" - tags, open branch names, bookmark names
791 debugobsolete
791 debugobsolete
792 create arbitrary obsolete marker
792 create arbitrary obsolete marker
793 debugoptDEP (no help text available)
793 debugoptDEP (no help text available)
794 debugoptEXP (no help text available)
794 debugoptEXP (no help text available)
795 debugpathcomplete
795 debugpathcomplete
796 complete part or all of a tracked path
796 complete part or all of a tracked path
797 debugpushkey access the pushkey key/value protocol
797 debugpushkey access the pushkey key/value protocol
798 debugpvec (no help text available)
798 debugpvec (no help text available)
799 debugrebuilddirstate
799 debugrebuilddirstate
800 rebuild the dirstate as it would look like for the given
800 rebuild the dirstate as it would look like for the given
801 revision
801 revision
802 debugrebuildfncache
802 debugrebuildfncache
803 rebuild the fncache file
803 rebuild the fncache file
804 debugrename dump rename information
804 debugrename dump rename information
805 debugrevlog show data and statistics about a revlog
805 debugrevlog show data and statistics about a revlog
806 debugrevspec parse and apply a revision specification
806 debugrevspec parse and apply a revision specification
807 debugsetparents
807 debugsetparents
808 manually set the parents of the current working directory
808 manually set the parents of the current working directory
809 debugsub (no help text available)
809 debugsub (no help text available)
810 debugsuccessorssets
810 debugsuccessorssets
811 show set of successors for revision
811 show set of successors for revision
812 debugwalk show how files match on given patterns
812 debugwalk show how files match on given patterns
813 debugwireargs
813 debugwireargs
814 (no help text available)
814 (no help text available)
815
815
816 (use "hg help -v debug" to show built-in aliases and global options)
816 (use "hg help -v debug" to show built-in aliases and global options)
817
817
818
818
819 Test list of commands with command with no help text
819 Test list of commands with command with no help text
820
820
821 $ hg help helpext
821 $ hg help helpext
822 helpext extension - no help text available
822 helpext extension - no help text available
823
823
824 list of commands:
824 list of commands:
825
825
826 nohelp (no help text available)
826 nohelp (no help text available)
827
827
828 (use "hg help -v helpext" to show built-in aliases and global options)
828 (use "hg help -v helpext" to show built-in aliases and global options)
829
829
830
830
831 test deprecated and experimental options are hidden in command help
831 test deprecated and experimental options are hidden in command help
832 $ hg help debugoptDEP
832 $ hg help debugoptDEP
833 hg debugoptDEP
833 hg debugoptDEP
834
834
835 (no help text available)
835 (no help text available)
836
836
837 options:
837 options:
838
838
839 (some details hidden, use --verbose to show complete help)
839 (some details hidden, use --verbose to show complete help)
840
840
841 $ hg help debugoptEXP
841 $ hg help debugoptEXP
842 hg debugoptEXP
842 hg debugoptEXP
843
843
844 (no help text available)
844 (no help text available)
845
845
846 options:
846 options:
847
847
848 (some details hidden, use --verbose to show complete help)
848 (some details hidden, use --verbose to show complete help)
849
849
850 test deprecated and experimental options is shown with -v
850 test deprecated and experimental options is shown with -v
851 $ hg help -v debugoptDEP | grep dopt
851 $ hg help -v debugoptDEP | grep dopt
852 --dopt option is DEPRECATED
852 --dopt option is DEPRECATED
853 $ hg help -v debugoptEXP | grep eopt
853 $ hg help -v debugoptEXP | grep eopt
854 --eopt option is EXPERIMENTAL
854 --eopt option is EXPERIMENTAL
855
855
856 #if gettext
856 #if gettext
857 test deprecated option is hidden with translation with untranslated description
857 test deprecated option is hidden with translation with untranslated description
858 (use many globy for not failing on changed transaction)
858 (use many globy for not failing on changed transaction)
859 $ LANGUAGE=sv hg help debugoptDEP
859 $ LANGUAGE=sv hg help debugoptDEP
860 hg debugoptDEP
860 hg debugoptDEP
861
861
862 (*) (glob)
862 (*) (glob)
863
863
864 options:
864 options:
865
865
866 (some details hidden, use --verbose to show complete help)
866 (some details hidden, use --verbose to show complete help)
867 #endif
867 #endif
868
868
869 Test commands that collide with topics (issue4240)
869 Test commands that collide with topics (issue4240)
870
870
871 $ hg config -hq
871 $ hg config -hq
872 hg config [-u] [NAME]...
872 hg config [-u] [NAME]...
873
873
874 show combined config settings from all hgrc files
874 show combined config settings from all hgrc files
875 $ hg showconfig -hq
875 $ hg showconfig -hq
876 hg config [-u] [NAME]...
876 hg config [-u] [NAME]...
877
877
878 show combined config settings from all hgrc files
878 show combined config settings from all hgrc files
879
879
880 Test a help topic
880 Test a help topic
881
881
882 $ hg help revs
882 $ hg help revs
883 Specifying Single Revisions
883 Specifying Single Revisions
884 """""""""""""""""""""""""""
884 """""""""""""""""""""""""""
885
885
886 Mercurial supports several ways to specify individual revisions.
886 Mercurial supports several ways to specify individual revisions.
887
887
888 A plain integer is treated as a revision number. Negative integers are
888 A plain integer is treated as a revision number. Negative integers are
889 treated as sequential offsets from the tip, with -1 denoting the tip, -2
889 treated as sequential offsets from the tip, with -1 denoting the tip, -2
890 denoting the revision prior to the tip, and so forth.
890 denoting the revision prior to the tip, and so forth.
891
891
892 A 40-digit hexadecimal string is treated as a unique revision identifier.
892 A 40-digit hexadecimal string is treated as a unique revision identifier.
893
893
894 A hexadecimal string less than 40 characters long is treated as a unique
894 A hexadecimal string less than 40 characters long is treated as a unique
895 revision identifier and is referred to as a short-form identifier. A
895 revision identifier and is referred to as a short-form identifier. A
896 short-form identifier is only valid if it is the prefix of exactly one
896 short-form identifier is only valid if it is the prefix of exactly one
897 full-length identifier.
897 full-length identifier.
898
898
899 Any other string is treated as a bookmark, tag, or branch name. A bookmark
899 Any other string is treated as a bookmark, tag, or branch name. A bookmark
900 is a movable pointer to a revision. A tag is a permanent name associated
900 is a movable pointer to a revision. A tag is a permanent name associated
901 with a revision. A branch name denotes the tipmost open branch head of
901 with a revision. A branch name denotes the tipmost open branch head of
902 that branch - or if they are all closed, the tipmost closed head of the
902 that branch - or if they are all closed, the tipmost closed head of the
903 branch. Bookmark, tag, and branch names must not contain the ":"
903 branch. Bookmark, tag, and branch names must not contain the ":"
904 character.
904 character.
905
905
906 The reserved name "tip" always identifies the most recent revision.
906 The reserved name "tip" always identifies the most recent revision.
907
907
908 The reserved name "null" indicates the null revision. This is the revision
908 The reserved name "null" indicates the null revision. This is the revision
909 of an empty repository, and the parent of revision 0.
909 of an empty repository, and the parent of revision 0.
910
910
911 The reserved name "." indicates the working directory parent. If no
911 The reserved name "." indicates the working directory parent. If no
912 working directory is checked out, it is equivalent to null. If an
912 working directory is checked out, it is equivalent to null. If an
913 uncommitted merge is in progress, "." is the revision of the first parent.
913 uncommitted merge is in progress, "." is the revision of the first parent.
914
914
915 Test repeated config section name
915 Test repeated config section name
916
916
917 $ hg help config.host
917 $ hg help config.host
918 "http_proxy.host"
918 "http_proxy.host"
919 Host name and (optional) port of the proxy server, for example
919 Host name and (optional) port of the proxy server, for example
920 "myproxy:8000".
920 "myproxy:8000".
921
921
922 "smtp.host"
922 "smtp.host"
923 Host name of mail server, e.g. "mail.example.com".
923 Host name of mail server, e.g. "mail.example.com".
924
924
925 Unrelated trailing paragraphs shouldn't be included
925 Unrelated trailing paragraphs shouldn't be included
926
926
927 $ hg help config.extramsg | grep '^$'
927 $ hg help config.extramsg | grep '^$'
928
928
929
929
930 Test capitalized section name
930 Test capitalized section name
931
931
932 $ hg help scripting.HGPLAIN > /dev/null
932 $ hg help scripting.HGPLAIN > /dev/null
933
933
934 Help subsection:
934 Help subsection:
935
935
936 $ hg help config.charsets |grep "Email example:" > /dev/null
936 $ hg help config.charsets |grep "Email example:" > /dev/null
937 [1]
937 [1]
938
938
939 Last item in help config.*:
939 Last item in help config.*:
940
940
941 $ hg help config.`hg help config|grep '^ "'| \
941 $ hg help config.`hg help config|grep '^ "'| \
942 > tail -1|sed 's![ "]*!!g'`| \
942 > tail -1|sed 's![ "]*!!g'`| \
943 > grep "hg help -c config" > /dev/null
943 > grep "hg help -c config" > /dev/null
944 [1]
944 [1]
945
945
946 note to use help -c for general hg help config:
946 note to use help -c for general hg help config:
947
947
948 $ hg help config |grep "hg help -c config" > /dev/null
948 $ hg help config |grep "hg help -c config" > /dev/null
949
949
950 Test templating help
950 Test templating help
951
951
952 $ hg help templating | egrep '(desc|diffstat|firstline|nonempty) '
952 $ hg help templating | egrep '(desc|diffstat|firstline|nonempty) '
953 desc String. The text of the changeset description.
953 desc String. The text of the changeset description.
954 diffstat String. Statistics of changes with the following format:
954 diffstat String. Statistics of changes with the following format:
955 firstline Any text. Returns the first line of text.
955 firstline Any text. Returns the first line of text.
956 nonempty Any text. Returns '(none)' if the string is empty.
956 nonempty Any text. Returns '(none)' if the string is empty.
957
957
958 Test help hooks
958 Test help hooks
959
959
960 $ cat > helphook1.py <<EOF
960 $ cat > helphook1.py <<EOF
961 > from mercurial import help
961 > from mercurial import help
962 >
962 >
963 > def rewrite(topic, doc):
963 > def rewrite(topic, doc):
964 > return doc + '\nhelphook1\n'
964 > return doc + '\nhelphook1\n'
965 >
965 >
966 > def extsetup(ui):
966 > def extsetup(ui):
967 > help.addtopichook('revsets', rewrite)
967 > help.addtopichook('revsets', rewrite)
968 > EOF
968 > EOF
969 $ cat > helphook2.py <<EOF
969 $ cat > helphook2.py <<EOF
970 > from mercurial import help
970 > from mercurial import help
971 >
971 >
972 > def rewrite(topic, doc):
972 > def rewrite(topic, doc):
973 > return doc + '\nhelphook2\n'
973 > return doc + '\nhelphook2\n'
974 >
974 >
975 > def extsetup(ui):
975 > def extsetup(ui):
976 > help.addtopichook('revsets', rewrite)
976 > help.addtopichook('revsets', rewrite)
977 > EOF
977 > EOF
978 $ echo '[extensions]' >> $HGRCPATH
978 $ echo '[extensions]' >> $HGRCPATH
979 $ echo "helphook1 = `pwd`/helphook1.py" >> $HGRCPATH
979 $ echo "helphook1 = `pwd`/helphook1.py" >> $HGRCPATH
980 $ echo "helphook2 = `pwd`/helphook2.py" >> $HGRCPATH
980 $ echo "helphook2 = `pwd`/helphook2.py" >> $HGRCPATH
981 $ hg help revsets | grep helphook
981 $ hg help revsets | grep helphook
982 helphook1
982 helphook1
983 helphook2
983 helphook2
984
984
985 Test keyword search help
985 Test keyword search help
986
986
987 $ cat > prefixedname.py <<EOF
987 $ cat > prefixedname.py <<EOF
988 > '''matched against word "clone"
988 > '''matched against word "clone"
989 > '''
989 > '''
990 > EOF
990 > EOF
991 $ echo '[extensions]' >> $HGRCPATH
991 $ echo '[extensions]' >> $HGRCPATH
992 $ echo "dot.dot.prefixedname = `pwd`/prefixedname.py" >> $HGRCPATH
992 $ echo "dot.dot.prefixedname = `pwd`/prefixedname.py" >> $HGRCPATH
993 $ hg help -k clone
993 $ hg help -k clone
994 Topics:
994 Topics:
995
995
996 config Configuration Files
996 config Configuration Files
997 extensions Using Additional Features
997 extensions Using Additional Features
998 glossary Glossary
998 glossary Glossary
999 phases Working with Phases
999 phases Working with Phases
1000 subrepos Subrepositories
1000 subrepos Subrepositories
1001 urls URL Paths
1001 urls URL Paths
1002
1002
1003 Commands:
1003 Commands:
1004
1004
1005 bookmarks create a new bookmark or list existing bookmarks
1005 bookmarks create a new bookmark or list existing bookmarks
1006 clone make a copy of an existing repository
1006 clone make a copy of an existing repository
1007 paths show aliases for remote repositories
1007 paths show aliases for remote repositories
1008 update update working directory (or switch revisions)
1008 update update working directory (or switch revisions)
1009
1009
1010 Extensions:
1010 Extensions:
1011
1011
1012 prefixedname matched against word "clone"
1012 prefixedname matched against word "clone"
1013 relink recreates hardlinks between repository clones
1013 relink recreates hardlinks between repository clones
1014
1014
1015 Extension Commands:
1015 Extension Commands:
1016
1016
1017 qclone clone main and patch repository at same time
1017 qclone clone main and patch repository at same time
1018
1018
1019 Test unfound topic
1019 Test unfound topic
1020
1020
1021 $ hg help nonexistingtopicthatwillneverexisteverever
1021 $ hg help nonexistingtopicthatwillneverexisteverever
1022 abort: no such help topic: nonexistingtopicthatwillneverexisteverever
1022 abort: no such help topic: nonexistingtopicthatwillneverexisteverever
1023 (try "hg help --keyword nonexistingtopicthatwillneverexisteverever")
1023 (try "hg help --keyword nonexistingtopicthatwillneverexisteverever")
1024 [255]
1024 [255]
1025
1025
1026 Test unfound keyword
1026 Test unfound keyword
1027
1027
1028 $ hg help --keyword nonexistingwordthatwillneverexisteverever
1028 $ hg help --keyword nonexistingwordthatwillneverexisteverever
1029 abort: no matches
1029 abort: no matches
1030 (try "hg help" for a list of topics)
1030 (try "hg help" for a list of topics)
1031 [255]
1031 [255]
1032
1032
1033 Test omit indicating for help
1033 Test omit indicating for help
1034
1034
1035 $ cat > addverboseitems.py <<EOF
1035 $ cat > addverboseitems.py <<EOF
1036 > '''extension to test omit indicating.
1036 > '''extension to test omit indicating.
1037 >
1037 >
1038 > This paragraph is never omitted (for extension)
1038 > This paragraph is never omitted (for extension)
1039 >
1039 >
1040 > .. container:: verbose
1040 > .. container:: verbose
1041 >
1041 >
1042 > This paragraph is omitted,
1042 > This paragraph is omitted,
1043 > if :hg:\`help\` is invoked without \`\`-v\`\` (for extension)
1043 > if :hg:\`help\` is invoked without \`\`-v\`\` (for extension)
1044 >
1044 >
1045 > This paragraph is never omitted, too (for extension)
1045 > This paragraph is never omitted, too (for extension)
1046 > '''
1046 > '''
1047 >
1047 >
1048 > from mercurial import help, commands
1048 > from mercurial import help, commands
1049 > testtopic = """This paragraph is never omitted (for topic).
1049 > testtopic = """This paragraph is never omitted (for topic).
1050 >
1050 >
1051 > .. container:: verbose
1051 > .. container:: verbose
1052 >
1052 >
1053 > This paragraph is omitted,
1053 > This paragraph is omitted,
1054 > if :hg:\`help\` is invoked without \`\`-v\`\` (for topic)
1054 > if :hg:\`help\` is invoked without \`\`-v\`\` (for topic)
1055 >
1055 >
1056 > This paragraph is never omitted, too (for topic)
1056 > This paragraph is never omitted, too (for topic)
1057 > """
1057 > """
1058 > def extsetup(ui):
1058 > def extsetup(ui):
1059 > help.helptable.append((["topic-containing-verbose"],
1059 > help.helptable.append((["topic-containing-verbose"],
1060 > "This is the topic to test omit indicating.",
1060 > "This is the topic to test omit indicating.",
1061 > lambda : testtopic))
1061 > lambda : testtopic))
1062 > EOF
1062 > EOF
1063 $ echo '[extensions]' >> $HGRCPATH
1063 $ echo '[extensions]' >> $HGRCPATH
1064 $ echo "addverboseitems = `pwd`/addverboseitems.py" >> $HGRCPATH
1064 $ echo "addverboseitems = `pwd`/addverboseitems.py" >> $HGRCPATH
1065 $ hg help addverboseitems
1065 $ hg help addverboseitems
1066 addverboseitems extension - extension to test omit indicating.
1066 addverboseitems extension - extension to test omit indicating.
1067
1067
1068 This paragraph is never omitted (for extension)
1068 This paragraph is never omitted (for extension)
1069
1069
1070 This paragraph is never omitted, too (for extension)
1070 This paragraph is never omitted, too (for extension)
1071
1071
1072 (some details hidden, use --verbose to show complete help)
1072 (some details hidden, use --verbose to show complete help)
1073
1073
1074 no commands defined
1074 no commands defined
1075 $ hg help -v addverboseitems
1075 $ hg help -v addverboseitems
1076 addverboseitems extension - extension to test omit indicating.
1076 addverboseitems extension - extension to test omit indicating.
1077
1077
1078 This paragraph is never omitted (for extension)
1078 This paragraph is never omitted (for extension)
1079
1079
1080 This paragraph is omitted, if "hg help" is invoked without "-v" (for
1080 This paragraph is omitted, if "hg help" is invoked without "-v" (for
1081 extension)
1081 extension)
1082
1082
1083 This paragraph is never omitted, too (for extension)
1083 This paragraph is never omitted, too (for extension)
1084
1084
1085 no commands defined
1085 no commands defined
1086 $ hg help topic-containing-verbose
1086 $ hg help topic-containing-verbose
1087 This is the topic to test omit indicating.
1087 This is the topic to test omit indicating.
1088 """"""""""""""""""""""""""""""""""""""""""
1088 """"""""""""""""""""""""""""""""""""""""""
1089
1089
1090 This paragraph is never omitted (for topic).
1090 This paragraph is never omitted (for topic).
1091
1091
1092 This paragraph is never omitted, too (for topic)
1092 This paragraph is never omitted, too (for topic)
1093
1093
1094 (some details hidden, use --verbose to show complete help)
1094 (some details hidden, use --verbose to show complete help)
1095 $ hg help -v topic-containing-verbose
1095 $ hg help -v topic-containing-verbose
1096 This is the topic to test omit indicating.
1096 This is the topic to test omit indicating.
1097 """"""""""""""""""""""""""""""""""""""""""
1097 """"""""""""""""""""""""""""""""""""""""""
1098
1098
1099 This paragraph is never omitted (for topic).
1099 This paragraph is never omitted (for topic).
1100
1100
1101 This paragraph is omitted, if "hg help" is invoked without "-v" (for
1101 This paragraph is omitted, if "hg help" is invoked without "-v" (for
1102 topic)
1102 topic)
1103
1103
1104 This paragraph is never omitted, too (for topic)
1104 This paragraph is never omitted, too (for topic)
1105
1105
1106 Test section lookup
1106 Test section lookup
1107
1107
1108 $ hg help revset.merge
1108 $ hg help revset.merge
1109 "merge()"
1109 "merge()"
1110 Changeset is a merge changeset.
1110 Changeset is a merge changeset.
1111
1111
1112 $ hg help glossary.dag
1112 $ hg help glossary.dag
1113 DAG
1113 DAG
1114 The repository of changesets of a distributed version control system
1114 The repository of changesets of a distributed version control system
1115 (DVCS) can be described as a directed acyclic graph (DAG), consisting
1115 (DVCS) can be described as a directed acyclic graph (DAG), consisting
1116 of nodes and edges, where nodes correspond to changesets and edges
1116 of nodes and edges, where nodes correspond to changesets and edges
1117 imply a parent -> child relation. This graph can be visualized by
1117 imply a parent -> child relation. This graph can be visualized by
1118 graphical tools such as "hg log --graph". In Mercurial, the DAG is
1118 graphical tools such as "hg log --graph". In Mercurial, the DAG is
1119 limited by the requirement for children to have at most two parents.
1119 limited by the requirement for children to have at most two parents.
1120
1120
1121
1121
1122 $ hg help hgrc.paths
1122 $ hg help hgrc.paths
1123 "paths"
1123 "paths"
1124 -------
1124 -------
1125
1125
1126 Assigns symbolic names to repositories. The left side is the symbolic
1126 Assigns symbolic names to repositories. The left side is the symbolic
1127 name, and the right gives the directory or URL that is the location of the
1127 name, and the right gives the directory or URL that is the location of the
1128 repository. Default paths can be declared by setting the following
1128 repository. Default paths can be declared by setting the following
1129 entries.
1129 entries.
1130
1130
1131 "default"
1131 "default"
1132 Directory or URL to use when pulling if no source is specified.
1132 Directory or URL to use when pulling if no source is specified.
1133 Default is set to repository from which the current repository was
1133 (default: repository from which the current repository was cloned)
1134 cloned.
1135
1134
1136 "default-push"
1135 "default-push"
1137 Optional. Directory or URL to use when pushing if no destination is
1136 Optional. Directory or URL to use when pushing if no destination is
1138 specified.
1137 specified.
1139
1138
1140 Custom paths can be defined by assigning the path to a name that later can
1139 Custom paths can be defined by assigning the path to a name that later can
1141 be used from the command line. Example:
1140 be used from the command line. Example:
1142
1141
1143 [paths]
1142 [paths]
1144 my_path = http://example.com/path
1143 my_path = http://example.com/path
1145
1144
1146 To push to the path defined in "my_path" run the command:
1145 To push to the path defined in "my_path" run the command:
1147
1146
1148 hg push my_path
1147 hg push my_path
1149
1148
1150 $ hg help glossary.mcguffin
1149 $ hg help glossary.mcguffin
1151 abort: help section not found
1150 abort: help section not found
1152 [255]
1151 [255]
1153
1152
1154 $ hg help glossary.mc.guffin
1153 $ hg help glossary.mc.guffin
1155 abort: help section not found
1154 abort: help section not found
1156 [255]
1155 [255]
1157
1156
1158 $ hg help template.files
1157 $ hg help template.files
1159 files List of strings. All files modified, added, or removed by
1158 files List of strings. All files modified, added, or removed by
1160 this changeset.
1159 this changeset.
1161
1160
1162 Test dynamic list of merge tools only shows up once
1161 Test dynamic list of merge tools only shows up once
1163 $ hg help merge-tools
1162 $ hg help merge-tools
1164 Merge Tools
1163 Merge Tools
1165 """""""""""
1164 """""""""""
1166
1165
1167 To merge files Mercurial uses merge tools.
1166 To merge files Mercurial uses merge tools.
1168
1167
1169 A merge tool combines two different versions of a file into a merged file.
1168 A merge tool combines two different versions of a file into a merged file.
1170 Merge tools are given the two files and the greatest common ancestor of
1169 Merge tools are given the two files and the greatest common ancestor of
1171 the two file versions, so they can determine the changes made on both
1170 the two file versions, so they can determine the changes made on both
1172 branches.
1171 branches.
1173
1172
1174 Merge tools are used both for "hg resolve", "hg merge", "hg update", "hg
1173 Merge tools are used both for "hg resolve", "hg merge", "hg update", "hg
1175 backout" and in several extensions.
1174 backout" and in several extensions.
1176
1175
1177 Usually, the merge tool tries to automatically reconcile the files by
1176 Usually, the merge tool tries to automatically reconcile the files by
1178 combining all non-overlapping changes that occurred separately in the two
1177 combining all non-overlapping changes that occurred separately in the two
1179 different evolutions of the same initial base file. Furthermore, some
1178 different evolutions of the same initial base file. Furthermore, some
1180 interactive merge programs make it easier to manually resolve conflicting
1179 interactive merge programs make it easier to manually resolve conflicting
1181 merges, either in a graphical way, or by inserting some conflict markers.
1180 merges, either in a graphical way, or by inserting some conflict markers.
1182 Mercurial does not include any interactive merge programs but relies on
1181 Mercurial does not include any interactive merge programs but relies on
1183 external tools for that.
1182 external tools for that.
1184
1183
1185 Available merge tools
1184 Available merge tools
1186 =====================
1185 =====================
1187
1186
1188 External merge tools and their properties are configured in the merge-
1187 External merge tools and their properties are configured in the merge-
1189 tools configuration section - see hgrc(5) - but they can often just be
1188 tools configuration section - see hgrc(5) - but they can often just be
1190 named by their executable.
1189 named by their executable.
1191
1190
1192 A merge tool is generally usable if its executable can be found on the
1191 A merge tool is generally usable if its executable can be found on the
1193 system and if it can handle the merge. The executable is found if it is an
1192 system and if it can handle the merge. The executable is found if it is an
1194 absolute or relative executable path or the name of an application in the
1193 absolute or relative executable path or the name of an application in the
1195 executable search path. The tool is assumed to be able to handle the merge
1194 executable search path. The tool is assumed to be able to handle the merge
1196 if it can handle symlinks if the file is a symlink, if it can handle
1195 if it can handle symlinks if the file is a symlink, if it can handle
1197 binary files if the file is binary, and if a GUI is available if the tool
1196 binary files if the file is binary, and if a GUI is available if the tool
1198 requires a GUI.
1197 requires a GUI.
1199
1198
1200 There are some internal merge tools which can be used. The internal merge
1199 There are some internal merge tools which can be used. The internal merge
1201 tools are:
1200 tools are:
1202
1201
1203 ":dump"
1202 ":dump"
1204 Creates three versions of the files to merge, containing the contents of
1203 Creates three versions of the files to merge, containing the contents of
1205 local, other and base. These files can then be used to perform a merge
1204 local, other and base. These files can then be used to perform a merge
1206 manually. If the file to be merged is named "a.txt", these files will
1205 manually. If the file to be merged is named "a.txt", these files will
1207 accordingly be named "a.txt.local", "a.txt.other" and "a.txt.base" and
1206 accordingly be named "a.txt.local", "a.txt.other" and "a.txt.base" and
1208 they will be placed in the same directory as "a.txt".
1207 they will be placed in the same directory as "a.txt".
1209
1208
1210 ":fail"
1209 ":fail"
1211 Rather than attempting to merge files that were modified on both
1210 Rather than attempting to merge files that were modified on both
1212 branches, it marks them as unresolved. The resolve command must be used
1211 branches, it marks them as unresolved. The resolve command must be used
1213 to resolve these conflicts.
1212 to resolve these conflicts.
1214
1213
1215 ":local"
1214 ":local"
1216 Uses the local version of files as the merged version.
1215 Uses the local version of files as the merged version.
1217
1216
1218 ":merge"
1217 ":merge"
1219 Uses the internal non-interactive simple merge algorithm for merging
1218 Uses the internal non-interactive simple merge algorithm for merging
1220 files. It will fail if there are any conflicts and leave markers in the
1219 files. It will fail if there are any conflicts and leave markers in the
1221 partially merged file. Markers will have two sections, one for each side
1220 partially merged file. Markers will have two sections, one for each side
1222 of merge.
1221 of merge.
1223
1222
1224 ":merge3"
1223 ":merge3"
1225 Uses the internal non-interactive simple merge algorithm for merging
1224 Uses the internal non-interactive simple merge algorithm for merging
1226 files. It will fail if there are any conflicts and leave markers in the
1225 files. It will fail if there are any conflicts and leave markers in the
1227 partially merged file. Marker will have three sections, one from each
1226 partially merged file. Marker will have three sections, one from each
1228 side of the merge and one for the base content.
1227 side of the merge and one for the base content.
1229
1228
1230 ":other"
1229 ":other"
1231 Uses the other version of files as the merged version.
1230 Uses the other version of files as the merged version.
1232
1231
1233 ":prompt"
1232 ":prompt"
1234 Asks the user which of the local or the other version to keep as the
1233 Asks the user which of the local or the other version to keep as the
1235 merged version.
1234 merged version.
1236
1235
1237 ":tagmerge"
1236 ":tagmerge"
1238 Uses the internal tag merge algorithm (experimental).
1237 Uses the internal tag merge algorithm (experimental).
1239
1238
1240 ":union"
1239 ":union"
1241 Uses the internal non-interactive simple merge algorithm for merging
1240 Uses the internal non-interactive simple merge algorithm for merging
1242 files. It will use both left and right sides for conflict regions. No
1241 files. It will use both left and right sides for conflict regions. No
1243 markers are inserted.
1242 markers are inserted.
1244
1243
1245 Internal tools are always available and do not require a GUI but will by
1244 Internal tools are always available and do not require a GUI but will by
1246 default not handle symlinks or binary files.
1245 default not handle symlinks or binary files.
1247
1246
1248 Choosing a merge tool
1247 Choosing a merge tool
1249 =====================
1248 =====================
1250
1249
1251 Mercurial uses these rules when deciding which merge tool to use:
1250 Mercurial uses these rules when deciding which merge tool to use:
1252
1251
1253 1. If a tool has been specified with the --tool option to merge or
1252 1. If a tool has been specified with the --tool option to merge or
1254 resolve, it is used. If it is the name of a tool in the merge-tools
1253 resolve, it is used. If it is the name of a tool in the merge-tools
1255 configuration, its configuration is used. Otherwise the specified tool
1254 configuration, its configuration is used. Otherwise the specified tool
1256 must be executable by the shell.
1255 must be executable by the shell.
1257 2. If the "HGMERGE" environment variable is present, its value is used and
1256 2. If the "HGMERGE" environment variable is present, its value is used and
1258 must be executable by the shell.
1257 must be executable by the shell.
1259 3. If the filename of the file to be merged matches any of the patterns in
1258 3. If the filename of the file to be merged matches any of the patterns in
1260 the merge-patterns configuration section, the first usable merge tool
1259 the merge-patterns configuration section, the first usable merge tool
1261 corresponding to a matching pattern is used. Here, binary capabilities
1260 corresponding to a matching pattern is used. Here, binary capabilities
1262 of the merge tool are not considered.
1261 of the merge tool are not considered.
1263 4. If ui.merge is set it will be considered next. If the value is not the
1262 4. If ui.merge is set it will be considered next. If the value is not the
1264 name of a configured tool, the specified value is used and must be
1263 name of a configured tool, the specified value is used and must be
1265 executable by the shell. Otherwise the named tool is used if it is
1264 executable by the shell. Otherwise the named tool is used if it is
1266 usable.
1265 usable.
1267 5. If any usable merge tools are present in the merge-tools configuration
1266 5. If any usable merge tools are present in the merge-tools configuration
1268 section, the one with the highest priority is used.
1267 section, the one with the highest priority is used.
1269 6. If a program named "hgmerge" can be found on the system, it is used -
1268 6. If a program named "hgmerge" can be found on the system, it is used -
1270 but it will by default not be used for symlinks and binary files.
1269 but it will by default not be used for symlinks and binary files.
1271 7. If the file to be merged is not binary and is not a symlink, then
1270 7. If the file to be merged is not binary and is not a symlink, then
1272 internal ":merge" is used.
1271 internal ":merge" is used.
1273 8. The merge of the file fails and must be resolved before commit.
1272 8. The merge of the file fails and must be resolved before commit.
1274
1273
1275 Note:
1274 Note:
1276 After selecting a merge program, Mercurial will by default attempt to
1275 After selecting a merge program, Mercurial will by default attempt to
1277 merge the files using a simple merge algorithm first. Only if it
1276 merge the files using a simple merge algorithm first. Only if it
1278 doesn't succeed because of conflicting changes Mercurial will actually
1277 doesn't succeed because of conflicting changes Mercurial will actually
1279 execute the merge program. Whether to use the simple merge algorithm
1278 execute the merge program. Whether to use the simple merge algorithm
1280 first can be controlled by the premerge setting of the merge tool.
1279 first can be controlled by the premerge setting of the merge tool.
1281 Premerge is enabled by default unless the file is binary or a symlink.
1280 Premerge is enabled by default unless the file is binary or a symlink.
1282
1281
1283 See the merge-tools and ui sections of hgrc(5) for details on the
1282 See the merge-tools and ui sections of hgrc(5) for details on the
1284 configuration of merge tools.
1283 configuration of merge tools.
1285
1284
1286 Test usage of section marks in help documents
1285 Test usage of section marks in help documents
1287
1286
1288 $ cd "$TESTDIR"/../doc
1287 $ cd "$TESTDIR"/../doc
1289 $ python check-seclevel.py
1288 $ python check-seclevel.py
1290 $ cd $TESTTMP
1289 $ cd $TESTTMP
1291
1290
1292 #if serve
1291 #if serve
1293
1292
1294 Test the help pages in hgweb.
1293 Test the help pages in hgweb.
1295
1294
1296 Dish up an empty repo; serve it cold.
1295 Dish up an empty repo; serve it cold.
1297
1296
1298 $ hg init "$TESTTMP/test"
1297 $ hg init "$TESTTMP/test"
1299 $ hg serve -R "$TESTTMP/test" -n test -p $HGPORT -d --pid-file=hg.pid
1298 $ hg serve -R "$TESTTMP/test" -n test -p $HGPORT -d --pid-file=hg.pid
1300 $ cat hg.pid >> $DAEMON_PIDS
1299 $ cat hg.pid >> $DAEMON_PIDS
1301
1300
1302 $ get-with-headers.py 127.0.0.1:$HGPORT "help"
1301 $ get-with-headers.py 127.0.0.1:$HGPORT "help"
1303 200 Script output follows
1302 200 Script output follows
1304
1303
1305 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
1304 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
1306 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
1305 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
1307 <head>
1306 <head>
1308 <link rel="icon" href="/static/hgicon.png" type="image/png" />
1307 <link rel="icon" href="/static/hgicon.png" type="image/png" />
1309 <meta name="robots" content="index, nofollow" />
1308 <meta name="robots" content="index, nofollow" />
1310 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
1309 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
1311 <script type="text/javascript" src="/static/mercurial.js"></script>
1310 <script type="text/javascript" src="/static/mercurial.js"></script>
1312
1311
1313 <title>Help: Index</title>
1312 <title>Help: Index</title>
1314 </head>
1313 </head>
1315 <body>
1314 <body>
1316
1315
1317 <div class="container">
1316 <div class="container">
1318 <div class="menu">
1317 <div class="menu">
1319 <div class="logo">
1318 <div class="logo">
1320 <a href="http://mercurial.selenic.com/">
1319 <a href="http://mercurial.selenic.com/">
1321 <img src="/static/hglogo.png" alt="mercurial" /></a>
1320 <img src="/static/hglogo.png" alt="mercurial" /></a>
1322 </div>
1321 </div>
1323 <ul>
1322 <ul>
1324 <li><a href="/shortlog">log</a></li>
1323 <li><a href="/shortlog">log</a></li>
1325 <li><a href="/graph">graph</a></li>
1324 <li><a href="/graph">graph</a></li>
1326 <li><a href="/tags">tags</a></li>
1325 <li><a href="/tags">tags</a></li>
1327 <li><a href="/bookmarks">bookmarks</a></li>
1326 <li><a href="/bookmarks">bookmarks</a></li>
1328 <li><a href="/branches">branches</a></li>
1327 <li><a href="/branches">branches</a></li>
1329 </ul>
1328 </ul>
1330 <ul>
1329 <ul>
1331 <li class="active">help</li>
1330 <li class="active">help</li>
1332 </ul>
1331 </ul>
1333 </div>
1332 </div>
1334
1333
1335 <div class="main">
1334 <div class="main">
1336 <h2 class="breadcrumb"><a href="/">Mercurial</a> </h2>
1335 <h2 class="breadcrumb"><a href="/">Mercurial</a> </h2>
1337 <form class="search" action="/log">
1336 <form class="search" action="/log">
1338
1337
1339 <p><input name="rev" id="search1" type="text" size="30" /></p>
1338 <p><input name="rev" id="search1" type="text" size="30" /></p>
1340 <div id="hint">Find changesets by keywords (author, files, the commit message), revision
1339 <div id="hint">Find changesets by keywords (author, files, the commit message), revision
1341 number or hash, or <a href="/help/revsets">revset expression</a>.</div>
1340 number or hash, or <a href="/help/revsets">revset expression</a>.</div>
1342 </form>
1341 </form>
1343 <table class="bigtable">
1342 <table class="bigtable">
1344 <tr><td colspan="2"><h2><a name="main" href="#topics">Topics</a></h2></td></tr>
1343 <tr><td colspan="2"><h2><a name="main" href="#topics">Topics</a></h2></td></tr>
1345
1344
1346 <tr><td>
1345 <tr><td>
1347 <a href="/help/config">
1346 <a href="/help/config">
1348 config
1347 config
1349 </a>
1348 </a>
1350 </td><td>
1349 </td><td>
1351 Configuration Files
1350 Configuration Files
1352 </td></tr>
1351 </td></tr>
1353 <tr><td>
1352 <tr><td>
1354 <a href="/help/dates">
1353 <a href="/help/dates">
1355 dates
1354 dates
1356 </a>
1355 </a>
1357 </td><td>
1356 </td><td>
1358 Date Formats
1357 Date Formats
1359 </td></tr>
1358 </td></tr>
1360 <tr><td>
1359 <tr><td>
1361 <a href="/help/diffs">
1360 <a href="/help/diffs">
1362 diffs
1361 diffs
1363 </a>
1362 </a>
1364 </td><td>
1363 </td><td>
1365 Diff Formats
1364 Diff Formats
1366 </td></tr>
1365 </td></tr>
1367 <tr><td>
1366 <tr><td>
1368 <a href="/help/environment">
1367 <a href="/help/environment">
1369 environment
1368 environment
1370 </a>
1369 </a>
1371 </td><td>
1370 </td><td>
1372 Environment Variables
1371 Environment Variables
1373 </td></tr>
1372 </td></tr>
1374 <tr><td>
1373 <tr><td>
1375 <a href="/help/extensions">
1374 <a href="/help/extensions">
1376 extensions
1375 extensions
1377 </a>
1376 </a>
1378 </td><td>
1377 </td><td>
1379 Using Additional Features
1378 Using Additional Features
1380 </td></tr>
1379 </td></tr>
1381 <tr><td>
1380 <tr><td>
1382 <a href="/help/filesets">
1381 <a href="/help/filesets">
1383 filesets
1382 filesets
1384 </a>
1383 </a>
1385 </td><td>
1384 </td><td>
1386 Specifying File Sets
1385 Specifying File Sets
1387 </td></tr>
1386 </td></tr>
1388 <tr><td>
1387 <tr><td>
1389 <a href="/help/glossary">
1388 <a href="/help/glossary">
1390 glossary
1389 glossary
1391 </a>
1390 </a>
1392 </td><td>
1391 </td><td>
1393 Glossary
1392 Glossary
1394 </td></tr>
1393 </td></tr>
1395 <tr><td>
1394 <tr><td>
1396 <a href="/help/hgignore">
1395 <a href="/help/hgignore">
1397 hgignore
1396 hgignore
1398 </a>
1397 </a>
1399 </td><td>
1398 </td><td>
1400 Syntax for Mercurial Ignore Files
1399 Syntax for Mercurial Ignore Files
1401 </td></tr>
1400 </td></tr>
1402 <tr><td>
1401 <tr><td>
1403 <a href="/help/hgweb">
1402 <a href="/help/hgweb">
1404 hgweb
1403 hgweb
1405 </a>
1404 </a>
1406 </td><td>
1405 </td><td>
1407 Configuring hgweb
1406 Configuring hgweb
1408 </td></tr>
1407 </td></tr>
1409 <tr><td>
1408 <tr><td>
1410 <a href="/help/merge-tools">
1409 <a href="/help/merge-tools">
1411 merge-tools
1410 merge-tools
1412 </a>
1411 </a>
1413 </td><td>
1412 </td><td>
1414 Merge Tools
1413 Merge Tools
1415 </td></tr>
1414 </td></tr>
1416 <tr><td>
1415 <tr><td>
1417 <a href="/help/multirevs">
1416 <a href="/help/multirevs">
1418 multirevs
1417 multirevs
1419 </a>
1418 </a>
1420 </td><td>
1419 </td><td>
1421 Specifying Multiple Revisions
1420 Specifying Multiple Revisions
1422 </td></tr>
1421 </td></tr>
1423 <tr><td>
1422 <tr><td>
1424 <a href="/help/patterns">
1423 <a href="/help/patterns">
1425 patterns
1424 patterns
1426 </a>
1425 </a>
1427 </td><td>
1426 </td><td>
1428 File Name Patterns
1427 File Name Patterns
1429 </td></tr>
1428 </td></tr>
1430 <tr><td>
1429 <tr><td>
1431 <a href="/help/phases">
1430 <a href="/help/phases">
1432 phases
1431 phases
1433 </a>
1432 </a>
1434 </td><td>
1433 </td><td>
1435 Working with Phases
1434 Working with Phases
1436 </td></tr>
1435 </td></tr>
1437 <tr><td>
1436 <tr><td>
1438 <a href="/help/revisions">
1437 <a href="/help/revisions">
1439 revisions
1438 revisions
1440 </a>
1439 </a>
1441 </td><td>
1440 </td><td>
1442 Specifying Single Revisions
1441 Specifying Single Revisions
1443 </td></tr>
1442 </td></tr>
1444 <tr><td>
1443 <tr><td>
1445 <a href="/help/revsets">
1444 <a href="/help/revsets">
1446 revsets
1445 revsets
1447 </a>
1446 </a>
1448 </td><td>
1447 </td><td>
1449 Specifying Revision Sets
1448 Specifying Revision Sets
1450 </td></tr>
1449 </td></tr>
1451 <tr><td>
1450 <tr><td>
1452 <a href="/help/scripting">
1451 <a href="/help/scripting">
1453 scripting
1452 scripting
1454 </a>
1453 </a>
1455 </td><td>
1454 </td><td>
1456 Using Mercurial from scripts and automation
1455 Using Mercurial from scripts and automation
1457 </td></tr>
1456 </td></tr>
1458 <tr><td>
1457 <tr><td>
1459 <a href="/help/subrepos">
1458 <a href="/help/subrepos">
1460 subrepos
1459 subrepos
1461 </a>
1460 </a>
1462 </td><td>
1461 </td><td>
1463 Subrepositories
1462 Subrepositories
1464 </td></tr>
1463 </td></tr>
1465 <tr><td>
1464 <tr><td>
1466 <a href="/help/templating">
1465 <a href="/help/templating">
1467 templating
1466 templating
1468 </a>
1467 </a>
1469 </td><td>
1468 </td><td>
1470 Template Usage
1469 Template Usage
1471 </td></tr>
1470 </td></tr>
1472 <tr><td>
1471 <tr><td>
1473 <a href="/help/urls">
1472 <a href="/help/urls">
1474 urls
1473 urls
1475 </a>
1474 </a>
1476 </td><td>
1475 </td><td>
1477 URL Paths
1476 URL Paths
1478 </td></tr>
1477 </td></tr>
1479 <tr><td>
1478 <tr><td>
1480 <a href="/help/topic-containing-verbose">
1479 <a href="/help/topic-containing-verbose">
1481 topic-containing-verbose
1480 topic-containing-verbose
1482 </a>
1481 </a>
1483 </td><td>
1482 </td><td>
1484 This is the topic to test omit indicating.
1483 This is the topic to test omit indicating.
1485 </td></tr>
1484 </td></tr>
1486
1485
1487 <tr><td colspan="2"><h2><a name="main" href="#main">Main Commands</a></h2></td></tr>
1486 <tr><td colspan="2"><h2><a name="main" href="#main">Main Commands</a></h2></td></tr>
1488
1487
1489 <tr><td>
1488 <tr><td>
1490 <a href="/help/add">
1489 <a href="/help/add">
1491 add
1490 add
1492 </a>
1491 </a>
1493 </td><td>
1492 </td><td>
1494 add the specified files on the next commit
1493 add the specified files on the next commit
1495 </td></tr>
1494 </td></tr>
1496 <tr><td>
1495 <tr><td>
1497 <a href="/help/annotate">
1496 <a href="/help/annotate">
1498 annotate
1497 annotate
1499 </a>
1498 </a>
1500 </td><td>
1499 </td><td>
1501 show changeset information by line for each file
1500 show changeset information by line for each file
1502 </td></tr>
1501 </td></tr>
1503 <tr><td>
1502 <tr><td>
1504 <a href="/help/clone">
1503 <a href="/help/clone">
1505 clone
1504 clone
1506 </a>
1505 </a>
1507 </td><td>
1506 </td><td>
1508 make a copy of an existing repository
1507 make a copy of an existing repository
1509 </td></tr>
1508 </td></tr>
1510 <tr><td>
1509 <tr><td>
1511 <a href="/help/commit">
1510 <a href="/help/commit">
1512 commit
1511 commit
1513 </a>
1512 </a>
1514 </td><td>
1513 </td><td>
1515 commit the specified files or all outstanding changes
1514 commit the specified files or all outstanding changes
1516 </td></tr>
1515 </td></tr>
1517 <tr><td>
1516 <tr><td>
1518 <a href="/help/diff">
1517 <a href="/help/diff">
1519 diff
1518 diff
1520 </a>
1519 </a>
1521 </td><td>
1520 </td><td>
1522 diff repository (or selected files)
1521 diff repository (or selected files)
1523 </td></tr>
1522 </td></tr>
1524 <tr><td>
1523 <tr><td>
1525 <a href="/help/export">
1524 <a href="/help/export">
1526 export
1525 export
1527 </a>
1526 </a>
1528 </td><td>
1527 </td><td>
1529 dump the header and diffs for one or more changesets
1528 dump the header and diffs for one or more changesets
1530 </td></tr>
1529 </td></tr>
1531 <tr><td>
1530 <tr><td>
1532 <a href="/help/forget">
1531 <a href="/help/forget">
1533 forget
1532 forget
1534 </a>
1533 </a>
1535 </td><td>
1534 </td><td>
1536 forget the specified files on the next commit
1535 forget the specified files on the next commit
1537 </td></tr>
1536 </td></tr>
1538 <tr><td>
1537 <tr><td>
1539 <a href="/help/init">
1538 <a href="/help/init">
1540 init
1539 init
1541 </a>
1540 </a>
1542 </td><td>
1541 </td><td>
1543 create a new repository in the given directory
1542 create a new repository in the given directory
1544 </td></tr>
1543 </td></tr>
1545 <tr><td>
1544 <tr><td>
1546 <a href="/help/log">
1545 <a href="/help/log">
1547 log
1546 log
1548 </a>
1547 </a>
1549 </td><td>
1548 </td><td>
1550 show revision history of entire repository or files
1549 show revision history of entire repository or files
1551 </td></tr>
1550 </td></tr>
1552 <tr><td>
1551 <tr><td>
1553 <a href="/help/merge">
1552 <a href="/help/merge">
1554 merge
1553 merge
1555 </a>
1554 </a>
1556 </td><td>
1555 </td><td>
1557 merge another revision into working directory
1556 merge another revision into working directory
1558 </td></tr>
1557 </td></tr>
1559 <tr><td>
1558 <tr><td>
1560 <a href="/help/pull">
1559 <a href="/help/pull">
1561 pull
1560 pull
1562 </a>
1561 </a>
1563 </td><td>
1562 </td><td>
1564 pull changes from the specified source
1563 pull changes from the specified source
1565 </td></tr>
1564 </td></tr>
1566 <tr><td>
1565 <tr><td>
1567 <a href="/help/push">
1566 <a href="/help/push">
1568 push
1567 push
1569 </a>
1568 </a>
1570 </td><td>
1569 </td><td>
1571 push changes to the specified destination
1570 push changes to the specified destination
1572 </td></tr>
1571 </td></tr>
1573 <tr><td>
1572 <tr><td>
1574 <a href="/help/remove">
1573 <a href="/help/remove">
1575 remove
1574 remove
1576 </a>
1575 </a>
1577 </td><td>
1576 </td><td>
1578 remove the specified files on the next commit
1577 remove the specified files on the next commit
1579 </td></tr>
1578 </td></tr>
1580 <tr><td>
1579 <tr><td>
1581 <a href="/help/serve">
1580 <a href="/help/serve">
1582 serve
1581 serve
1583 </a>
1582 </a>
1584 </td><td>
1583 </td><td>
1585 start stand-alone webserver
1584 start stand-alone webserver
1586 </td></tr>
1585 </td></tr>
1587 <tr><td>
1586 <tr><td>
1588 <a href="/help/status">
1587 <a href="/help/status">
1589 status
1588 status
1590 </a>
1589 </a>
1591 </td><td>
1590 </td><td>
1592 show changed files in the working directory
1591 show changed files in the working directory
1593 </td></tr>
1592 </td></tr>
1594 <tr><td>
1593 <tr><td>
1595 <a href="/help/summary">
1594 <a href="/help/summary">
1596 summary
1595 summary
1597 </a>
1596 </a>
1598 </td><td>
1597 </td><td>
1599 summarize working directory state
1598 summarize working directory state
1600 </td></tr>
1599 </td></tr>
1601 <tr><td>
1600 <tr><td>
1602 <a href="/help/update">
1601 <a href="/help/update">
1603 update
1602 update
1604 </a>
1603 </a>
1605 </td><td>
1604 </td><td>
1606 update working directory (or switch revisions)
1605 update working directory (or switch revisions)
1607 </td></tr>
1606 </td></tr>
1608
1607
1609 <tr><td colspan="2"><h2><a name="other" href="#other">Other Commands</a></h2></td></tr>
1608 <tr><td colspan="2"><h2><a name="other" href="#other">Other Commands</a></h2></td></tr>
1610
1609
1611 <tr><td>
1610 <tr><td>
1612 <a href="/help/addremove">
1611 <a href="/help/addremove">
1613 addremove
1612 addremove
1614 </a>
1613 </a>
1615 </td><td>
1614 </td><td>
1616 add all new files, delete all missing files
1615 add all new files, delete all missing files
1617 </td></tr>
1616 </td></tr>
1618 <tr><td>
1617 <tr><td>
1619 <a href="/help/archive">
1618 <a href="/help/archive">
1620 archive
1619 archive
1621 </a>
1620 </a>
1622 </td><td>
1621 </td><td>
1623 create an unversioned archive of a repository revision
1622 create an unversioned archive of a repository revision
1624 </td></tr>
1623 </td></tr>
1625 <tr><td>
1624 <tr><td>
1626 <a href="/help/backout">
1625 <a href="/help/backout">
1627 backout
1626 backout
1628 </a>
1627 </a>
1629 </td><td>
1628 </td><td>
1630 reverse effect of earlier changeset
1629 reverse effect of earlier changeset
1631 </td></tr>
1630 </td></tr>
1632 <tr><td>
1631 <tr><td>
1633 <a href="/help/bisect">
1632 <a href="/help/bisect">
1634 bisect
1633 bisect
1635 </a>
1634 </a>
1636 </td><td>
1635 </td><td>
1637 subdivision search of changesets
1636 subdivision search of changesets
1638 </td></tr>
1637 </td></tr>
1639 <tr><td>
1638 <tr><td>
1640 <a href="/help/bookmarks">
1639 <a href="/help/bookmarks">
1641 bookmarks
1640 bookmarks
1642 </a>
1641 </a>
1643 </td><td>
1642 </td><td>
1644 create a new bookmark or list existing bookmarks
1643 create a new bookmark or list existing bookmarks
1645 </td></tr>
1644 </td></tr>
1646 <tr><td>
1645 <tr><td>
1647 <a href="/help/branch">
1646 <a href="/help/branch">
1648 branch
1647 branch
1649 </a>
1648 </a>
1650 </td><td>
1649 </td><td>
1651 set or show the current branch name
1650 set or show the current branch name
1652 </td></tr>
1651 </td></tr>
1653 <tr><td>
1652 <tr><td>
1654 <a href="/help/branches">
1653 <a href="/help/branches">
1655 branches
1654 branches
1656 </a>
1655 </a>
1657 </td><td>
1656 </td><td>
1658 list repository named branches
1657 list repository named branches
1659 </td></tr>
1658 </td></tr>
1660 <tr><td>
1659 <tr><td>
1661 <a href="/help/bundle">
1660 <a href="/help/bundle">
1662 bundle
1661 bundle
1663 </a>
1662 </a>
1664 </td><td>
1663 </td><td>
1665 create a changegroup file
1664 create a changegroup file
1666 </td></tr>
1665 </td></tr>
1667 <tr><td>
1666 <tr><td>
1668 <a href="/help/cat">
1667 <a href="/help/cat">
1669 cat
1668 cat
1670 </a>
1669 </a>
1671 </td><td>
1670 </td><td>
1672 output the current or given revision of files
1671 output the current or given revision of files
1673 </td></tr>
1672 </td></tr>
1674 <tr><td>
1673 <tr><td>
1675 <a href="/help/config">
1674 <a href="/help/config">
1676 config
1675 config
1677 </a>
1676 </a>
1678 </td><td>
1677 </td><td>
1679 show combined config settings from all hgrc files
1678 show combined config settings from all hgrc files
1680 </td></tr>
1679 </td></tr>
1681 <tr><td>
1680 <tr><td>
1682 <a href="/help/copy">
1681 <a href="/help/copy">
1683 copy
1682 copy
1684 </a>
1683 </a>
1685 </td><td>
1684 </td><td>
1686 mark files as copied for the next commit
1685 mark files as copied for the next commit
1687 </td></tr>
1686 </td></tr>
1688 <tr><td>
1687 <tr><td>
1689 <a href="/help/files">
1688 <a href="/help/files">
1690 files
1689 files
1691 </a>
1690 </a>
1692 </td><td>
1691 </td><td>
1693 list tracked files
1692 list tracked files
1694 </td></tr>
1693 </td></tr>
1695 <tr><td>
1694 <tr><td>
1696 <a href="/help/graft">
1695 <a href="/help/graft">
1697 graft
1696 graft
1698 </a>
1697 </a>
1699 </td><td>
1698 </td><td>
1700 copy changes from other branches onto the current branch
1699 copy changes from other branches onto the current branch
1701 </td></tr>
1700 </td></tr>
1702 <tr><td>
1701 <tr><td>
1703 <a href="/help/grep">
1702 <a href="/help/grep">
1704 grep
1703 grep
1705 </a>
1704 </a>
1706 </td><td>
1705 </td><td>
1707 search for a pattern in specified files and revisions
1706 search for a pattern in specified files and revisions
1708 </td></tr>
1707 </td></tr>
1709 <tr><td>
1708 <tr><td>
1710 <a href="/help/heads">
1709 <a href="/help/heads">
1711 heads
1710 heads
1712 </a>
1711 </a>
1713 </td><td>
1712 </td><td>
1714 show branch heads
1713 show branch heads
1715 </td></tr>
1714 </td></tr>
1716 <tr><td>
1715 <tr><td>
1717 <a href="/help/help">
1716 <a href="/help/help">
1718 help
1717 help
1719 </a>
1718 </a>
1720 </td><td>
1719 </td><td>
1721 show help for a given topic or a help overview
1720 show help for a given topic or a help overview
1722 </td></tr>
1721 </td></tr>
1723 <tr><td>
1722 <tr><td>
1724 <a href="/help/identify">
1723 <a href="/help/identify">
1725 identify
1724 identify
1726 </a>
1725 </a>
1727 </td><td>
1726 </td><td>
1728 identify the working directory or specified revision
1727 identify the working directory or specified revision
1729 </td></tr>
1728 </td></tr>
1730 <tr><td>
1729 <tr><td>
1731 <a href="/help/import">
1730 <a href="/help/import">
1732 import
1731 import
1733 </a>
1732 </a>
1734 </td><td>
1733 </td><td>
1735 import an ordered set of patches
1734 import an ordered set of patches
1736 </td></tr>
1735 </td></tr>
1737 <tr><td>
1736 <tr><td>
1738 <a href="/help/incoming">
1737 <a href="/help/incoming">
1739 incoming
1738 incoming
1740 </a>
1739 </a>
1741 </td><td>
1740 </td><td>
1742 show new changesets found in source
1741 show new changesets found in source
1743 </td></tr>
1742 </td></tr>
1744 <tr><td>
1743 <tr><td>
1745 <a href="/help/manifest">
1744 <a href="/help/manifest">
1746 manifest
1745 manifest
1747 </a>
1746 </a>
1748 </td><td>
1747 </td><td>
1749 output the current or given revision of the project manifest
1748 output the current or given revision of the project manifest
1750 </td></tr>
1749 </td></tr>
1751 <tr><td>
1750 <tr><td>
1752 <a href="/help/nohelp">
1751 <a href="/help/nohelp">
1753 nohelp
1752 nohelp
1754 </a>
1753 </a>
1755 </td><td>
1754 </td><td>
1756 (no help text available)
1755 (no help text available)
1757 </td></tr>
1756 </td></tr>
1758 <tr><td>
1757 <tr><td>
1759 <a href="/help/outgoing">
1758 <a href="/help/outgoing">
1760 outgoing
1759 outgoing
1761 </a>
1760 </a>
1762 </td><td>
1761 </td><td>
1763 show changesets not found in the destination
1762 show changesets not found in the destination
1764 </td></tr>
1763 </td></tr>
1765 <tr><td>
1764 <tr><td>
1766 <a href="/help/paths">
1765 <a href="/help/paths">
1767 paths
1766 paths
1768 </a>
1767 </a>
1769 </td><td>
1768 </td><td>
1770 show aliases for remote repositories
1769 show aliases for remote repositories
1771 </td></tr>
1770 </td></tr>
1772 <tr><td>
1771 <tr><td>
1773 <a href="/help/phase">
1772 <a href="/help/phase">
1774 phase
1773 phase
1775 </a>
1774 </a>
1776 </td><td>
1775 </td><td>
1777 set or show the current phase name
1776 set or show the current phase name
1778 </td></tr>
1777 </td></tr>
1779 <tr><td>
1778 <tr><td>
1780 <a href="/help/recover">
1779 <a href="/help/recover">
1781 recover
1780 recover
1782 </a>
1781 </a>
1783 </td><td>
1782 </td><td>
1784 roll back an interrupted transaction
1783 roll back an interrupted transaction
1785 </td></tr>
1784 </td></tr>
1786 <tr><td>
1785 <tr><td>
1787 <a href="/help/rename">
1786 <a href="/help/rename">
1788 rename
1787 rename
1789 </a>
1788 </a>
1790 </td><td>
1789 </td><td>
1791 rename files; equivalent of copy + remove
1790 rename files; equivalent of copy + remove
1792 </td></tr>
1791 </td></tr>
1793 <tr><td>
1792 <tr><td>
1794 <a href="/help/resolve">
1793 <a href="/help/resolve">
1795 resolve
1794 resolve
1796 </a>
1795 </a>
1797 </td><td>
1796 </td><td>
1798 redo merges or set/view the merge status of files
1797 redo merges or set/view the merge status of files
1799 </td></tr>
1798 </td></tr>
1800 <tr><td>
1799 <tr><td>
1801 <a href="/help/revert">
1800 <a href="/help/revert">
1802 revert
1801 revert
1803 </a>
1802 </a>
1804 </td><td>
1803 </td><td>
1805 restore files to their checkout state
1804 restore files to their checkout state
1806 </td></tr>
1805 </td></tr>
1807 <tr><td>
1806 <tr><td>
1808 <a href="/help/root">
1807 <a href="/help/root">
1809 root
1808 root
1810 </a>
1809 </a>
1811 </td><td>
1810 </td><td>
1812 print the root (top) of the current working directory
1811 print the root (top) of the current working directory
1813 </td></tr>
1812 </td></tr>
1814 <tr><td>
1813 <tr><td>
1815 <a href="/help/tag">
1814 <a href="/help/tag">
1816 tag
1815 tag
1817 </a>
1816 </a>
1818 </td><td>
1817 </td><td>
1819 add one or more tags for the current or given revision
1818 add one or more tags for the current or given revision
1820 </td></tr>
1819 </td></tr>
1821 <tr><td>
1820 <tr><td>
1822 <a href="/help/tags">
1821 <a href="/help/tags">
1823 tags
1822 tags
1824 </a>
1823 </a>
1825 </td><td>
1824 </td><td>
1826 list repository tags
1825 list repository tags
1827 </td></tr>
1826 </td></tr>
1828 <tr><td>
1827 <tr><td>
1829 <a href="/help/unbundle">
1828 <a href="/help/unbundle">
1830 unbundle
1829 unbundle
1831 </a>
1830 </a>
1832 </td><td>
1831 </td><td>
1833 apply one or more changegroup files
1832 apply one or more changegroup files
1834 </td></tr>
1833 </td></tr>
1835 <tr><td>
1834 <tr><td>
1836 <a href="/help/verify">
1835 <a href="/help/verify">
1837 verify
1836 verify
1838 </a>
1837 </a>
1839 </td><td>
1838 </td><td>
1840 verify the integrity of the repository
1839 verify the integrity of the repository
1841 </td></tr>
1840 </td></tr>
1842 <tr><td>
1841 <tr><td>
1843 <a href="/help/version">
1842 <a href="/help/version">
1844 version
1843 version
1845 </a>
1844 </a>
1846 </td><td>
1845 </td><td>
1847 output version and copyright information
1846 output version and copyright information
1848 </td></tr>
1847 </td></tr>
1849 </table>
1848 </table>
1850 </div>
1849 </div>
1851 </div>
1850 </div>
1852
1851
1853 <script type="text/javascript">process_dates()</script>
1852 <script type="text/javascript">process_dates()</script>
1854
1853
1855
1854
1856 </body>
1855 </body>
1857 </html>
1856 </html>
1858
1857
1859
1858
1860 $ get-with-headers.py 127.0.0.1:$HGPORT "help/add"
1859 $ get-with-headers.py 127.0.0.1:$HGPORT "help/add"
1861 200 Script output follows
1860 200 Script output follows
1862
1861
1863 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
1862 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
1864 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
1863 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
1865 <head>
1864 <head>
1866 <link rel="icon" href="/static/hgicon.png" type="image/png" />
1865 <link rel="icon" href="/static/hgicon.png" type="image/png" />
1867 <meta name="robots" content="index, nofollow" />
1866 <meta name="robots" content="index, nofollow" />
1868 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
1867 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
1869 <script type="text/javascript" src="/static/mercurial.js"></script>
1868 <script type="text/javascript" src="/static/mercurial.js"></script>
1870
1869
1871 <title>Help: add</title>
1870 <title>Help: add</title>
1872 </head>
1871 </head>
1873 <body>
1872 <body>
1874
1873
1875 <div class="container">
1874 <div class="container">
1876 <div class="menu">
1875 <div class="menu">
1877 <div class="logo">
1876 <div class="logo">
1878 <a href="http://mercurial.selenic.com/">
1877 <a href="http://mercurial.selenic.com/">
1879 <img src="/static/hglogo.png" alt="mercurial" /></a>
1878 <img src="/static/hglogo.png" alt="mercurial" /></a>
1880 </div>
1879 </div>
1881 <ul>
1880 <ul>
1882 <li><a href="/shortlog">log</a></li>
1881 <li><a href="/shortlog">log</a></li>
1883 <li><a href="/graph">graph</a></li>
1882 <li><a href="/graph">graph</a></li>
1884 <li><a href="/tags">tags</a></li>
1883 <li><a href="/tags">tags</a></li>
1885 <li><a href="/bookmarks">bookmarks</a></li>
1884 <li><a href="/bookmarks">bookmarks</a></li>
1886 <li><a href="/branches">branches</a></li>
1885 <li><a href="/branches">branches</a></li>
1887 </ul>
1886 </ul>
1888 <ul>
1887 <ul>
1889 <li class="active"><a href="/help">help</a></li>
1888 <li class="active"><a href="/help">help</a></li>
1890 </ul>
1889 </ul>
1891 </div>
1890 </div>
1892
1891
1893 <div class="main">
1892 <div class="main">
1894 <h2 class="breadcrumb"><a href="/">Mercurial</a> </h2>
1893 <h2 class="breadcrumb"><a href="/">Mercurial</a> </h2>
1895 <h3>Help: add</h3>
1894 <h3>Help: add</h3>
1896
1895
1897 <form class="search" action="/log">
1896 <form class="search" action="/log">
1898
1897
1899 <p><input name="rev" id="search1" type="text" size="30" /></p>
1898 <p><input name="rev" id="search1" type="text" size="30" /></p>
1900 <div id="hint">Find changesets by keywords (author, files, the commit message), revision
1899 <div id="hint">Find changesets by keywords (author, files, the commit message), revision
1901 number or hash, or <a href="/help/revsets">revset expression</a>.</div>
1900 number or hash, or <a href="/help/revsets">revset expression</a>.</div>
1902 </form>
1901 </form>
1903 <div id="doc">
1902 <div id="doc">
1904 <p>
1903 <p>
1905 hg add [OPTION]... [FILE]...
1904 hg add [OPTION]... [FILE]...
1906 </p>
1905 </p>
1907 <p>
1906 <p>
1908 add the specified files on the next commit
1907 add the specified files on the next commit
1909 </p>
1908 </p>
1910 <p>
1909 <p>
1911 Schedule files to be version controlled and added to the
1910 Schedule files to be version controlled and added to the
1912 repository.
1911 repository.
1913 </p>
1912 </p>
1914 <p>
1913 <p>
1915 The files will be added to the repository at the next commit. To
1914 The files will be added to the repository at the next commit. To
1916 undo an add before that, see &quot;hg forget&quot;.
1915 undo an add before that, see &quot;hg forget&quot;.
1917 </p>
1916 </p>
1918 <p>
1917 <p>
1919 If no names are given, add all files to the repository.
1918 If no names are given, add all files to the repository.
1920 </p>
1919 </p>
1921 <p>
1920 <p>
1922 An example showing how new (unknown) files are added
1921 An example showing how new (unknown) files are added
1923 automatically by &quot;hg add&quot;:
1922 automatically by &quot;hg add&quot;:
1924 </p>
1923 </p>
1925 <pre>
1924 <pre>
1926 \$ ls (re)
1925 \$ ls (re)
1927 foo.c
1926 foo.c
1928 \$ hg status (re)
1927 \$ hg status (re)
1929 ? foo.c
1928 ? foo.c
1930 \$ hg add (re)
1929 \$ hg add (re)
1931 adding foo.c
1930 adding foo.c
1932 \$ hg status (re)
1931 \$ hg status (re)
1933 A foo.c
1932 A foo.c
1934 </pre>
1933 </pre>
1935 <p>
1934 <p>
1936 Returns 0 if all files are successfully added.
1935 Returns 0 if all files are successfully added.
1937 </p>
1936 </p>
1938 <p>
1937 <p>
1939 options ([+] can be repeated):
1938 options ([+] can be repeated):
1940 </p>
1939 </p>
1941 <table>
1940 <table>
1942 <tr><td>-I</td>
1941 <tr><td>-I</td>
1943 <td>--include PATTERN [+]</td>
1942 <td>--include PATTERN [+]</td>
1944 <td>include names matching the given patterns</td></tr>
1943 <td>include names matching the given patterns</td></tr>
1945 <tr><td>-X</td>
1944 <tr><td>-X</td>
1946 <td>--exclude PATTERN [+]</td>
1945 <td>--exclude PATTERN [+]</td>
1947 <td>exclude names matching the given patterns</td></tr>
1946 <td>exclude names matching the given patterns</td></tr>
1948 <tr><td>-S</td>
1947 <tr><td>-S</td>
1949 <td>--subrepos</td>
1948 <td>--subrepos</td>
1950 <td>recurse into subrepositories</td></tr>
1949 <td>recurse into subrepositories</td></tr>
1951 <tr><td>-n</td>
1950 <tr><td>-n</td>
1952 <td>--dry-run</td>
1951 <td>--dry-run</td>
1953 <td>do not perform actions, just print output</td></tr>
1952 <td>do not perform actions, just print output</td></tr>
1954 </table>
1953 </table>
1955 <p>
1954 <p>
1956 global options ([+] can be repeated):
1955 global options ([+] can be repeated):
1957 </p>
1956 </p>
1958 <table>
1957 <table>
1959 <tr><td>-R</td>
1958 <tr><td>-R</td>
1960 <td>--repository REPO</td>
1959 <td>--repository REPO</td>
1961 <td>repository root directory or name of overlay bundle file</td></tr>
1960 <td>repository root directory or name of overlay bundle file</td></tr>
1962 <tr><td></td>
1961 <tr><td></td>
1963 <td>--cwd DIR</td>
1962 <td>--cwd DIR</td>
1964 <td>change working directory</td></tr>
1963 <td>change working directory</td></tr>
1965 <tr><td>-y</td>
1964 <tr><td>-y</td>
1966 <td>--noninteractive</td>
1965 <td>--noninteractive</td>
1967 <td>do not prompt, automatically pick the first choice for all prompts</td></tr>
1966 <td>do not prompt, automatically pick the first choice for all prompts</td></tr>
1968 <tr><td>-q</td>
1967 <tr><td>-q</td>
1969 <td>--quiet</td>
1968 <td>--quiet</td>
1970 <td>suppress output</td></tr>
1969 <td>suppress output</td></tr>
1971 <tr><td>-v</td>
1970 <tr><td>-v</td>
1972 <td>--verbose</td>
1971 <td>--verbose</td>
1973 <td>enable additional output</td></tr>
1972 <td>enable additional output</td></tr>
1974 <tr><td></td>
1973 <tr><td></td>
1975 <td>--config CONFIG [+]</td>
1974 <td>--config CONFIG [+]</td>
1976 <td>set/override config option (use 'section.name=value')</td></tr>
1975 <td>set/override config option (use 'section.name=value')</td></tr>
1977 <tr><td></td>
1976 <tr><td></td>
1978 <td>--debug</td>
1977 <td>--debug</td>
1979 <td>enable debugging output</td></tr>
1978 <td>enable debugging output</td></tr>
1980 <tr><td></td>
1979 <tr><td></td>
1981 <td>--debugger</td>
1980 <td>--debugger</td>
1982 <td>start debugger</td></tr>
1981 <td>start debugger</td></tr>
1983 <tr><td></td>
1982 <tr><td></td>
1984 <td>--encoding ENCODE</td>
1983 <td>--encoding ENCODE</td>
1985 <td>set the charset encoding (default: ascii)</td></tr>
1984 <td>set the charset encoding (default: ascii)</td></tr>
1986 <tr><td></td>
1985 <tr><td></td>
1987 <td>--encodingmode MODE</td>
1986 <td>--encodingmode MODE</td>
1988 <td>set the charset encoding mode (default: strict)</td></tr>
1987 <td>set the charset encoding mode (default: strict)</td></tr>
1989 <tr><td></td>
1988 <tr><td></td>
1990 <td>--traceback</td>
1989 <td>--traceback</td>
1991 <td>always print a traceback on exception</td></tr>
1990 <td>always print a traceback on exception</td></tr>
1992 <tr><td></td>
1991 <tr><td></td>
1993 <td>--time</td>
1992 <td>--time</td>
1994 <td>time how long the command takes</td></tr>
1993 <td>time how long the command takes</td></tr>
1995 <tr><td></td>
1994 <tr><td></td>
1996 <td>--profile</td>
1995 <td>--profile</td>
1997 <td>print command execution profile</td></tr>
1996 <td>print command execution profile</td></tr>
1998 <tr><td></td>
1997 <tr><td></td>
1999 <td>--version</td>
1998 <td>--version</td>
2000 <td>output version information and exit</td></tr>
1999 <td>output version information and exit</td></tr>
2001 <tr><td>-h</td>
2000 <tr><td>-h</td>
2002 <td>--help</td>
2001 <td>--help</td>
2003 <td>display help and exit</td></tr>
2002 <td>display help and exit</td></tr>
2004 <tr><td></td>
2003 <tr><td></td>
2005 <td>--hidden</td>
2004 <td>--hidden</td>
2006 <td>consider hidden changesets</td></tr>
2005 <td>consider hidden changesets</td></tr>
2007 </table>
2006 </table>
2008
2007
2009 </div>
2008 </div>
2010 </div>
2009 </div>
2011 </div>
2010 </div>
2012
2011
2013 <script type="text/javascript">process_dates()</script>
2012 <script type="text/javascript">process_dates()</script>
2014
2013
2015
2014
2016 </body>
2015 </body>
2017 </html>
2016 </html>
2018
2017
2019
2018
2020 $ get-with-headers.py 127.0.0.1:$HGPORT "help/remove"
2019 $ get-with-headers.py 127.0.0.1:$HGPORT "help/remove"
2021 200 Script output follows
2020 200 Script output follows
2022
2021
2023 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
2022 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
2024 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
2023 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
2025 <head>
2024 <head>
2026 <link rel="icon" href="/static/hgicon.png" type="image/png" />
2025 <link rel="icon" href="/static/hgicon.png" type="image/png" />
2027 <meta name="robots" content="index, nofollow" />
2026 <meta name="robots" content="index, nofollow" />
2028 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
2027 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
2029 <script type="text/javascript" src="/static/mercurial.js"></script>
2028 <script type="text/javascript" src="/static/mercurial.js"></script>
2030
2029
2031 <title>Help: remove</title>
2030 <title>Help: remove</title>
2032 </head>
2031 </head>
2033 <body>
2032 <body>
2034
2033
2035 <div class="container">
2034 <div class="container">
2036 <div class="menu">
2035 <div class="menu">
2037 <div class="logo">
2036 <div class="logo">
2038 <a href="http://mercurial.selenic.com/">
2037 <a href="http://mercurial.selenic.com/">
2039 <img src="/static/hglogo.png" alt="mercurial" /></a>
2038 <img src="/static/hglogo.png" alt="mercurial" /></a>
2040 </div>
2039 </div>
2041 <ul>
2040 <ul>
2042 <li><a href="/shortlog">log</a></li>
2041 <li><a href="/shortlog">log</a></li>
2043 <li><a href="/graph">graph</a></li>
2042 <li><a href="/graph">graph</a></li>
2044 <li><a href="/tags">tags</a></li>
2043 <li><a href="/tags">tags</a></li>
2045 <li><a href="/bookmarks">bookmarks</a></li>
2044 <li><a href="/bookmarks">bookmarks</a></li>
2046 <li><a href="/branches">branches</a></li>
2045 <li><a href="/branches">branches</a></li>
2047 </ul>
2046 </ul>
2048 <ul>
2047 <ul>
2049 <li class="active"><a href="/help">help</a></li>
2048 <li class="active"><a href="/help">help</a></li>
2050 </ul>
2049 </ul>
2051 </div>
2050 </div>
2052
2051
2053 <div class="main">
2052 <div class="main">
2054 <h2 class="breadcrumb"><a href="/">Mercurial</a> </h2>
2053 <h2 class="breadcrumb"><a href="/">Mercurial</a> </h2>
2055 <h3>Help: remove</h3>
2054 <h3>Help: remove</h3>
2056
2055
2057 <form class="search" action="/log">
2056 <form class="search" action="/log">
2058
2057
2059 <p><input name="rev" id="search1" type="text" size="30" /></p>
2058 <p><input name="rev" id="search1" type="text" size="30" /></p>
2060 <div id="hint">Find changesets by keywords (author, files, the commit message), revision
2059 <div id="hint">Find changesets by keywords (author, files, the commit message), revision
2061 number or hash, or <a href="/help/revsets">revset expression</a>.</div>
2060 number or hash, or <a href="/help/revsets">revset expression</a>.</div>
2062 </form>
2061 </form>
2063 <div id="doc">
2062 <div id="doc">
2064 <p>
2063 <p>
2065 hg remove [OPTION]... FILE...
2064 hg remove [OPTION]... FILE...
2066 </p>
2065 </p>
2067 <p>
2066 <p>
2068 aliases: rm
2067 aliases: rm
2069 </p>
2068 </p>
2070 <p>
2069 <p>
2071 remove the specified files on the next commit
2070 remove the specified files on the next commit
2072 </p>
2071 </p>
2073 <p>
2072 <p>
2074 Schedule the indicated files for removal from the current branch.
2073 Schedule the indicated files for removal from the current branch.
2075 </p>
2074 </p>
2076 <p>
2075 <p>
2077 This command schedules the files to be removed at the next commit.
2076 This command schedules the files to be removed at the next commit.
2078 To undo a remove before that, see &quot;hg revert&quot;. To undo added
2077 To undo a remove before that, see &quot;hg revert&quot;. To undo added
2079 files, see &quot;hg forget&quot;.
2078 files, see &quot;hg forget&quot;.
2080 </p>
2079 </p>
2081 <p>
2080 <p>
2082 -A/--after can be used to remove only files that have already
2081 -A/--after can be used to remove only files that have already
2083 been deleted, -f/--force can be used to force deletion, and -Af
2082 been deleted, -f/--force can be used to force deletion, and -Af
2084 can be used to remove files from the next revision without
2083 can be used to remove files from the next revision without
2085 deleting them from the working directory.
2084 deleting them from the working directory.
2086 </p>
2085 </p>
2087 <p>
2086 <p>
2088 The following table details the behavior of remove for different
2087 The following table details the behavior of remove for different
2089 file states (columns) and option combinations (rows). The file
2088 file states (columns) and option combinations (rows). The file
2090 states are Added [A], Clean [C], Modified [M] and Missing [!]
2089 states are Added [A], Clean [C], Modified [M] and Missing [!]
2091 (as reported by &quot;hg status&quot;). The actions are Warn, Remove
2090 (as reported by &quot;hg status&quot;). The actions are Warn, Remove
2092 (from branch) and Delete (from disk):
2091 (from branch) and Delete (from disk):
2093 </p>
2092 </p>
2094 <table>
2093 <table>
2095 <tr><td>opt/state</td>
2094 <tr><td>opt/state</td>
2096 <td>A</td>
2095 <td>A</td>
2097 <td>C</td>
2096 <td>C</td>
2098 <td>M</td>
2097 <td>M</td>
2099 <td>!</td></tr>
2098 <td>!</td></tr>
2100 <tr><td>none</td>
2099 <tr><td>none</td>
2101 <td>W</td>
2100 <td>W</td>
2102 <td>RD</td>
2101 <td>RD</td>
2103 <td>W</td>
2102 <td>W</td>
2104 <td>R</td></tr>
2103 <td>R</td></tr>
2105 <tr><td>-f</td>
2104 <tr><td>-f</td>
2106 <td>R</td>
2105 <td>R</td>
2107 <td>RD</td>
2106 <td>RD</td>
2108 <td>RD</td>
2107 <td>RD</td>
2109 <td>R</td></tr>
2108 <td>R</td></tr>
2110 <tr><td>-A</td>
2109 <tr><td>-A</td>
2111 <td>W</td>
2110 <td>W</td>
2112 <td>W</td>
2111 <td>W</td>
2113 <td>W</td>
2112 <td>W</td>
2114 <td>R</td></tr>
2113 <td>R</td></tr>
2115 <tr><td>-Af</td>
2114 <tr><td>-Af</td>
2116 <td>R</td>
2115 <td>R</td>
2117 <td>R</td>
2116 <td>R</td>
2118 <td>R</td>
2117 <td>R</td>
2119 <td>R</td></tr>
2118 <td>R</td></tr>
2120 </table>
2119 </table>
2121 <p>
2120 <p>
2122 Note that remove never deletes files in Added [A] state from the
2121 Note that remove never deletes files in Added [A] state from the
2123 working directory, not even if option --force is specified.
2122 working directory, not even if option --force is specified.
2124 </p>
2123 </p>
2125 <p>
2124 <p>
2126 Returns 0 on success, 1 if any warnings encountered.
2125 Returns 0 on success, 1 if any warnings encountered.
2127 </p>
2126 </p>
2128 <p>
2127 <p>
2129 options ([+] can be repeated):
2128 options ([+] can be repeated):
2130 </p>
2129 </p>
2131 <table>
2130 <table>
2132 <tr><td>-A</td>
2131 <tr><td>-A</td>
2133 <td>--after</td>
2132 <td>--after</td>
2134 <td>record delete for missing files</td></tr>
2133 <td>record delete for missing files</td></tr>
2135 <tr><td>-f</td>
2134 <tr><td>-f</td>
2136 <td>--force</td>
2135 <td>--force</td>
2137 <td>remove (and delete) file even if added or modified</td></tr>
2136 <td>remove (and delete) file even if added or modified</td></tr>
2138 <tr><td>-S</td>
2137 <tr><td>-S</td>
2139 <td>--subrepos</td>
2138 <td>--subrepos</td>
2140 <td>recurse into subrepositories</td></tr>
2139 <td>recurse into subrepositories</td></tr>
2141 <tr><td>-I</td>
2140 <tr><td>-I</td>
2142 <td>--include PATTERN [+]</td>
2141 <td>--include PATTERN [+]</td>
2143 <td>include names matching the given patterns</td></tr>
2142 <td>include names matching the given patterns</td></tr>
2144 <tr><td>-X</td>
2143 <tr><td>-X</td>
2145 <td>--exclude PATTERN [+]</td>
2144 <td>--exclude PATTERN [+]</td>
2146 <td>exclude names matching the given patterns</td></tr>
2145 <td>exclude names matching the given patterns</td></tr>
2147 </table>
2146 </table>
2148 <p>
2147 <p>
2149 global options ([+] can be repeated):
2148 global options ([+] can be repeated):
2150 </p>
2149 </p>
2151 <table>
2150 <table>
2152 <tr><td>-R</td>
2151 <tr><td>-R</td>
2153 <td>--repository REPO</td>
2152 <td>--repository REPO</td>
2154 <td>repository root directory or name of overlay bundle file</td></tr>
2153 <td>repository root directory or name of overlay bundle file</td></tr>
2155 <tr><td></td>
2154 <tr><td></td>
2156 <td>--cwd DIR</td>
2155 <td>--cwd DIR</td>
2157 <td>change working directory</td></tr>
2156 <td>change working directory</td></tr>
2158 <tr><td>-y</td>
2157 <tr><td>-y</td>
2159 <td>--noninteractive</td>
2158 <td>--noninteractive</td>
2160 <td>do not prompt, automatically pick the first choice for all prompts</td></tr>
2159 <td>do not prompt, automatically pick the first choice for all prompts</td></tr>
2161 <tr><td>-q</td>
2160 <tr><td>-q</td>
2162 <td>--quiet</td>
2161 <td>--quiet</td>
2163 <td>suppress output</td></tr>
2162 <td>suppress output</td></tr>
2164 <tr><td>-v</td>
2163 <tr><td>-v</td>
2165 <td>--verbose</td>
2164 <td>--verbose</td>
2166 <td>enable additional output</td></tr>
2165 <td>enable additional output</td></tr>
2167 <tr><td></td>
2166 <tr><td></td>
2168 <td>--config CONFIG [+]</td>
2167 <td>--config CONFIG [+]</td>
2169 <td>set/override config option (use 'section.name=value')</td></tr>
2168 <td>set/override config option (use 'section.name=value')</td></tr>
2170 <tr><td></td>
2169 <tr><td></td>
2171 <td>--debug</td>
2170 <td>--debug</td>
2172 <td>enable debugging output</td></tr>
2171 <td>enable debugging output</td></tr>
2173 <tr><td></td>
2172 <tr><td></td>
2174 <td>--debugger</td>
2173 <td>--debugger</td>
2175 <td>start debugger</td></tr>
2174 <td>start debugger</td></tr>
2176 <tr><td></td>
2175 <tr><td></td>
2177 <td>--encoding ENCODE</td>
2176 <td>--encoding ENCODE</td>
2178 <td>set the charset encoding (default: ascii)</td></tr>
2177 <td>set the charset encoding (default: ascii)</td></tr>
2179 <tr><td></td>
2178 <tr><td></td>
2180 <td>--encodingmode MODE</td>
2179 <td>--encodingmode MODE</td>
2181 <td>set the charset encoding mode (default: strict)</td></tr>
2180 <td>set the charset encoding mode (default: strict)</td></tr>
2182 <tr><td></td>
2181 <tr><td></td>
2183 <td>--traceback</td>
2182 <td>--traceback</td>
2184 <td>always print a traceback on exception</td></tr>
2183 <td>always print a traceback on exception</td></tr>
2185 <tr><td></td>
2184 <tr><td></td>
2186 <td>--time</td>
2185 <td>--time</td>
2187 <td>time how long the command takes</td></tr>
2186 <td>time how long the command takes</td></tr>
2188 <tr><td></td>
2187 <tr><td></td>
2189 <td>--profile</td>
2188 <td>--profile</td>
2190 <td>print command execution profile</td></tr>
2189 <td>print command execution profile</td></tr>
2191 <tr><td></td>
2190 <tr><td></td>
2192 <td>--version</td>
2191 <td>--version</td>
2193 <td>output version information and exit</td></tr>
2192 <td>output version information and exit</td></tr>
2194 <tr><td>-h</td>
2193 <tr><td>-h</td>
2195 <td>--help</td>
2194 <td>--help</td>
2196 <td>display help and exit</td></tr>
2195 <td>display help and exit</td></tr>
2197 <tr><td></td>
2196 <tr><td></td>
2198 <td>--hidden</td>
2197 <td>--hidden</td>
2199 <td>consider hidden changesets</td></tr>
2198 <td>consider hidden changesets</td></tr>
2200 </table>
2199 </table>
2201
2200
2202 </div>
2201 </div>
2203 </div>
2202 </div>
2204 </div>
2203 </div>
2205
2204
2206 <script type="text/javascript">process_dates()</script>
2205 <script type="text/javascript">process_dates()</script>
2207
2206
2208
2207
2209 </body>
2208 </body>
2210 </html>
2209 </html>
2211
2210
2212
2211
2213 $ get-with-headers.py 127.0.0.1:$HGPORT "help/revisions"
2212 $ get-with-headers.py 127.0.0.1:$HGPORT "help/revisions"
2214 200 Script output follows
2213 200 Script output follows
2215
2214
2216 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
2215 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
2217 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
2216 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
2218 <head>
2217 <head>
2219 <link rel="icon" href="/static/hgicon.png" type="image/png" />
2218 <link rel="icon" href="/static/hgicon.png" type="image/png" />
2220 <meta name="robots" content="index, nofollow" />
2219 <meta name="robots" content="index, nofollow" />
2221 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
2220 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
2222 <script type="text/javascript" src="/static/mercurial.js"></script>
2221 <script type="text/javascript" src="/static/mercurial.js"></script>
2223
2222
2224 <title>Help: revisions</title>
2223 <title>Help: revisions</title>
2225 </head>
2224 </head>
2226 <body>
2225 <body>
2227
2226
2228 <div class="container">
2227 <div class="container">
2229 <div class="menu">
2228 <div class="menu">
2230 <div class="logo">
2229 <div class="logo">
2231 <a href="http://mercurial.selenic.com/">
2230 <a href="http://mercurial.selenic.com/">
2232 <img src="/static/hglogo.png" alt="mercurial" /></a>
2231 <img src="/static/hglogo.png" alt="mercurial" /></a>
2233 </div>
2232 </div>
2234 <ul>
2233 <ul>
2235 <li><a href="/shortlog">log</a></li>
2234 <li><a href="/shortlog">log</a></li>
2236 <li><a href="/graph">graph</a></li>
2235 <li><a href="/graph">graph</a></li>
2237 <li><a href="/tags">tags</a></li>
2236 <li><a href="/tags">tags</a></li>
2238 <li><a href="/bookmarks">bookmarks</a></li>
2237 <li><a href="/bookmarks">bookmarks</a></li>
2239 <li><a href="/branches">branches</a></li>
2238 <li><a href="/branches">branches</a></li>
2240 </ul>
2239 </ul>
2241 <ul>
2240 <ul>
2242 <li class="active"><a href="/help">help</a></li>
2241 <li class="active"><a href="/help">help</a></li>
2243 </ul>
2242 </ul>
2244 </div>
2243 </div>
2245
2244
2246 <div class="main">
2245 <div class="main">
2247 <h2 class="breadcrumb"><a href="/">Mercurial</a> </h2>
2246 <h2 class="breadcrumb"><a href="/">Mercurial</a> </h2>
2248 <h3>Help: revisions</h3>
2247 <h3>Help: revisions</h3>
2249
2248
2250 <form class="search" action="/log">
2249 <form class="search" action="/log">
2251
2250
2252 <p><input name="rev" id="search1" type="text" size="30" /></p>
2251 <p><input name="rev" id="search1" type="text" size="30" /></p>
2253 <div id="hint">Find changesets by keywords (author, files, the commit message), revision
2252 <div id="hint">Find changesets by keywords (author, files, the commit message), revision
2254 number or hash, or <a href="/help/revsets">revset expression</a>.</div>
2253 number or hash, or <a href="/help/revsets">revset expression</a>.</div>
2255 </form>
2254 </form>
2256 <div id="doc">
2255 <div id="doc">
2257 <h1>Specifying Single Revisions</h1>
2256 <h1>Specifying Single Revisions</h1>
2258 <p>
2257 <p>
2259 Mercurial supports several ways to specify individual revisions.
2258 Mercurial supports several ways to specify individual revisions.
2260 </p>
2259 </p>
2261 <p>
2260 <p>
2262 A plain integer is treated as a revision number. Negative integers are
2261 A plain integer is treated as a revision number. Negative integers are
2263 treated as sequential offsets from the tip, with -1 denoting the tip,
2262 treated as sequential offsets from the tip, with -1 denoting the tip,
2264 -2 denoting the revision prior to the tip, and so forth.
2263 -2 denoting the revision prior to the tip, and so forth.
2265 </p>
2264 </p>
2266 <p>
2265 <p>
2267 A 40-digit hexadecimal string is treated as a unique revision
2266 A 40-digit hexadecimal string is treated as a unique revision
2268 identifier.
2267 identifier.
2269 </p>
2268 </p>
2270 <p>
2269 <p>
2271 A hexadecimal string less than 40 characters long is treated as a
2270 A hexadecimal string less than 40 characters long is treated as a
2272 unique revision identifier and is referred to as a short-form
2271 unique revision identifier and is referred to as a short-form
2273 identifier. A short-form identifier is only valid if it is the prefix
2272 identifier. A short-form identifier is only valid if it is the prefix
2274 of exactly one full-length identifier.
2273 of exactly one full-length identifier.
2275 </p>
2274 </p>
2276 <p>
2275 <p>
2277 Any other string is treated as a bookmark, tag, or branch name. A
2276 Any other string is treated as a bookmark, tag, or branch name. A
2278 bookmark is a movable pointer to a revision. A tag is a permanent name
2277 bookmark is a movable pointer to a revision. A tag is a permanent name
2279 associated with a revision. A branch name denotes the tipmost open branch head
2278 associated with a revision. A branch name denotes the tipmost open branch head
2280 of that branch - or if they are all closed, the tipmost closed head of the
2279 of that branch - or if they are all closed, the tipmost closed head of the
2281 branch. Bookmark, tag, and branch names must not contain the &quot;:&quot; character.
2280 branch. Bookmark, tag, and branch names must not contain the &quot;:&quot; character.
2282 </p>
2281 </p>
2283 <p>
2282 <p>
2284 The reserved name &quot;tip&quot; always identifies the most recent revision.
2283 The reserved name &quot;tip&quot; always identifies the most recent revision.
2285 </p>
2284 </p>
2286 <p>
2285 <p>
2287 The reserved name &quot;null&quot; indicates the null revision. This is the
2286 The reserved name &quot;null&quot; indicates the null revision. This is the
2288 revision of an empty repository, and the parent of revision 0.
2287 revision of an empty repository, and the parent of revision 0.
2289 </p>
2288 </p>
2290 <p>
2289 <p>
2291 The reserved name &quot;.&quot; indicates the working directory parent. If no
2290 The reserved name &quot;.&quot; indicates the working directory parent. If no
2292 working directory is checked out, it is equivalent to null. If an
2291 working directory is checked out, it is equivalent to null. If an
2293 uncommitted merge is in progress, &quot;.&quot; is the revision of the first
2292 uncommitted merge is in progress, &quot;.&quot; is the revision of the first
2294 parent.
2293 parent.
2295 </p>
2294 </p>
2296
2295
2297 </div>
2296 </div>
2298 </div>
2297 </div>
2299 </div>
2298 </div>
2300
2299
2301 <script type="text/javascript">process_dates()</script>
2300 <script type="text/javascript">process_dates()</script>
2302
2301
2303
2302
2304 </body>
2303 </body>
2305 </html>
2304 </html>
2306
2305
2307
2306
2308 $ killdaemons.py
2307 $ killdaemons.py
2309
2308
2310 #endif
2309 #endif
General Comments 0
You need to be logged in to leave comments. Login now