##// END OF EJS Templates
add [diff] section to hgrc documentation
Benoit Boissinot -
r4011:15955d84 default
parent child Browse files
Show More
@@ -1,515 +1,531 b''
1 HGRC(5)
1 HGRC(5)
2 =======
2 =======
3 Bryan O'Sullivan <bos@serpentine.com>
3 Bryan O'Sullivan <bos@serpentine.com>
4
4
5 NAME
5 NAME
6 ----
6 ----
7 hgrc - configuration files for Mercurial
7 hgrc - configuration files for Mercurial
8
8
9 SYNOPSIS
9 SYNOPSIS
10 --------
10 --------
11
11
12 The Mercurial system uses a set of configuration files to control
12 The Mercurial system uses a set of configuration files to control
13 aspects of its behaviour.
13 aspects of its behaviour.
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 The names of these files depend on the system on which Mercurial is
19 The names of these files depend on the system on which Mercurial is
20 installed.
20 installed.
21
21
22 (Unix) <install-root>/etc/mercurial/hgrc.d/*.rc::
22 (Unix) <install-root>/etc/mercurial/hgrc.d/*.rc::
23 (Unix) <install-root>/etc/mercurial/hgrc::
23 (Unix) <install-root>/etc/mercurial/hgrc::
24 Per-installation configuration files, searched for in the
24 Per-installation configuration files, searched for in the
25 directory where Mercurial is installed. For example, if installed
25 directory where Mercurial is installed. For example, if installed
26 in /shared/tools, Mercurial will look in
26 in /shared/tools, Mercurial will look in
27 /shared/tools/etc/mercurial/hgrc. Options in these files apply to
27 /shared/tools/etc/mercurial/hgrc. Options in these files apply to
28 all Mercurial commands executed by any user in any directory.
28 all Mercurial commands executed by any user in any directory.
29
29
30 (Unix) /etc/mercurial/hgrc.d/*.rc::
30 (Unix) /etc/mercurial/hgrc.d/*.rc::
31 (Unix) /etc/mercurial/hgrc::
31 (Unix) /etc/mercurial/hgrc::
32 (Windows) C:\Mercurial\Mercurial.ini::
32 (Windows) C:\Mercurial\Mercurial.ini::
33 Per-system configuration files, for the system on which Mercurial
33 Per-system configuration files, for the system on which Mercurial
34 is running. Options in these files apply to all Mercurial
34 is running. Options in these files apply to all Mercurial
35 commands executed by any user in any directory. Options in these
35 commands executed by any user in any directory. Options in these
36 files override per-installation options.
36 files override per-installation options.
37
37
38 (Unix) $HOME/.hgrc::
38 (Unix) $HOME/.hgrc::
39 (Windows) C:\Documents and Settings\USERNAME\Mercurial.ini::
39 (Windows) C:\Documents and Settings\USERNAME\Mercurial.ini::
40 (Windows) $HOME\Mercurial.ini::
40 (Windows) $HOME\Mercurial.ini::
41 Per-user configuration file, for the user running Mercurial.
41 Per-user configuration file, for the user running Mercurial.
42 Options in this file apply to all Mercurial commands executed by
42 Options in this file apply to all Mercurial commands executed by
43 any user in any directory. Options in this file override
43 any user in any directory. Options in this file override
44 per-installation and per-system options.
44 per-installation and per-system options.
45 On Windows system, one of these is chosen exclusively according
45 On Windows system, one of these is chosen exclusively according
46 to definition of HOME environment variable.
46 to definition of HOME environment variable.
47
47
48 (Unix, Windows) <repo>/.hg/hgrc::
48 (Unix, Windows) <repo>/.hg/hgrc::
49 Per-repository configuration options that only apply in a
49 Per-repository configuration options that only apply in a
50 particular repository. This file is not version-controlled, and
50 particular repository. This file is not version-controlled, and
51 will not get transferred during a "clone" operation. Options in
51 will not get transferred during a "clone" operation. Options in
52 this file override options in all other configuration files.
52 this file override options in all other configuration files.
53 On Unix, most of this file will be ignored if it doesn't belong
53 On Unix, most of this file will be ignored if it doesn't belong
54 to a trusted user or to a trusted group. See the documentation
54 to a trusted user or to a trusted group. See the documentation
55 for the trusted section below for more details.
55 for the trusted section below for more details.
56
56
57 SYNTAX
57 SYNTAX
58 ------
58 ------
59
59
60 A configuration file consists of sections, led by a "[section]" header
60 A configuration file consists of sections, led by a "[section]" header
61 and followed by "name: value" entries; "name=value" is also accepted.
61 and followed by "name: value" entries; "name=value" is also accepted.
62
62
63 [spam]
63 [spam]
64 eggs=ham
64 eggs=ham
65 green=
65 green=
66 eggs
66 eggs
67
67
68 Each line contains one entry. If the lines that follow are indented,
68 Each line contains one entry. If the lines that follow are indented,
69 they are treated as continuations of that entry.
69 they are treated as continuations of that entry.
70
70
71 Leading whitespace is removed from values. Empty lines are skipped.
71 Leading whitespace is removed from values. Empty lines are skipped.
72
72
73 The optional values can contain format strings which refer to other
73 The optional values can contain format strings which refer to other
74 values in the same section, or values in a special DEFAULT section.
74 values in the same section, or values in a special DEFAULT section.
75
75
76 Lines beginning with "#" or ";" are ignored and may be used to provide
76 Lines beginning with "#" or ";" are ignored and may be used to provide
77 comments.
77 comments.
78
78
79 SECTIONS
79 SECTIONS
80 --------
80 --------
81
81
82 This section describes the different sections that may appear in a
82 This section describes the different sections that may appear in a
83 Mercurial "hgrc" file, the purpose of each section, its possible
83 Mercurial "hgrc" file, the purpose of each section, its possible
84 keys, and their possible values.
84 keys, and their possible values.
85
85
86 decode/encode::
86 decode/encode::
87 Filters for transforming files on checkout/checkin. This would
87 Filters for transforming files on checkout/checkin. This would
88 typically be used for newline processing or other
88 typically be used for newline processing or other
89 localization/canonicalization of files.
89 localization/canonicalization of files.
90
90
91 Filters consist of a filter pattern followed by a filter command.
91 Filters consist of a filter pattern followed by a filter command.
92 Filter patterns are globs by default, rooted at the repository
92 Filter patterns are globs by default, rooted at the repository
93 root. For example, to match any file ending in ".txt" in the root
93 root. For example, to match any file ending in ".txt" in the root
94 directory only, use the pattern "*.txt". To match any file ending
94 directory only, use the pattern "*.txt". To match any file ending
95 in ".c" anywhere in the repository, use the pattern "**.c".
95 in ".c" anywhere in the repository, use the pattern "**.c".
96
96
97 The filter command can start with a specifier, either "pipe:" or
97 The filter command can start with a specifier, either "pipe:" or
98 "tempfile:". If no specifier is given, "pipe:" is used by default.
98 "tempfile:". If no specifier is given, "pipe:" is used by default.
99
99
100 A "pipe:" command must accept data on stdin and return the
100 A "pipe:" command must accept data on stdin and return the
101 transformed data on stdout.
101 transformed data on stdout.
102
102
103 Pipe example:
103 Pipe example:
104
104
105 [encode]
105 [encode]
106 # uncompress gzip files on checkin to improve delta compression
106 # uncompress gzip files on checkin to improve delta compression
107 # note: not necessarily a good idea, just an example
107 # note: not necessarily a good idea, just an example
108 *.gz = pipe: gunzip
108 *.gz = pipe: gunzip
109
109
110 [decode]
110 [decode]
111 # recompress gzip files when writing them to the working dir (we
111 # recompress gzip files when writing them to the working dir (we
112 # can safely omit "pipe:", because it's the default)
112 # can safely omit "pipe:", because it's the default)
113 *.gz = gzip
113 *.gz = gzip
114
114
115 A "tempfile:" command is a template. The string INFILE is replaced
115 A "tempfile:" command is a template. The string INFILE is replaced
116 with the name of a temporary file that contains the data to be
116 with the name of a temporary file that contains the data to be
117 filtered by the command. The string OUTFILE is replaced with the
117 filtered by the command. The string OUTFILE is replaced with the
118 name of an empty temporary file, where the filtered data must be
118 name of an empty temporary file, where the filtered data must be
119 written by the command.
119 written by the command.
120
120
121 NOTE: the tempfile mechanism is recommended for Windows systems,
121 NOTE: the tempfile mechanism is recommended for Windows systems,
122 where the standard shell I/O redirection operators often have
122 where the standard shell I/O redirection operators often have
123 strange effects. In particular, if you are doing line ending
123 strange effects. In particular, if you are doing line ending
124 conversion on Windows using the popular dos2unix and unix2dos
124 conversion on Windows using the popular dos2unix and unix2dos
125 programs, you *must* use the tempfile mechanism, as using pipes will
125 programs, you *must* use the tempfile mechanism, as using pipes will
126 corrupt the contents of your files.
126 corrupt the contents of your files.
127
127
128 Tempfile example:
128 Tempfile example:
129
129
130 [encode]
130 [encode]
131 # convert files to unix line ending conventions on checkin
131 # convert files to unix line ending conventions on checkin
132 **.txt = tempfile: dos2unix -n INFILE OUTFILE
132 **.txt = tempfile: dos2unix -n INFILE OUTFILE
133
133
134 [decode]
134 [decode]
135 # convert files to windows line ending conventions when writing
135 # convert files to windows line ending conventions when writing
136 # them to the working dir
136 # them to the working dir
137 **.txt = tempfile: unix2dos -n INFILE OUTFILE
137 **.txt = tempfile: unix2dos -n INFILE OUTFILE
138
138
139 defaults::
139 defaults::
140 Use the [defaults] section to define command defaults, i.e. the
140 Use the [defaults] section to define command defaults, i.e. the
141 default options/arguments to pass to the specified commands.
141 default options/arguments to pass to the specified commands.
142
142
143 The following example makes 'hg log' run in verbose mode, and
143 The following example makes 'hg log' run in verbose mode, and
144 'hg status' show only the modified files, by default.
144 'hg status' show only the modified files, by default.
145
145
146 [defaults]
146 [defaults]
147 log = -v
147 log = -v
148 status = -m
148 status = -m
149
149
150 The actual commands, instead of their aliases, must be used when
150 The actual commands, instead of their aliases, must be used when
151 defining command defaults. The command defaults will also be
151 defining command defaults. The command defaults will also be
152 applied to the aliases of the commands defined.
152 applied to the aliases of the commands defined.
153
153
154 diff::
155 Settings used when displaying diffs. They are all boolean and
156 defaults to False.
157 git;;
158 Use git extended diff format.
159 nodates;;
160 Don't include dates in diff headers.
161 showfunc;;
162 Show which function each change is in.
163 ignorews;;
164 Ignore white space when comparing lines.
165 ignorewsamount;;
166 Ignore changes in the amount of white space.
167 ignoreblanklines;;
168 Ignore changes whose lines are all blank.
169
154 email::
170 email::
155 Settings for extensions that send email messages.
171 Settings for extensions that send email messages.
156 from;;
172 from;;
157 Optional. Email address to use in "From" header and SMTP envelope
173 Optional. Email address to use in "From" header and SMTP envelope
158 of outgoing messages.
174 of outgoing messages.
159 to;;
175 to;;
160 Optional. Comma-separated list of recipients' email addresses.
176 Optional. Comma-separated list of recipients' email addresses.
161 cc;;
177 cc;;
162 Optional. Comma-separated list of carbon copy recipients'
178 Optional. Comma-separated list of carbon copy recipients'
163 email addresses.
179 email addresses.
164 bcc;;
180 bcc;;
165 Optional. Comma-separated list of blind carbon copy
181 Optional. Comma-separated list of blind carbon copy
166 recipients' email addresses. Cannot be set interactively.
182 recipients' email addresses. Cannot be set interactively.
167 method;;
183 method;;
168 Optional. Method to use to send email messages. If value is
184 Optional. Method to use to send email messages. If value is
169 "smtp" (default), use SMTP (see section "[smtp]" for
185 "smtp" (default), use SMTP (see section "[smtp]" for
170 configuration). Otherwise, use as name of program to run that
186 configuration). Otherwise, use as name of program to run that
171 acts like sendmail (takes "-f" option for sender, list of
187 acts like sendmail (takes "-f" option for sender, list of
172 recipients on command line, message on stdin). Normally, setting
188 recipients on command line, message on stdin). Normally, setting
173 this to "sendmail" or "/usr/sbin/sendmail" is enough to use
189 this to "sendmail" or "/usr/sbin/sendmail" is enough to use
174 sendmail to send messages.
190 sendmail to send messages.
175
191
176 Email example:
192 Email example:
177
193
178 [email]
194 [email]
179 from = Joseph User <joe.user@example.com>
195 from = Joseph User <joe.user@example.com>
180 method = /usr/sbin/sendmail
196 method = /usr/sbin/sendmail
181
197
182 extensions::
198 extensions::
183 Mercurial has an extension mechanism for adding new features. To
199 Mercurial has an extension mechanism for adding new features. To
184 enable an extension, create an entry for it in this section.
200 enable an extension, create an entry for it in this section.
185
201
186 If you know that the extension is already in Python's search path,
202 If you know that the extension is already in Python's search path,
187 you can give the name of the module, followed by "=", with nothing
203 you can give the name of the module, followed by "=", with nothing
188 after the "=".
204 after the "=".
189
205
190 Otherwise, give a name that you choose, followed by "=", followed by
206 Otherwise, give a name that you choose, followed by "=", followed by
191 the path to the ".py" file (including the file name extension) that
207 the path to the ".py" file (including the file name extension) that
192 defines the extension.
208 defines the extension.
193
209
194 Example for ~/.hgrc:
210 Example for ~/.hgrc:
195
211
196 [extensions]
212 [extensions]
197 # (the mq extension will get loaded from mercurial's path)
213 # (the mq extension will get loaded from mercurial's path)
198 hgext.mq =
214 hgext.mq =
199 # (this extension will get loaded from the file specified)
215 # (this extension will get loaded from the file specified)
200 myfeature = ~/.hgext/myfeature.py
216 myfeature = ~/.hgext/myfeature.py
201
217
202 hooks::
218 hooks::
203 Commands or Python functions that get automatically executed by
219 Commands or Python functions that get automatically executed by
204 various actions such as starting or finishing a commit. Multiple
220 various actions such as starting or finishing a commit. Multiple
205 hooks can be run for the same action by appending a suffix to the
221 hooks can be run for the same action by appending a suffix to the
206 action. Overriding a site-wide hook can be done by changing its
222 action. Overriding a site-wide hook can be done by changing its
207 value or setting it to an empty string.
223 value or setting it to an empty string.
208
224
209 Example .hg/hgrc:
225 Example .hg/hgrc:
210
226
211 [hooks]
227 [hooks]
212 # do not use the site-wide hook
228 # do not use the site-wide hook
213 incoming =
229 incoming =
214 incoming.email = /my/email/hook
230 incoming.email = /my/email/hook
215 incoming.autobuild = /my/build/hook
231 incoming.autobuild = /my/build/hook
216
232
217 Most hooks are run with environment variables set that give added
233 Most hooks are run with environment variables set that give added
218 useful information. For each hook below, the environment variables
234 useful information. For each hook below, the environment variables
219 it is passed are listed with names of the form "$HG_foo".
235 it is passed are listed with names of the form "$HG_foo".
220
236
221 changegroup;;
237 changegroup;;
222 Run after a changegroup has been added via push, pull or
238 Run after a changegroup has been added via push, pull or
223 unbundle. ID of the first new changeset is in $HG_NODE. URL from
239 unbundle. ID of the first new changeset is in $HG_NODE. URL from
224 which changes came is in $HG_URL.
240 which changes came is in $HG_URL.
225 commit;;
241 commit;;
226 Run after a changeset has been created in the local repository.
242 Run after a changeset has been created in the local repository.
227 ID of the newly created changeset is in $HG_NODE. Parent
243 ID of the newly created changeset is in $HG_NODE. Parent
228 changeset IDs are in $HG_PARENT1 and $HG_PARENT2.
244 changeset IDs are in $HG_PARENT1 and $HG_PARENT2.
229 incoming;;
245 incoming;;
230 Run after a changeset has been pulled, pushed, or unbundled into
246 Run after a changeset has been pulled, pushed, or unbundled into
231 the local repository. The ID of the newly arrived changeset is in
247 the local repository. The ID of the newly arrived changeset is in
232 $HG_NODE. URL that was source of changes came is in $HG_URL.
248 $HG_NODE. URL that was source of changes came is in $HG_URL.
233 outgoing;;
249 outgoing;;
234 Run after sending changes from local repository to another. ID of
250 Run after sending changes from local repository to another. ID of
235 first changeset sent is in $HG_NODE. Source of operation is in
251 first changeset sent is in $HG_NODE. Source of operation is in
236 $HG_SOURCE; see "preoutgoing" hook for description.
252 $HG_SOURCE; see "preoutgoing" hook for description.
237 prechangegroup;;
253 prechangegroup;;
238 Run before a changegroup is added via push, pull or unbundle.
254 Run before a changegroup is added via push, pull or unbundle.
239 Exit status 0 allows the changegroup to proceed. Non-zero status
255 Exit status 0 allows the changegroup to proceed. Non-zero status
240 will cause the push, pull or unbundle to fail. URL from which
256 will cause the push, pull or unbundle to fail. URL from which
241 changes will come is in $HG_URL.
257 changes will come is in $HG_URL.
242 precommit;;
258 precommit;;
243 Run before starting a local commit. Exit status 0 allows the
259 Run before starting a local commit. Exit status 0 allows the
244 commit to proceed. Non-zero status will cause the commit to fail.
260 commit to proceed. Non-zero status will cause the commit to fail.
245 Parent changeset IDs are in $HG_PARENT1 and $HG_PARENT2.
261 Parent changeset IDs are in $HG_PARENT1 and $HG_PARENT2.
246 preoutgoing;;
262 preoutgoing;;
247 Run before computing changes to send from the local repository to
263 Run before computing changes to send from the local repository to
248 another. Non-zero status will cause failure. This lets you
264 another. Non-zero status will cause failure. This lets you
249 prevent pull over http or ssh. Also prevents against local pull,
265 prevent pull over http or ssh. Also prevents against local pull,
250 push (outbound) or bundle commands, but not effective, since you
266 push (outbound) or bundle commands, but not effective, since you
251 can just copy files instead then. Source of operation is in
267 can just copy files instead then. Source of operation is in
252 $HG_SOURCE. If "serve", operation is happening on behalf of
268 $HG_SOURCE. If "serve", operation is happening on behalf of
253 remote ssh or http repository. If "push", "pull" or "bundle",
269 remote ssh or http repository. If "push", "pull" or "bundle",
254 operation is happening on behalf of repository on same system.
270 operation is happening on behalf of repository on same system.
255 pretag;;
271 pretag;;
256 Run before creating a tag. Exit status 0 allows the tag to be
272 Run before creating a tag. Exit status 0 allows the tag to be
257 created. Non-zero status will cause the tag to fail. ID of
273 created. Non-zero status will cause the tag to fail. ID of
258 changeset to tag is in $HG_NODE. Name of tag is in $HG_TAG. Tag
274 changeset to tag is in $HG_NODE. Name of tag is in $HG_TAG. Tag
259 is local if $HG_LOCAL=1, in repo if $HG_LOCAL=0.
275 is local if $HG_LOCAL=1, in repo if $HG_LOCAL=0.
260 pretxnchangegroup;;
276 pretxnchangegroup;;
261 Run after a changegroup has been added via push, pull or unbundle,
277 Run after a changegroup has been added via push, pull or unbundle,
262 but before the transaction has been committed. Changegroup is
278 but before the transaction has been committed. Changegroup is
263 visible to hook program. This lets you validate incoming changes
279 visible to hook program. This lets you validate incoming changes
264 before accepting them. Passed the ID of the first new changeset
280 before accepting them. Passed the ID of the first new changeset
265 in $HG_NODE. Exit status 0 allows the transaction to commit.
281 in $HG_NODE. Exit status 0 allows the transaction to commit.
266 Non-zero status will cause the transaction to be rolled back and
282 Non-zero status will cause the transaction to be rolled back and
267 the push, pull or unbundle will fail. URL that was source of
283 the push, pull or unbundle will fail. URL that was source of
268 changes is in $HG_URL.
284 changes is in $HG_URL.
269 pretxncommit;;
285 pretxncommit;;
270 Run after a changeset has been created but the transaction not yet
286 Run after a changeset has been created but the transaction not yet
271 committed. Changeset is visible to hook program. This lets you
287 committed. Changeset is visible to hook program. This lets you
272 validate commit message and changes. Exit status 0 allows the
288 validate commit message and changes. Exit status 0 allows the
273 commit to proceed. Non-zero status will cause the transaction to
289 commit to proceed. Non-zero status will cause the transaction to
274 be rolled back. ID of changeset is in $HG_NODE. Parent changeset
290 be rolled back. ID of changeset is in $HG_NODE. Parent changeset
275 IDs are in $HG_PARENT1 and $HG_PARENT2.
291 IDs are in $HG_PARENT1 and $HG_PARENT2.
276 preupdate;;
292 preupdate;;
277 Run before updating the working directory. Exit status 0 allows
293 Run before updating the working directory. Exit status 0 allows
278 the update to proceed. Non-zero status will prevent the update.
294 the update to proceed. Non-zero status will prevent the update.
279 Changeset ID of first new parent is in $HG_PARENT1. If merge, ID
295 Changeset ID of first new parent is in $HG_PARENT1. If merge, ID
280 of second new parent is in $HG_PARENT2.
296 of second new parent is in $HG_PARENT2.
281 tag;;
297 tag;;
282 Run after a tag is created. ID of tagged changeset is in
298 Run after a tag is created. ID of tagged changeset is in
283 $HG_NODE. Name of tag is in $HG_TAG. Tag is local if
299 $HG_NODE. Name of tag is in $HG_TAG. Tag is local if
284 $HG_LOCAL=1, in repo if $HG_LOCAL=0.
300 $HG_LOCAL=1, in repo if $HG_LOCAL=0.
285 update;;
301 update;;
286 Run after updating the working directory. Changeset ID of first
302 Run after updating the working directory. Changeset ID of first
287 new parent is in $HG_PARENT1. If merge, ID of second new parent
303 new parent is in $HG_PARENT1. If merge, ID of second new parent
288 is in $HG_PARENT2. If update succeeded, $HG_ERROR=0. If update
304 is in $HG_PARENT2. If update succeeded, $HG_ERROR=0. If update
289 failed (e.g. because conflicts not resolved), $HG_ERROR=1.
305 failed (e.g. because conflicts not resolved), $HG_ERROR=1.
290
306
291 Note: In earlier releases, the names of hook environment variables
307 Note: In earlier releases, the names of hook environment variables
292 did not have a "HG_" prefix. The old unprefixed names are no longer
308 did not have a "HG_" prefix. The old unprefixed names are no longer
293 provided in the environment.
309 provided in the environment.
294
310
295 The syntax for Python hooks is as follows:
311 The syntax for Python hooks is as follows:
296
312
297 hookname = python:modulename.submodule.callable
313 hookname = python:modulename.submodule.callable
298
314
299 Python hooks are run within the Mercurial process. Each hook is
315 Python hooks are run within the Mercurial process. Each hook is
300 called with at least three keyword arguments: a ui object (keyword
316 called with at least three keyword arguments: a ui object (keyword
301 "ui"), a repository object (keyword "repo"), and a "hooktype"
317 "ui"), a repository object (keyword "repo"), and a "hooktype"
302 keyword that tells what kind of hook is used. Arguments listed as
318 keyword that tells what kind of hook is used. Arguments listed as
303 environment variables above are passed as keyword arguments, with no
319 environment variables above are passed as keyword arguments, with no
304 "HG_" prefix, and names in lower case.
320 "HG_" prefix, and names in lower case.
305
321
306 If a Python hook returns a "true" value or raises an exception, this
322 If a Python hook returns a "true" value or raises an exception, this
307 is treated as failure of the hook.
323 is treated as failure of the hook.
308
324
309 http_proxy::
325 http_proxy::
310 Used to access web-based Mercurial repositories through a HTTP
326 Used to access web-based Mercurial repositories through a HTTP
311 proxy.
327 proxy.
312 host;;
328 host;;
313 Host name and (optional) port of the proxy server, for example
329 Host name and (optional) port of the proxy server, for example
314 "myproxy:8000".
330 "myproxy:8000".
315 no;;
331 no;;
316 Optional. Comma-separated list of host names that should bypass
332 Optional. Comma-separated list of host names that should bypass
317 the proxy.
333 the proxy.
318 passwd;;
334 passwd;;
319 Optional. Password to authenticate with at the proxy server.
335 Optional. Password to authenticate with at the proxy server.
320 user;;
336 user;;
321 Optional. User name to authenticate with at the proxy server.
337 Optional. User name to authenticate with at the proxy server.
322
338
323 smtp::
339 smtp::
324 Configuration for extensions that need to send email messages.
340 Configuration for extensions that need to send email messages.
325 host;;
341 host;;
326 Host name of mail server, e.g. "mail.example.com".
342 Host name of mail server, e.g. "mail.example.com".
327 port;;
343 port;;
328 Optional. Port to connect to on mail server. Default: 25.
344 Optional. Port to connect to on mail server. Default: 25.
329 tls;;
345 tls;;
330 Optional. Whether to connect to mail server using TLS. True or
346 Optional. Whether to connect to mail server using TLS. True or
331 False. Default: False.
347 False. Default: False.
332 username;;
348 username;;
333 Optional. User name to authenticate to SMTP server with.
349 Optional. User name to authenticate to SMTP server with.
334 If username is specified, password must also be specified.
350 If username is specified, password must also be specified.
335 Default: none.
351 Default: none.
336 password;;
352 password;;
337 Optional. Password to authenticate to SMTP server with.
353 Optional. Password to authenticate to SMTP server with.
338 If username is specified, password must also be specified.
354 If username is specified, password must also be specified.
339 Default: none.
355 Default: none.
340 local_hostname;;
356 local_hostname;;
341 Optional. It's the hostname that the sender can use to identify itself
357 Optional. It's the hostname that the sender can use to identify itself
342 to the MTA.
358 to the MTA.
343
359
344 paths::
360 paths::
345 Assigns symbolic names to repositories. The left side is the
361 Assigns symbolic names to repositories. The left side is the
346 symbolic name, and the right gives the directory or URL that is the
362 symbolic name, and the right gives the directory or URL that is the
347 location of the repository. Default paths can be declared by
363 location of the repository. Default paths can be declared by
348 setting the following entries.
364 setting the following entries.
349 default;;
365 default;;
350 Directory or URL to use when pulling if no source is specified.
366 Directory or URL to use when pulling if no source is specified.
351 Default is set to repository from which the current repository
367 Default is set to repository from which the current repository
352 was cloned.
368 was cloned.
353 default-push;;
369 default-push;;
354 Optional. Directory or URL to use when pushing if no destination
370 Optional. Directory or URL to use when pushing if no destination
355 is specified.
371 is specified.
356
372
357 server::
373 server::
358 Controls generic server settings.
374 Controls generic server settings.
359 uncompressed;;
375 uncompressed;;
360 Whether to allow clients to clone a repo using the uncompressed
376 Whether to allow clients to clone a repo using the uncompressed
361 streaming protocol. This transfers about 40% more data than a
377 streaming protocol. This transfers about 40% more data than a
362 regular clone, but uses less memory and CPU on both server and
378 regular clone, but uses less memory and CPU on both server and
363 client. Over a LAN (100Mbps or better) or a very fast WAN, an
379 client. Over a LAN (100Mbps or better) or a very fast WAN, an
364 uncompressed streaming clone is a lot faster (~10x) than a regular
380 uncompressed streaming clone is a lot faster (~10x) than a regular
365 clone. Over most WAN connections (anything slower than about
381 clone. Over most WAN connections (anything slower than about
366 6Mbps), uncompressed streaming is slower, because of the extra
382 6Mbps), uncompressed streaming is slower, because of the extra
367 data transfer overhead. Default is False.
383 data transfer overhead. Default is False.
368
384
369 trusted::
385 trusted::
370 For security reasons, Mercurial will not use the settings in
386 For security reasons, Mercurial will not use the settings in
371 the .hg/hgrc file from a repository if it doesn't belong to a
387 the .hg/hgrc file from a repository if it doesn't belong to a
372 trusted user or to a trusted group. The main exception is the
388 trusted user or to a trusted group. The main exception is the
373 web interface, which automatically uses some safe settings, since
389 web interface, which automatically uses some safe settings, since
374 it's common to serve repositories from different users.
390 it's common to serve repositories from different users.
375
391
376 This section specifies what users and groups are trusted. The
392 This section specifies what users and groups are trusted. The
377 current user is always trusted. To trust everybody, list a user
393 current user is always trusted. To trust everybody, list a user
378 or a group with name "*".
394 or a group with name "*".
379
395
380 users;;
396 users;;
381 Comma-separated list of trusted users.
397 Comma-separated list of trusted users.
382 groups;;
398 groups;;
383 Comma-separated list of trusted groups.
399 Comma-separated list of trusted groups.
384
400
385 ui::
401 ui::
386 User interface controls.
402 User interface controls.
387 debug;;
403 debug;;
388 Print debugging information. True or False. Default is False.
404 Print debugging information. True or False. Default is False.
389 editor;;
405 editor;;
390 The editor to use during a commit. Default is $EDITOR or "vi".
406 The editor to use during a commit. Default is $EDITOR or "vi".
391 fallbackencoding;;
407 fallbackencoding;;
392 Encoding to try if it's not possible to decode the changelog using
408 Encoding to try if it's not possible to decode the changelog using
393 UTF-8. Default is ISO-8859-1.
409 UTF-8. Default is ISO-8859-1.
394 ignore;;
410 ignore;;
395 A file to read per-user ignore patterns from. This file should be in
411 A file to read per-user ignore patterns from. This file should be in
396 the same format as a repository-wide .hgignore file. This option
412 the same format as a repository-wide .hgignore file. This option
397 supports hook syntax, so if you want to specify multiple ignore
413 supports hook syntax, so if you want to specify multiple ignore
398 files, you can do so by setting something like
414 files, you can do so by setting something like
399 "ignore.other = ~/.hgignore2". For details of the ignore file
415 "ignore.other = ~/.hgignore2". For details of the ignore file
400 format, see the hgignore(5) man page.
416 format, see the hgignore(5) man page.
401 interactive;;
417 interactive;;
402 Allow to prompt the user. True or False. Default is True.
418 Allow to prompt the user. True or False. Default is True.
403 logtemplate;;
419 logtemplate;;
404 Template string for commands that print changesets.
420 Template string for commands that print changesets.
405 style;;
421 style;;
406 Name of style to use for command output.
422 Name of style to use for command output.
407 merge;;
423 merge;;
408 The conflict resolution program to use during a manual merge.
424 The conflict resolution program to use during a manual merge.
409 Default is "hgmerge".
425 Default is "hgmerge".
410 quiet;;
426 quiet;;
411 Reduce the amount of output printed. True or False. Default is False.
427 Reduce the amount of output printed. True or False. Default is False.
412 remotecmd;;
428 remotecmd;;
413 remote command to use for clone/push/pull operations. Default is 'hg'.
429 remote command to use for clone/push/pull operations. Default is 'hg'.
414 ssh;;
430 ssh;;
415 command to use for SSH connections. Default is 'ssh'.
431 command to use for SSH connections. Default is 'ssh'.
416 strict;;
432 strict;;
417 Require exact command names, instead of allowing unambiguous
433 Require exact command names, instead of allowing unambiguous
418 abbreviations. True or False. Default is False.
434 abbreviations. True or False. Default is False.
419 timeout;;
435 timeout;;
420 The timeout used when a lock is held (in seconds), a negative value
436 The timeout used when a lock is held (in seconds), a negative value
421 means no timeout. Default is 600.
437 means no timeout. Default is 600.
422 username;;
438 username;;
423 The committer of a changeset created when running "commit".
439 The committer of a changeset created when running "commit".
424 Typically a person's name and email address, e.g. "Fred Widget
440 Typically a person's name and email address, e.g. "Fred Widget
425 <fred@example.com>". Default is $EMAIL or username@hostname.
441 <fred@example.com>". Default is $EMAIL or username@hostname.
426 verbose;;
442 verbose;;
427 Increase the amount of output printed. True or False. Default is False.
443 Increase the amount of output printed. True or False. Default is False.
428
444
429
445
430 web::
446 web::
431 Web interface configuration.
447 Web interface configuration.
432 accesslog;;
448 accesslog;;
433 Where to output the access log. Default is stdout.
449 Where to output the access log. Default is stdout.
434 address;;
450 address;;
435 Interface address to bind to. Default is all.
451 Interface address to bind to. Default is all.
436 allow_archive;;
452 allow_archive;;
437 List of archive format (bz2, gz, zip) allowed for downloading.
453 List of archive format (bz2, gz, zip) allowed for downloading.
438 Default is empty.
454 Default is empty.
439 allowbz2;;
455 allowbz2;;
440 (DEPRECATED) Whether to allow .tar.bz2 downloading of repo revisions.
456 (DEPRECATED) Whether to allow .tar.bz2 downloading of repo revisions.
441 Default is false.
457 Default is false.
442 allowgz;;
458 allowgz;;
443 (DEPRECATED) Whether to allow .tar.gz downloading of repo revisions.
459 (DEPRECATED) Whether to allow .tar.gz downloading of repo revisions.
444 Default is false.
460 Default is false.
445 allowpull;;
461 allowpull;;
446 Whether to allow pulling from the repository. Default is true.
462 Whether to allow pulling from the repository. Default is true.
447 allow_push;;
463 allow_push;;
448 Whether to allow pushing to the repository. If empty or not set,
464 Whether to allow pushing to the repository. If empty or not set,
449 push is not allowed. If the special value "*", any remote user
465 push is not allowed. If the special value "*", any remote user
450 can push, including unauthenticated users. Otherwise, the remote
466 can push, including unauthenticated users. Otherwise, the remote
451 user must have been authenticated, and the authenticated user name
467 user must have been authenticated, and the authenticated user name
452 must be present in this list (separated by whitespace or ",").
468 must be present in this list (separated by whitespace or ",").
453 The contents of the allow_push list are examined after the
469 The contents of the allow_push list are examined after the
454 deny_push list.
470 deny_push list.
455 allowzip;;
471 allowzip;;
456 (DEPRECATED) Whether to allow .zip downloading of repo revisions.
472 (DEPRECATED) Whether to allow .zip downloading of repo revisions.
457 Default is false. This feature creates temporary files.
473 Default is false. This feature creates temporary files.
458 baseurl;;
474 baseurl;;
459 Base URL to use when publishing URLs in other locations, so
475 Base URL to use when publishing URLs in other locations, so
460 third-party tools like email notification hooks can construct URLs.
476 third-party tools like email notification hooks can construct URLs.
461 Example: "http://hgserver/repos/"
477 Example: "http://hgserver/repos/"
462 contact;;
478 contact;;
463 Name or email address of the person in charge of the repository.
479 Name or email address of the person in charge of the repository.
464 Default is "unknown".
480 Default is "unknown".
465 deny_push;;
481 deny_push;;
466 Whether to deny pushing to the repository. If empty or not set,
482 Whether to deny pushing to the repository. If empty or not set,
467 push is not denied. If the special value "*", all remote users
483 push is not denied. If the special value "*", all remote users
468 are denied push. Otherwise, unauthenticated users are all denied,
484 are denied push. Otherwise, unauthenticated users are all denied,
469 and any authenticated user name present in this list (separated by
485 and any authenticated user name present in this list (separated by
470 whitespace or ",") is also denied. The contents of the deny_push
486 whitespace or ",") is also denied. The contents of the deny_push
471 list are examined before the allow_push list.
487 list are examined before the allow_push list.
472 description;;
488 description;;
473 Textual description of the repository's purpose or contents.
489 Textual description of the repository's purpose or contents.
474 Default is "unknown".
490 Default is "unknown".
475 errorlog;;
491 errorlog;;
476 Where to output the error log. Default is stderr.
492 Where to output the error log. Default is stderr.
477 ipv6;;
493 ipv6;;
478 Whether to use IPv6. Default is false.
494 Whether to use IPv6. Default is false.
479 name;;
495 name;;
480 Repository name to use in the web interface. Default is current
496 Repository name to use in the web interface. Default is current
481 working directory.
497 working directory.
482 maxchanges;;
498 maxchanges;;
483 Maximum number of changes to list on the changelog. Default is 10.
499 Maximum number of changes to list on the changelog. Default is 10.
484 maxfiles;;
500 maxfiles;;
485 Maximum number of files to list per changeset. Default is 10.
501 Maximum number of files to list per changeset. Default is 10.
486 port;;
502 port;;
487 Port to listen on. Default is 8000.
503 Port to listen on. Default is 8000.
488 push_ssl;;
504 push_ssl;;
489 Whether to require that inbound pushes be transported over SSL to
505 Whether to require that inbound pushes be transported over SSL to
490 prevent password sniffing. Default is true.
506 prevent password sniffing. Default is true.
491 stripes;;
507 stripes;;
492 How many lines a "zebra stripe" should span in multiline output.
508 How many lines a "zebra stripe" should span in multiline output.
493 Default is 1; set to 0 to disable.
509 Default is 1; set to 0 to disable.
494 style;;
510 style;;
495 Which template map style to use.
511 Which template map style to use.
496 templates;;
512 templates;;
497 Where to find the HTML templates. Default is install path.
513 Where to find the HTML templates. Default is install path.
498
514
499
515
500 AUTHOR
516 AUTHOR
501 ------
517 ------
502 Bryan O'Sullivan <bos@serpentine.com>.
518 Bryan O'Sullivan <bos@serpentine.com>.
503
519
504 Mercurial was written by Matt Mackall <mpm@selenic.com>.
520 Mercurial was written by Matt Mackall <mpm@selenic.com>.
505
521
506 SEE ALSO
522 SEE ALSO
507 --------
523 --------
508 hg(1), hgignore(5)
524 hg(1), hgignore(5)
509
525
510 COPYING
526 COPYING
511 -------
527 -------
512 This manual page is copyright 2005 Bryan O'Sullivan.
528 This manual page is copyright 2005 Bryan O'Sullivan.
513 Mercurial is copyright 2005, 2006 Matt Mackall.
529 Mercurial is copyright 2005, 2006 Matt Mackall.
514 Free use of this software is granted under the terms of the GNU General
530 Free use of this software is granted under the terms of the GNU General
515 Public License (GPL).
531 Public License (GPL).
General Comments 0
You need to be logged in to leave comments. Login now