##// END OF EJS Templates
Document config option format.usefncache and improve format.usestore docs.
Thomas Arendsen Hein -
r7235:7488a1f1 default
parent child Browse files
Show More
@@ -1,734 +1,743 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. *.rc files from a single directory are read in
20 installed. *.rc files from a single directory are read in
21 alphabetical order, later ones overriding earlier ones. Where
21 alphabetical order, later ones overriding earlier ones. Where
22 multiple paths are given below, settings from later paths override
22 multiple paths are given below, settings from later paths override
23 earlier ones.
23 earlier ones.
24
24
25 (Unix) <install-root>/etc/mercurial/hgrc.d/*.rc::
25 (Unix) <install-root>/etc/mercurial/hgrc.d/*.rc::
26 (Unix) <install-root>/etc/mercurial/hgrc::
26 (Unix) <install-root>/etc/mercurial/hgrc::
27 Per-installation configuration files, searched for in the
27 Per-installation configuration files, searched for in the
28 directory where Mercurial is installed. <install-root> is the
28 directory where Mercurial is installed. <install-root> is the
29 parent directory of the hg executable (or symlink) being run.
29 parent directory of the hg executable (or symlink) being run.
30 For example, if installed in /shared/tools/bin/hg, Mercurial will
30 For example, if installed in /shared/tools/bin/hg, Mercurial will
31 look in /shared/tools/etc/mercurial/hgrc. Options in these files
31 look in /shared/tools/etc/mercurial/hgrc. Options in these files
32 apply to all Mercurial commands executed by any user in any
32 apply to all Mercurial commands executed by any user in any
33 directory.
33 directory.
34
34
35 (Unix) /etc/mercurial/hgrc.d/*.rc::
35 (Unix) /etc/mercurial/hgrc.d/*.rc::
36 (Unix) /etc/mercurial/hgrc::
36 (Unix) /etc/mercurial/hgrc::
37 Per-system configuration files, for the system on which Mercurial
37 Per-system configuration files, for the system on which Mercurial
38 is running. Options in these files apply to all Mercurial
38 is running. Options in these files apply to all Mercurial
39 commands executed by any user in any directory. Options in these
39 commands executed by any user in any directory. Options in these
40 files override per-installation options.
40 files override per-installation options.
41
41
42 (Windows) <install-dir>\Mercurial.ini::
42 (Windows) <install-dir>\Mercurial.ini::
43 or else::
43 or else::
44 (Windows) HKEY_LOCAL_MACHINE\SOFTWARE\Mercurial::
44 (Windows) HKEY_LOCAL_MACHINE\SOFTWARE\Mercurial::
45 or else::
45 or else::
46 (Windows) C:\Mercurial\Mercurial.ini::
46 (Windows) C:\Mercurial\Mercurial.ini::
47 Per-installation/system configuration files, for the system on
47 Per-installation/system configuration files, for the system on
48 which Mercurial is running. Options in these files apply to all
48 which Mercurial is running. Options in these files apply to all
49 Mercurial commands executed by any user in any directory.
49 Mercurial commands executed by any user in any directory.
50 Registry keys contain PATH-like strings, every part of which must
50 Registry keys contain PATH-like strings, every part of which must
51 reference a Mercurial.ini file or be a directory where *.rc files
51 reference a Mercurial.ini file or be a directory where *.rc files
52 will be read.
52 will be read.
53
53
54 (Unix) $HOME/.hgrc::
54 (Unix) $HOME/.hgrc::
55 (Windows) %HOME%\Mercurial.ini::
55 (Windows) %HOME%\Mercurial.ini::
56 (Windows) %HOME%\.hgrc::
56 (Windows) %HOME%\.hgrc::
57 (Windows) %USERPROFILE%\Mercurial.ini::
57 (Windows) %USERPROFILE%\Mercurial.ini::
58 (Windows) %USERPROFILE%\.hgrc::
58 (Windows) %USERPROFILE%\.hgrc::
59 Per-user configuration file(s), for the user running Mercurial.
59 Per-user configuration file(s), for the user running Mercurial.
60 On Windows 9x, %HOME% is replaced by %APPDATA%.
60 On Windows 9x, %HOME% is replaced by %APPDATA%.
61 Options in these files apply to all Mercurial commands executed
61 Options in these files apply to all Mercurial commands executed
62 by this user in any directory. Options in thes files override
62 by this user in any directory. Options in thes files override
63 per-installation and per-system options.
63 per-installation and per-system options.
64
64
65 (Unix, Windows) <repo>/.hg/hgrc::
65 (Unix, Windows) <repo>/.hg/hgrc::
66 Per-repository configuration options that only apply in a
66 Per-repository configuration options that only apply in a
67 particular repository. This file is not version-controlled, and
67 particular repository. This file is not version-controlled, and
68 will not get transferred during a "clone" operation. Options in
68 will not get transferred during a "clone" operation. Options in
69 this file override options in all other configuration files.
69 this file override options in all other configuration files.
70 On Unix, most of this file will be ignored if it doesn't belong
70 On Unix, most of this file will be ignored if it doesn't belong
71 to a trusted user or to a trusted group. See the documentation
71 to a trusted user or to a trusted group. See the documentation
72 for the trusted section below for more details.
72 for the trusted section below for more details.
73
73
74 SYNTAX
74 SYNTAX
75 ------
75 ------
76
76
77 A configuration file consists of sections, led by a "[section]" header
77 A configuration file consists of sections, led by a "[section]" header
78 and followed by "name: value" entries; "name=value" is also accepted.
78 and followed by "name: value" entries; "name=value" is also accepted.
79
79
80 [spam]
80 [spam]
81 eggs=ham
81 eggs=ham
82 green=
82 green=
83 eggs
83 eggs
84
84
85 Each line contains one entry. If the lines that follow are indented,
85 Each line contains one entry. If the lines that follow are indented,
86 they are treated as continuations of that entry.
86 they are treated as continuations of that entry.
87
87
88 Leading whitespace is removed from values. Empty lines are skipped.
88 Leading whitespace is removed from values. Empty lines are skipped.
89
89
90 The optional values can contain format strings which refer to other
90 The optional values can contain format strings which refer to other
91 values in the same section, or values in a special DEFAULT section.
91 values in the same section, or values in a special DEFAULT section.
92
92
93 Lines beginning with "#" or ";" are ignored and may be used to provide
93 Lines beginning with "#" or ";" are ignored and may be used to provide
94 comments.
94 comments.
95
95
96 SECTIONS
96 SECTIONS
97 --------
97 --------
98
98
99 This section describes the different sections that may appear in a
99 This section describes the different sections that may appear in a
100 Mercurial "hgrc" file, the purpose of each section, its possible
100 Mercurial "hgrc" file, the purpose of each section, its possible
101 keys, and their possible values.
101 keys, and their possible values.
102
102
103 [[decode]]
103 [[decode]]
104 decode/encode::
104 decode/encode::
105 Filters for transforming files on checkout/checkin. This would
105 Filters for transforming files on checkout/checkin. This would
106 typically be used for newline processing or other
106 typically be used for newline processing or other
107 localization/canonicalization of files.
107 localization/canonicalization of files.
108
108
109 Filters consist of a filter pattern followed by a filter command.
109 Filters consist of a filter pattern followed by a filter command.
110 Filter patterns are globs by default, rooted at the repository
110 Filter patterns are globs by default, rooted at the repository
111 root. For example, to match any file ending in ".txt" in the root
111 root. For example, to match any file ending in ".txt" in the root
112 directory only, use the pattern "*.txt". To match any file ending
112 directory only, use the pattern "*.txt". To match any file ending
113 in ".c" anywhere in the repository, use the pattern "**.c".
113 in ".c" anywhere in the repository, use the pattern "**.c".
114
114
115 The filter command can start with a specifier, either "pipe:" or
115 The filter command can start with a specifier, either "pipe:" or
116 "tempfile:". If no specifier is given, "pipe:" is used by default.
116 "tempfile:". If no specifier is given, "pipe:" is used by default.
117
117
118 A "pipe:" command must accept data on stdin and return the
118 A "pipe:" command must accept data on stdin and return the
119 transformed data on stdout.
119 transformed data on stdout.
120
120
121 Pipe example:
121 Pipe example:
122
122
123 [encode]
123 [encode]
124 # uncompress gzip files on checkin to improve delta compression
124 # uncompress gzip files on checkin to improve delta compression
125 # note: not necessarily a good idea, just an example
125 # note: not necessarily a good idea, just an example
126 *.gz = pipe: gunzip
126 *.gz = pipe: gunzip
127
127
128 [decode]
128 [decode]
129 # recompress gzip files when writing them to the working dir (we
129 # recompress gzip files when writing them to the working dir (we
130 # can safely omit "pipe:", because it's the default)
130 # can safely omit "pipe:", because it's the default)
131 *.gz = gzip
131 *.gz = gzip
132
132
133 A "tempfile:" command is a template. The string INFILE is replaced
133 A "tempfile:" command is a template. The string INFILE is replaced
134 with the name of a temporary file that contains the data to be
134 with the name of a temporary file that contains the data to be
135 filtered by the command. The string OUTFILE is replaced with the
135 filtered by the command. The string OUTFILE is replaced with the
136 name of an empty temporary file, where the filtered data must be
136 name of an empty temporary file, where the filtered data must be
137 written by the command.
137 written by the command.
138
138
139 NOTE: the tempfile mechanism is recommended for Windows systems,
139 NOTE: the tempfile mechanism is recommended for Windows systems,
140 where the standard shell I/O redirection operators often have
140 where the standard shell I/O redirection operators often have
141 strange effects and may corrupt the contents of your files.
141 strange effects and may corrupt the contents of your files.
142
142
143 The most common usage is for LF <-> CRLF translation on Windows.
143 The most common usage is for LF <-> CRLF translation on Windows.
144 For this, use the "smart" convertors which check for binary files:
144 For this, use the "smart" convertors which check for binary files:
145
145
146 [extensions]
146 [extensions]
147 hgext.win32text =
147 hgext.win32text =
148 [encode]
148 [encode]
149 ** = cleverencode:
149 ** = cleverencode:
150 [decode]
150 [decode]
151 ** = cleverdecode:
151 ** = cleverdecode:
152
152
153 or if you only want to translate certain files:
153 or if you only want to translate certain files:
154
154
155 [extensions]
155 [extensions]
156 hgext.win32text =
156 hgext.win32text =
157 [encode]
157 [encode]
158 **.txt = dumbencode:
158 **.txt = dumbencode:
159 [decode]
159 [decode]
160 **.txt = dumbdecode:
160 **.txt = dumbdecode:
161
161
162 [[defaults]]
162 [[defaults]]
163 defaults::
163 defaults::
164 Use the [defaults] section to define command defaults, i.e. the
164 Use the [defaults] section to define command defaults, i.e. the
165 default options/arguments to pass to the specified commands.
165 default options/arguments to pass to the specified commands.
166
166
167 The following example makes 'hg log' run in verbose mode, and
167 The following example makes 'hg log' run in verbose mode, and
168 'hg status' show only the modified files, by default.
168 'hg status' show only the modified files, by default.
169
169
170 [defaults]
170 [defaults]
171 log = -v
171 log = -v
172 status = -m
172 status = -m
173
173
174 The actual commands, instead of their aliases, must be used when
174 The actual commands, instead of their aliases, must be used when
175 defining command defaults. The command defaults will also be
175 defining command defaults. The command defaults will also be
176 applied to the aliases of the commands defined.
176 applied to the aliases of the commands defined.
177
177
178 [[diff]]
178 [[diff]]
179 diff::
179 diff::
180 Settings used when displaying diffs. They are all boolean and
180 Settings used when displaying diffs. They are all boolean and
181 defaults to False.
181 defaults to False.
182 git;;
182 git;;
183 Use git extended diff format.
183 Use git extended diff format.
184 nodates;;
184 nodates;;
185 Don't include dates in diff headers.
185 Don't include dates in diff headers.
186 showfunc;;
186 showfunc;;
187 Show which function each change is in.
187 Show which function each change is in.
188 ignorews;;
188 ignorews;;
189 Ignore white space when comparing lines.
189 Ignore white space when comparing lines.
190 ignorewsamount;;
190 ignorewsamount;;
191 Ignore changes in the amount of white space.
191 Ignore changes in the amount of white space.
192 ignoreblanklines;;
192 ignoreblanklines;;
193 Ignore changes whose lines are all blank.
193 Ignore changes whose lines are all blank.
194
194
195 [[email]]
195 [[email]]
196 email::
196 email::
197 Settings for extensions that send email messages.
197 Settings for extensions that send email messages.
198 from;;
198 from;;
199 Optional. Email address to use in "From" header and SMTP envelope
199 Optional. Email address to use in "From" header and SMTP envelope
200 of outgoing messages.
200 of outgoing messages.
201 to;;
201 to;;
202 Optional. Comma-separated list of recipients' email addresses.
202 Optional. Comma-separated list of recipients' email addresses.
203 cc;;
203 cc;;
204 Optional. Comma-separated list of carbon copy recipients'
204 Optional. Comma-separated list of carbon copy recipients'
205 email addresses.
205 email addresses.
206 bcc;;
206 bcc;;
207 Optional. Comma-separated list of blind carbon copy
207 Optional. Comma-separated list of blind carbon copy
208 recipients' email addresses. Cannot be set interactively.
208 recipients' email addresses. Cannot be set interactively.
209 method;;
209 method;;
210 Optional. Method to use to send email messages. If value is
210 Optional. Method to use to send email messages. If value is
211 "smtp" (default), use SMTP (see section "[smtp]" for
211 "smtp" (default), use SMTP (see section "[smtp]" for
212 configuration). Otherwise, use as name of program to run that
212 configuration). Otherwise, use as name of program to run that
213 acts like sendmail (takes "-f" option for sender, list of
213 acts like sendmail (takes "-f" option for sender, list of
214 recipients on command line, message on stdin). Normally, setting
214 recipients on command line, message on stdin). Normally, setting
215 this to "sendmail" or "/usr/sbin/sendmail" is enough to use
215 this to "sendmail" or "/usr/sbin/sendmail" is enough to use
216 sendmail to send messages.
216 sendmail to send messages.
217 charsets;;
217 charsets;;
218 Optional. Comma-separated list of charsets considered
218 Optional. Comma-separated list of charsets considered
219 convenient for recipients. Addresses, headers, and parts not
219 convenient for recipients. Addresses, headers, and parts not
220 containing patches of outgoing messages will be encoded in
220 containing patches of outgoing messages will be encoded in
221 the first charset to which conversion from local encoding
221 the first charset to which conversion from local encoding
222 (ui.encoding, ui.fallbackencoding) succeeds. If correct
222 (ui.encoding, ui.fallbackencoding) succeeds. If correct
223 conversion, including to ui.encoding, fails, the text in
223 conversion, including to ui.encoding, fails, the text in
224 question is sent as is in fake ascii. Defaults to empty list.
224 question is sent as is in fake ascii. Defaults to empty list.
225
225
226 Email example:
226 Email example:
227
227
228 [email]
228 [email]
229 from = Joseph User <joe.user@example.com>
229 from = Joseph User <joe.user@example.com>
230 method = /usr/sbin/sendmail
230 method = /usr/sbin/sendmail
231 # charsets for western europeans
231 # charsets for western europeans
232 # us-ascii, utf-8 omitted, as they are tried first and last
232 # us-ascii, utf-8 omitted, as they are tried first and last
233 charsets = iso-8859-1, iso-8859-15, windows-1252
233 charsets = iso-8859-1, iso-8859-15, windows-1252
234
234
235 [[extensions]]
235 [[extensions]]
236 extensions::
236 extensions::
237 Mercurial has an extension mechanism for adding new features. To
237 Mercurial has an extension mechanism for adding new features. To
238 enable an extension, create an entry for it in this section.
238 enable an extension, create an entry for it in this section.
239
239
240 If you know that the extension is already in Python's search path,
240 If you know that the extension is already in Python's search path,
241 you can give the name of the module, followed by "=", with nothing
241 you can give the name of the module, followed by "=", with nothing
242 after the "=".
242 after the "=".
243
243
244 Otherwise, give a name that you choose, followed by "=", followed by
244 Otherwise, give a name that you choose, followed by "=", followed by
245 the path to the ".py" file (including the file name extension) that
245 the path to the ".py" file (including the file name extension) that
246 defines the extension.
246 defines the extension.
247
247
248 To explicitly disable an extension that is enabled in an hgrc of
248 To explicitly disable an extension that is enabled in an hgrc of
249 broader scope, prepend its path with '!', as in
249 broader scope, prepend its path with '!', as in
250 'hgext.foo = !/ext/path' or 'hgext.foo = !' when no path is supplied.
250 'hgext.foo = !/ext/path' or 'hgext.foo = !' when no path is supplied.
251
251
252 Example for ~/.hgrc:
252 Example for ~/.hgrc:
253
253
254 [extensions]
254 [extensions]
255 # (the mq extension will get loaded from mercurial's path)
255 # (the mq extension will get loaded from mercurial's path)
256 hgext.mq =
256 hgext.mq =
257 # (this extension will get loaded from the file specified)
257 # (this extension will get loaded from the file specified)
258 myfeature = ~/.hgext/myfeature.py
258 myfeature = ~/.hgext/myfeature.py
259
259
260 [[format]]
260 [[format]]
261 format::
261 format::
262
262
263 usestore;;
263 usestore;;
264 Enable or disable the "store" repository format which improves
264 Enable or disable the "store" repository format which improves
265 compatibility with systems that fold case or otherwise mangle
265 compatibility with systems that fold case or otherwise mangle
266 filenames. Enabled by default. Disabling this option will allow
266 filenames. Enabled by default. Disabling this option will allow
267 you to store longer filenames in some situations at the expense of
267 you to store longer filenames in some situations at the expense of
268 compatibility.
268 compatibility and ensures that the on-disk format of newly created
269 repositories will be compatible with Mercurial before version 0.9.4.
270
271 usefncache;;
272 Enable or disable the "fncache" repository format which enhances
273 the "store" repository format (which has to be enabled to use
274 fncache) to allow longer filenames and avoids using Windows reserved
275 names, e.g. "nul". Enabled by default. Disabling this option ensures
276 that the on-disk format of newly created repositories will be
277 compatible with Mercurial before version 1.1.
269
278
270 [[merge-patterns]]
279 [[merge-patterns]]
271 merge-patterns::
280 merge-patterns::
272 This section specifies merge tools to associate with particular file
281 This section specifies merge tools to associate with particular file
273 patterns. Tools matched here will take precedence over the default
282 patterns. Tools matched here will take precedence over the default
274 merge tool. Patterns are globs by default, rooted at the repository root.
283 merge tool. Patterns are globs by default, rooted at the repository root.
275
284
276 Example:
285 Example:
277
286
278 [merge-patterns]
287 [merge-patterns]
279 **.c = kdiff3
288 **.c = kdiff3
280 **.jpg = myimgmerge
289 **.jpg = myimgmerge
281
290
282 [[merge-tools]]
291 [[merge-tools]]
283 merge-tools::
292 merge-tools::
284 This section configures external merge tools to use for file-level
293 This section configures external merge tools to use for file-level
285 merges.
294 merges.
286
295
287 Example ~/.hgrc:
296 Example ~/.hgrc:
288
297
289 [merge-tools]
298 [merge-tools]
290 # Override stock tool location
299 # Override stock tool location
291 kdiff3.executable = ~/bin/kdiff3
300 kdiff3.executable = ~/bin/kdiff3
292 # Specify command line
301 # Specify command line
293 kdiff3.args = $base $local $other -o $output
302 kdiff3.args = $base $local $other -o $output
294 # Give higher priority
303 # Give higher priority
295 kdiff3.priority = 1
304 kdiff3.priority = 1
296
305
297 # Define new tool
306 # Define new tool
298 myHtmlTool.args = -m $local $other $base $output
307 myHtmlTool.args = -m $local $other $base $output
299 myHtmlTool.regkey = Software\FooSoftware\HtmlMerge
308 myHtmlTool.regkey = Software\FooSoftware\HtmlMerge
300 myHtmlTool.priority = 1
309 myHtmlTool.priority = 1
301
310
302 Supported arguments:
311 Supported arguments:
303
312
304 priority;;
313 priority;;
305 The priority in which to evaluate this tool.
314 The priority in which to evaluate this tool.
306 Default: 0.
315 Default: 0.
307 executable;;
316 executable;;
308 Either just the name of the executable or its pathname.
317 Either just the name of the executable or its pathname.
309 Default: the tool name.
318 Default: the tool name.
310 args;;
319 args;;
311 The arguments to pass to the tool executable. You can refer to the files
320 The arguments to pass to the tool executable. You can refer to the files
312 being merged as well as the output file through these variables: $base,
321 being merged as well as the output file through these variables: $base,
313 $local, $other, $output.
322 $local, $other, $output.
314 Default: $local $base $other
323 Default: $local $base $other
315 premerge;;
324 premerge;;
316 Attempt to run internal non-interactive 3-way merge tool before
325 Attempt to run internal non-interactive 3-way merge tool before
317 launching external tool.
326 launching external tool.
318 Default: True
327 Default: True
319 binary;;
328 binary;;
320 This tool can merge binary files. Defaults to False, unless tool
329 This tool can merge binary files. Defaults to False, unless tool
321 was selected by file pattern match.
330 was selected by file pattern match.
322 symlink;;
331 symlink;;
323 This tool can merge symlinks. Defaults to False, even if tool was
332 This tool can merge symlinks. Defaults to False, even if tool was
324 selected by file pattern match.
333 selected by file pattern match.
325 checkconflicts;;
334 checkconflicts;;
326 Check whether there are conflicts even though the tool reported
335 Check whether there are conflicts even though the tool reported
327 success.
336 success.
328 Default: False
337 Default: False
329 checkchanged;;
338 checkchanged;;
330 Check whether outputs were written even though the tool reported
339 Check whether outputs were written even though the tool reported
331 success.
340 success.
332 Default: False
341 Default: False
333 fixeol;;
342 fixeol;;
334 Attempt to fix up EOL changes caused by the merge tool.
343 Attempt to fix up EOL changes caused by the merge tool.
335 Default: False
344 Default: False
336 gui;;
345 gui;;
337 This tool requires a graphical interface to run. Default: False
346 This tool requires a graphical interface to run. Default: False
338 regkey;;
347 regkey;;
339 Windows registry key which describes install location of this tool.
348 Windows registry key which describes install location of this tool.
340 Mercurial will search for this key first under HKEY_CURRENT_USER and
349 Mercurial will search for this key first under HKEY_CURRENT_USER and
341 then under HKEY_LOCAL_MACHINE. Default: None
350 then under HKEY_LOCAL_MACHINE. Default: None
342 regname;;
351 regname;;
343 Name of value to read from specified registry key. Defaults to the
352 Name of value to read from specified registry key. Defaults to the
344 unnamed (default) value.
353 unnamed (default) value.
345 regappend;;
354 regappend;;
346 String to append to the value read from the registry, typically the
355 String to append to the value read from the registry, typically the
347 executable name of the tool. Default: None
356 executable name of the tool. Default: None
348
357
349 [[hooks]]
358 [[hooks]]
350 hooks::
359 hooks::
351 Commands or Python functions that get automatically executed by
360 Commands or Python functions that get automatically executed by
352 various actions such as starting or finishing a commit. Multiple
361 various actions such as starting or finishing a commit. Multiple
353 hooks can be run for the same action by appending a suffix to the
362 hooks can be run for the same action by appending a suffix to the
354 action. Overriding a site-wide hook can be done by changing its
363 action. Overriding a site-wide hook can be done by changing its
355 value or setting it to an empty string.
364 value or setting it to an empty string.
356
365
357 Example .hg/hgrc:
366 Example .hg/hgrc:
358
367
359 [hooks]
368 [hooks]
360 # do not use the site-wide hook
369 # do not use the site-wide hook
361 incoming =
370 incoming =
362 incoming.email = /my/email/hook
371 incoming.email = /my/email/hook
363 incoming.autobuild = /my/build/hook
372 incoming.autobuild = /my/build/hook
364
373
365 Most hooks are run with environment variables set that give added
374 Most hooks are run with environment variables set that give added
366 useful information. For each hook below, the environment variables
375 useful information. For each hook below, the environment variables
367 it is passed are listed with names of the form "$HG_foo".
376 it is passed are listed with names of the form "$HG_foo".
368
377
369 changegroup;;
378 changegroup;;
370 Run after a changegroup has been added via push, pull or
379 Run after a changegroup has been added via push, pull or
371 unbundle. ID of the first new changeset is in $HG_NODE. URL from
380 unbundle. ID of the first new changeset is in $HG_NODE. URL from
372 which changes came is in $HG_URL.
381 which changes came is in $HG_URL.
373 commit;;
382 commit;;
374 Run after a changeset has been created in the local repository.
383 Run after a changeset has been created in the local repository.
375 ID of the newly created changeset is in $HG_NODE. Parent
384 ID of the newly created changeset is in $HG_NODE. Parent
376 changeset IDs are in $HG_PARENT1 and $HG_PARENT2.
385 changeset IDs are in $HG_PARENT1 and $HG_PARENT2.
377 incoming;;
386 incoming;;
378 Run after a changeset has been pulled, pushed, or unbundled into
387 Run after a changeset has been pulled, pushed, or unbundled into
379 the local repository. The ID of the newly arrived changeset is in
388 the local repository. The ID of the newly arrived changeset is in
380 $HG_NODE. URL that was source of changes came is in $HG_URL.
389 $HG_NODE. URL that was source of changes came is in $HG_URL.
381 outgoing;;
390 outgoing;;
382 Run after sending changes from local repository to another. ID of
391 Run after sending changes from local repository to another. ID of
383 first changeset sent is in $HG_NODE. Source of operation is in
392 first changeset sent is in $HG_NODE. Source of operation is in
384 $HG_SOURCE; see "preoutgoing" hook for description.
393 $HG_SOURCE; see "preoutgoing" hook for description.
385 post-<command>;;
394 post-<command>;;
386 Run after successful invocations of the associated command. The
395 Run after successful invocations of the associated command. The
387 contents of the command line are passed as $HG_ARGS and the result
396 contents of the command line are passed as $HG_ARGS and the result
388 code in $HG_RESULT. Hook failure is ignored.
397 code in $HG_RESULT. Hook failure is ignored.
389 pre-<command>;;
398 pre-<command>;;
390 Run before executing the associated command. The contents of the
399 Run before executing the associated command. The contents of the
391 command line are passed as $HG_ARGS. If the hook returns failure,
400 command line are passed as $HG_ARGS. If the hook returns failure,
392 the command doesn't execute and Mercurial returns the failure code.
401 the command doesn't execute and Mercurial returns the failure code.
393 prechangegroup;;
402 prechangegroup;;
394 Run before a changegroup is added via push, pull or unbundle.
403 Run before a changegroup is added via push, pull or unbundle.
395 Exit status 0 allows the changegroup to proceed. Non-zero status
404 Exit status 0 allows the changegroup to proceed. Non-zero status
396 will cause the push, pull or unbundle to fail. URL from which
405 will cause the push, pull or unbundle to fail. URL from which
397 changes will come is in $HG_URL.
406 changes will come is in $HG_URL.
398 precommit;;
407 precommit;;
399 Run before starting a local commit. Exit status 0 allows the
408 Run before starting a local commit. Exit status 0 allows the
400 commit to proceed. Non-zero status will cause the commit to fail.
409 commit to proceed. Non-zero status will cause the commit to fail.
401 Parent changeset IDs are in $HG_PARENT1 and $HG_PARENT2.
410 Parent changeset IDs are in $HG_PARENT1 and $HG_PARENT2.
402 preoutgoing;;
411 preoutgoing;;
403 Run before collecting changes to send from the local repository to
412 Run before collecting changes to send from the local repository to
404 another. Non-zero status will cause failure. This lets you
413 another. Non-zero status will cause failure. This lets you
405 prevent pull over http or ssh. Also prevents against local pull,
414 prevent pull over http or ssh. Also prevents against local pull,
406 push (outbound) or bundle commands, but not effective, since you
415 push (outbound) or bundle commands, but not effective, since you
407 can just copy files instead then. Source of operation is in
416 can just copy files instead then. Source of operation is in
408 $HG_SOURCE. If "serve", operation is happening on behalf of
417 $HG_SOURCE. If "serve", operation is happening on behalf of
409 remote ssh or http repository. If "push", "pull" or "bundle",
418 remote ssh or http repository. If "push", "pull" or "bundle",
410 operation is happening on behalf of repository on same system.
419 operation is happening on behalf of repository on same system.
411 pretag;;
420 pretag;;
412 Run before creating a tag. Exit status 0 allows the tag to be
421 Run before creating a tag. Exit status 0 allows the tag to be
413 created. Non-zero status will cause the tag to fail. ID of
422 created. Non-zero status will cause the tag to fail. ID of
414 changeset to tag is in $HG_NODE. Name of tag is in $HG_TAG. Tag
423 changeset to tag is in $HG_NODE. Name of tag is in $HG_TAG. Tag
415 is local if $HG_LOCAL=1, in repo if $HG_LOCAL=0.
424 is local if $HG_LOCAL=1, in repo if $HG_LOCAL=0.
416 pretxnchangegroup;;
425 pretxnchangegroup;;
417 Run after a changegroup has been added via push, pull or unbundle,
426 Run after a changegroup has been added via push, pull or unbundle,
418 but before the transaction has been committed. Changegroup is
427 but before the transaction has been committed. Changegroup is
419 visible to hook program. This lets you validate incoming changes
428 visible to hook program. This lets you validate incoming changes
420 before accepting them. Passed the ID of the first new changeset
429 before accepting them. Passed the ID of the first new changeset
421 in $HG_NODE. Exit status 0 allows the transaction to commit.
430 in $HG_NODE. Exit status 0 allows the transaction to commit.
422 Non-zero status will cause the transaction to be rolled back and
431 Non-zero status will cause the transaction to be rolled back and
423 the push, pull or unbundle will fail. URL that was source of
432 the push, pull or unbundle will fail. URL that was source of
424 changes is in $HG_URL.
433 changes is in $HG_URL.
425 pretxncommit;;
434 pretxncommit;;
426 Run after a changeset has been created but the transaction not yet
435 Run after a changeset has been created but the transaction not yet
427 committed. Changeset is visible to hook program. This lets you
436 committed. Changeset is visible to hook program. This lets you
428 validate commit message and changes. Exit status 0 allows the
437 validate commit message and changes. Exit status 0 allows the
429 commit to proceed. Non-zero status will cause the transaction to
438 commit to proceed. Non-zero status will cause the transaction to
430 be rolled back. ID of changeset is in $HG_NODE. Parent changeset
439 be rolled back. ID of changeset is in $HG_NODE. Parent changeset
431 IDs are in $HG_PARENT1 and $HG_PARENT2.
440 IDs are in $HG_PARENT1 and $HG_PARENT2.
432 preupdate;;
441 preupdate;;
433 Run before updating the working directory. Exit status 0 allows
442 Run before updating the working directory. Exit status 0 allows
434 the update to proceed. Non-zero status will prevent the update.
443 the update to proceed. Non-zero status will prevent the update.
435 Changeset ID of first new parent is in $HG_PARENT1. If merge, ID
444 Changeset ID of first new parent is in $HG_PARENT1. If merge, ID
436 of second new parent is in $HG_PARENT2.
445 of second new parent is in $HG_PARENT2.
437 tag;;
446 tag;;
438 Run after a tag is created. ID of tagged changeset is in
447 Run after a tag is created. ID of tagged changeset is in
439 $HG_NODE. Name of tag is in $HG_TAG. Tag is local if
448 $HG_NODE. Name of tag is in $HG_TAG. Tag is local if
440 $HG_LOCAL=1, in repo if $HG_LOCAL=0.
449 $HG_LOCAL=1, in repo if $HG_LOCAL=0.
441 update;;
450 update;;
442 Run after updating the working directory. Changeset ID of first
451 Run after updating the working directory. Changeset ID of first
443 new parent is in $HG_PARENT1. If merge, ID of second new parent
452 new parent is in $HG_PARENT1. If merge, ID of second new parent
444 is in $HG_PARENT2. If update succeeded, $HG_ERROR=0. If update
453 is in $HG_PARENT2. If update succeeded, $HG_ERROR=0. If update
445 failed (e.g. because conflicts not resolved), $HG_ERROR=1.
454 failed (e.g. because conflicts not resolved), $HG_ERROR=1.
446
455
447 Note: it is generally better to use standard hooks rather than the
456 Note: it is generally better to use standard hooks rather than the
448 generic pre- and post- command hooks as they are guaranteed to be
457 generic pre- and post- command hooks as they are guaranteed to be
449 called in the appropriate contexts for influencing transactions.
458 called in the appropriate contexts for influencing transactions.
450 Also, hooks like "commit" will be called in all contexts that
459 Also, hooks like "commit" will be called in all contexts that
451 generate a commit (eg. tag) and not just the commit command.
460 generate a commit (eg. tag) and not just the commit command.
452
461
453 Note2: Environment variables with empty values may not be passed to
462 Note2: Environment variables with empty values may not be passed to
454 hooks on platforms like Windows. For instance, $HG_PARENT2 will
463 hooks on platforms like Windows. For instance, $HG_PARENT2 will
455 not be available under Windows for non-merge changesets while being
464 not be available under Windows for non-merge changesets while being
456 set to an empty value under Unix-like systems.
465 set to an empty value under Unix-like systems.
457
466
458 The syntax for Python hooks is as follows:
467 The syntax for Python hooks is as follows:
459
468
460 hookname = python:modulename.submodule.callable
469 hookname = python:modulename.submodule.callable
461
470
462 Python hooks are run within the Mercurial process. Each hook is
471 Python hooks are run within the Mercurial process. Each hook is
463 called with at least three keyword arguments: a ui object (keyword
472 called with at least three keyword arguments: a ui object (keyword
464 "ui"), a repository object (keyword "repo"), and a "hooktype"
473 "ui"), a repository object (keyword "repo"), and a "hooktype"
465 keyword that tells what kind of hook is used. Arguments listed as
474 keyword that tells what kind of hook is used. Arguments listed as
466 environment variables above are passed as keyword arguments, with no
475 environment variables above are passed as keyword arguments, with no
467 "HG_" prefix, and names in lower case.
476 "HG_" prefix, and names in lower case.
468
477
469 If a Python hook returns a "true" value or raises an exception, this
478 If a Python hook returns a "true" value or raises an exception, this
470 is treated as failure of the hook.
479 is treated as failure of the hook.
471
480
472 [[http_proxy]]
481 [[http_proxy]]
473 http_proxy::
482 http_proxy::
474 Used to access web-based Mercurial repositories through a HTTP
483 Used to access web-based Mercurial repositories through a HTTP
475 proxy.
484 proxy.
476 host;;
485 host;;
477 Host name and (optional) port of the proxy server, for example
486 Host name and (optional) port of the proxy server, for example
478 "myproxy:8000".
487 "myproxy:8000".
479 no;;
488 no;;
480 Optional. Comma-separated list of host names that should bypass
489 Optional. Comma-separated list of host names that should bypass
481 the proxy.
490 the proxy.
482 passwd;;
491 passwd;;
483 Optional. Password to authenticate with at the proxy server.
492 Optional. Password to authenticate with at the proxy server.
484 user;;
493 user;;
485 Optional. User name to authenticate with at the proxy server.
494 Optional. User name to authenticate with at the proxy server.
486
495
487 [[smtp]]
496 [[smtp]]
488 smtp::
497 smtp::
489 Configuration for extensions that need to send email messages.
498 Configuration for extensions that need to send email messages.
490 host;;
499 host;;
491 Host name of mail server, e.g. "mail.example.com".
500 Host name of mail server, e.g. "mail.example.com".
492 port;;
501 port;;
493 Optional. Port to connect to on mail server. Default: 25.
502 Optional. Port to connect to on mail server. Default: 25.
494 tls;;
503 tls;;
495 Optional. Whether to connect to mail server using TLS. True or
504 Optional. Whether to connect to mail server using TLS. True or
496 False. Default: False.
505 False. Default: False.
497 username;;
506 username;;
498 Optional. User name to authenticate to SMTP server with.
507 Optional. User name to authenticate to SMTP server with.
499 If username is specified, password must also be specified.
508 If username is specified, password must also be specified.
500 Default: none.
509 Default: none.
501 password;;
510 password;;
502 Optional. Password to authenticate to SMTP server with.
511 Optional. Password to authenticate to SMTP server with.
503 If username is specified, password must also be specified.
512 If username is specified, password must also be specified.
504 Default: none.
513 Default: none.
505 local_hostname;;
514 local_hostname;;
506 Optional. It's the hostname that the sender can use to identify itself
515 Optional. It's the hostname that the sender can use to identify itself
507 to the MTA.
516 to the MTA.
508
517
509 [[paths]]
518 [[paths]]
510 paths::
519 paths::
511 Assigns symbolic names to repositories. The left side is the
520 Assigns symbolic names to repositories. The left side is the
512 symbolic name, and the right gives the directory or URL that is the
521 symbolic name, and the right gives the directory or URL that is the
513 location of the repository. Default paths can be declared by
522 location of the repository. Default paths can be declared by
514 setting the following entries.
523 setting the following entries.
515 default;;
524 default;;
516 Directory or URL to use when pulling if no source is specified.
525 Directory or URL to use when pulling if no source is specified.
517 Default is set to repository from which the current repository
526 Default is set to repository from which the current repository
518 was cloned.
527 was cloned.
519 default-push;;
528 default-push;;
520 Optional. Directory or URL to use when pushing if no destination
529 Optional. Directory or URL to use when pushing if no destination
521 is specified.
530 is specified.
522
531
523 [[server]]
532 [[server]]
524 server::
533 server::
525 Controls generic server settings.
534 Controls generic server settings.
526 uncompressed;;
535 uncompressed;;
527 Whether to allow clients to clone a repo using the uncompressed
536 Whether to allow clients to clone a repo using the uncompressed
528 streaming protocol. This transfers about 40% more data than a
537 streaming protocol. This transfers about 40% more data than a
529 regular clone, but uses less memory and CPU on both server and
538 regular clone, but uses less memory and CPU on both server and
530 client. Over a LAN (100Mbps or better) or a very fast WAN, an
539 client. Over a LAN (100Mbps or better) or a very fast WAN, an
531 uncompressed streaming clone is a lot faster (~10x) than a regular
540 uncompressed streaming clone is a lot faster (~10x) than a regular
532 clone. Over most WAN connections (anything slower than about
541 clone. Over most WAN connections (anything slower than about
533 6Mbps), uncompressed streaming is slower, because of the extra
542 6Mbps), uncompressed streaming is slower, because of the extra
534 data transfer overhead. Default is False.
543 data transfer overhead. Default is False.
535
544
536 [[trusted]]
545 [[trusted]]
537 trusted::
546 trusted::
538 For security reasons, Mercurial will not use the settings in
547 For security reasons, Mercurial will not use the settings in
539 the .hg/hgrc file from a repository if it doesn't belong to a
548 the .hg/hgrc file from a repository if it doesn't belong to a
540 trusted user or to a trusted group. The main exception is the
549 trusted user or to a trusted group. The main exception is the
541 web interface, which automatically uses some safe settings, since
550 web interface, which automatically uses some safe settings, since
542 it's common to serve repositories from different users.
551 it's common to serve repositories from different users.
543
552
544 This section specifies what users and groups are trusted. The
553 This section specifies what users and groups are trusted. The
545 current user is always trusted. To trust everybody, list a user
554 current user is always trusted. To trust everybody, list a user
546 or a group with name "*".
555 or a group with name "*".
547
556
548 users;;
557 users;;
549 Comma-separated list of trusted users.
558 Comma-separated list of trusted users.
550 groups;;
559 groups;;
551 Comma-separated list of trusted groups.
560 Comma-separated list of trusted groups.
552
561
553 [[ui]]
562 [[ui]]
554 ui::
563 ui::
555 User interface controls.
564 User interface controls.
556 archivemeta;;
565 archivemeta;;
557 Whether to include the .hg_archival.txt file containing metadata
566 Whether to include the .hg_archival.txt file containing metadata
558 (hashes for the repository base and for tip) in archives created by
567 (hashes for the repository base and for tip) in archives created by
559 the hg archive command or downloaded via hgweb.
568 the hg archive command or downloaded via hgweb.
560 Default is true.
569 Default is true.
561 askusername;;
570 askusername;;
562 Whether to prompt for a username when committing. If True, and
571 Whether to prompt for a username when committing. If True, and
563 neither $HGUSER nor $EMAIL has been specified, then the user will
572 neither $HGUSER nor $EMAIL has been specified, then the user will
564 be prompted to enter a username. If no username is entered, the
573 be prompted to enter a username. If no username is entered, the
565 default USER@HOST is used instead.
574 default USER@HOST is used instead.
566 Default is False.
575 Default is False.
567 debug;;
576 debug;;
568 Print debugging information. True or False. Default is False.
577 Print debugging information. True or False. Default is False.
569 editor;;
578 editor;;
570 The editor to use during a commit. Default is $EDITOR or "vi".
579 The editor to use during a commit. Default is $EDITOR or "vi".
571 fallbackencoding;;
580 fallbackencoding;;
572 Encoding to try if it's not possible to decode the changelog using
581 Encoding to try if it's not possible to decode the changelog using
573 UTF-8. Default is ISO-8859-1.
582 UTF-8. Default is ISO-8859-1.
574 ignore;;
583 ignore;;
575 A file to read per-user ignore patterns from. This file should be in
584 A file to read per-user ignore patterns from. This file should be in
576 the same format as a repository-wide .hgignore file. This option
585 the same format as a repository-wide .hgignore file. This option
577 supports hook syntax, so if you want to specify multiple ignore
586 supports hook syntax, so if you want to specify multiple ignore
578 files, you can do so by setting something like
587 files, you can do so by setting something like
579 "ignore.other = ~/.hgignore2". For details of the ignore file
588 "ignore.other = ~/.hgignore2". For details of the ignore file
580 format, see the hgignore(5) man page.
589 format, see the hgignore(5) man page.
581 interactive;;
590 interactive;;
582 Allow to prompt the user. True or False. Default is True.
591 Allow to prompt the user. True or False. Default is True.
583 logtemplate;;
592 logtemplate;;
584 Template string for commands that print changesets.
593 Template string for commands that print changesets.
585 merge;;
594 merge;;
586 The conflict resolution program to use during a manual merge.
595 The conflict resolution program to use during a manual merge.
587 There are some internal tools available:
596 There are some internal tools available:
588
597
589 internal:local;;
598 internal:local;;
590 keep the local version
599 keep the local version
591 internal:other;;
600 internal:other;;
592 use the other version
601 use the other version
593 internal:merge;;
602 internal:merge;;
594 use the internal non-interactive merge tool
603 use the internal non-interactive merge tool
595 internal:fail;;
604 internal:fail;;
596 fail to merge
605 fail to merge
597
606
598 See the merge-tools section for more information on configuring tools.
607 See the merge-tools section for more information on configuring tools.
599
608
600 patch;;
609 patch;;
601 command to use to apply patches. Look for 'gpatch' or 'patch' in PATH if
610 command to use to apply patches. Look for 'gpatch' or 'patch' in PATH if
602 unset.
611 unset.
603 quiet;;
612 quiet;;
604 Reduce the amount of output printed. True or False. Default is False.
613 Reduce the amount of output printed. True or False. Default is False.
605 remotecmd;;
614 remotecmd;;
606 remote command to use for clone/push/pull operations. Default is 'hg'.
615 remote command to use for clone/push/pull operations. Default is 'hg'.
607 report_untrusted;;
616 report_untrusted;;
608 Warn if a .hg/hgrc file is ignored due to not being owned by a
617 Warn if a .hg/hgrc file is ignored due to not being owned by a
609 trusted user or group. True or False. Default is True.
618 trusted user or group. True or False. Default is True.
610 slash;;
619 slash;;
611 Display paths using a slash ("/") as the path separator. This only
620 Display paths using a slash ("/") as the path separator. This only
612 makes a difference on systems where the default path separator is not
621 makes a difference on systems where the default path separator is not
613 the slash character (e.g. Windows uses the backslash character ("\")).
622 the slash character (e.g. Windows uses the backslash character ("\")).
614 Default is False.
623 Default is False.
615 ssh;;
624 ssh;;
616 command to use for SSH connections. Default is 'ssh'.
625 command to use for SSH connections. Default is 'ssh'.
617 strict;;
626 strict;;
618 Require exact command names, instead of allowing unambiguous
627 Require exact command names, instead of allowing unambiguous
619 abbreviations. True or False. Default is False.
628 abbreviations. True or False. Default is False.
620 style;;
629 style;;
621 Name of style to use for command output.
630 Name of style to use for command output.
622 timeout;;
631 timeout;;
623 The timeout used when a lock is held (in seconds), a negative value
632 The timeout used when a lock is held (in seconds), a negative value
624 means no timeout. Default is 600.
633 means no timeout. Default is 600.
625 username;;
634 username;;
626 The committer of a changeset created when running "commit".
635 The committer of a changeset created when running "commit".
627 Typically a person's name and email address, e.g. "Fred Widget
636 Typically a person's name and email address, e.g. "Fred Widget
628 <fred@example.com>". Default is $EMAIL or username@hostname.
637 <fred@example.com>". Default is $EMAIL or username@hostname.
629 If the username in hgrc is empty, it has to be specified manually or
638 If the username in hgrc is empty, it has to be specified manually or
630 in a different hgrc file (e.g. $HOME/.hgrc, if the admin set "username ="
639 in a different hgrc file (e.g. $HOME/.hgrc, if the admin set "username ="
631 in the system hgrc).
640 in the system hgrc).
632 verbose;;
641 verbose;;
633 Increase the amount of output printed. True or False. Default is False.
642 Increase the amount of output printed. True or False. Default is False.
634
643
635
644
636 [[web]]
645 [[web]]
637 web::
646 web::
638 Web interface configuration.
647 Web interface configuration.
639 accesslog;;
648 accesslog;;
640 Where to output the access log. Default is stdout.
649 Where to output the access log. Default is stdout.
641 address;;
650 address;;
642 Interface address to bind to. Default is all.
651 Interface address to bind to. Default is all.
643 allow_archive;;
652 allow_archive;;
644 List of archive format (bz2, gz, zip) allowed for downloading.
653 List of archive format (bz2, gz, zip) allowed for downloading.
645 Default is empty.
654 Default is empty.
646 allowbz2;;
655 allowbz2;;
647 (DEPRECATED) Whether to allow .tar.bz2 downloading of repo revisions.
656 (DEPRECATED) Whether to allow .tar.bz2 downloading of repo revisions.
648 Default is false.
657 Default is false.
649 allowgz;;
658 allowgz;;
650 (DEPRECATED) Whether to allow .tar.gz downloading of repo revisions.
659 (DEPRECATED) Whether to allow .tar.gz downloading of repo revisions.
651 Default is false.
660 Default is false.
652 allowpull;;
661 allowpull;;
653 Whether to allow pulling from the repository. Default is true.
662 Whether to allow pulling from the repository. Default is true.
654 allow_push;;
663 allow_push;;
655 Whether to allow pushing to the repository. If empty or not set,
664 Whether to allow pushing to the repository. If empty or not set,
656 push is not allowed. If the special value "*", any remote user
665 push is not allowed. If the special value "*", any remote user
657 can push, including unauthenticated users. Otherwise, the remote
666 can push, including unauthenticated users. Otherwise, the remote
658 user must have been authenticated, and the authenticated user name
667 user must have been authenticated, and the authenticated user name
659 must be present in this list (separated by whitespace or ",").
668 must be present in this list (separated by whitespace or ",").
660 The contents of the allow_push list are examined after the
669 The contents of the allow_push list are examined after the
661 deny_push list.
670 deny_push list.
662 allowzip;;
671 allowzip;;
663 (DEPRECATED) Whether to allow .zip downloading of repo revisions.
672 (DEPRECATED) Whether to allow .zip downloading of repo revisions.
664 Default is false. This feature creates temporary files.
673 Default is false. This feature creates temporary files.
665 baseurl;;
674 baseurl;;
666 Base URL to use when publishing URLs in other locations, so
675 Base URL to use when publishing URLs in other locations, so
667 third-party tools like email notification hooks can construct URLs.
676 third-party tools like email notification hooks can construct URLs.
668 Example: "http://hgserver/repos/"
677 Example: "http://hgserver/repos/"
669 contact;;
678 contact;;
670 Name or email address of the person in charge of the repository.
679 Name or email address of the person in charge of the repository.
671 Defaults to ui.username or $EMAIL or "unknown" if unset or empty.
680 Defaults to ui.username or $EMAIL or "unknown" if unset or empty.
672 deny_push;;
681 deny_push;;
673 Whether to deny pushing to the repository. If empty or not set,
682 Whether to deny pushing to the repository. If empty or not set,
674 push is not denied. If the special value "*", all remote users
683 push is not denied. If the special value "*", all remote users
675 are denied push. Otherwise, unauthenticated users are all denied,
684 are denied push. Otherwise, unauthenticated users are all denied,
676 and any authenticated user name present in this list (separated by
685 and any authenticated user name present in this list (separated by
677 whitespace or ",") is also denied. The contents of the deny_push
686 whitespace or ",") is also denied. The contents of the deny_push
678 list are examined before the allow_push list.
687 list are examined before the allow_push list.
679 description;;
688 description;;
680 Textual description of the repository's purpose or contents.
689 Textual description of the repository's purpose or contents.
681 Default is "unknown".
690 Default is "unknown".
682 encoding;;
691 encoding;;
683 Character encoding name.
692 Character encoding name.
684 Example: "UTF-8"
693 Example: "UTF-8"
685 errorlog;;
694 errorlog;;
686 Where to output the error log. Default is stderr.
695 Where to output the error log. Default is stderr.
687 hidden;;
696 hidden;;
688 Whether to hide the repository in the hgwebdir index. Default is false.
697 Whether to hide the repository in the hgwebdir index. Default is false.
689 ipv6;;
698 ipv6;;
690 Whether to use IPv6. Default is false.
699 Whether to use IPv6. Default is false.
691 name;;
700 name;;
692 Repository name to use in the web interface. Default is current
701 Repository name to use in the web interface. Default is current
693 working directory.
702 working directory.
694 maxchanges;;
703 maxchanges;;
695 Maximum number of changes to list on the changelog. Default is 10.
704 Maximum number of changes to list on the changelog. Default is 10.
696 maxfiles;;
705 maxfiles;;
697 Maximum number of files to list per changeset. Default is 10.
706 Maximum number of files to list per changeset. Default is 10.
698 port;;
707 port;;
699 Port to listen on. Default is 8000.
708 Port to listen on. Default is 8000.
700 prefix;;
709 prefix;;
701 Prefix path to serve from. Default is '' (server root).
710 Prefix path to serve from. Default is '' (server root).
702 push_ssl;;
711 push_ssl;;
703 Whether to require that inbound pushes be transported over SSL to
712 Whether to require that inbound pushes be transported over SSL to
704 prevent password sniffing. Default is true.
713 prevent password sniffing. Default is true.
705 staticurl;;
714 staticurl;;
706 Base URL to use for static files. If unset, static files (e.g.
715 Base URL to use for static files. If unset, static files (e.g.
707 the hgicon.png favicon) will be served by the CGI script itself.
716 the hgicon.png favicon) will be served by the CGI script itself.
708 Use this setting to serve them directly with the HTTP server.
717 Use this setting to serve them directly with the HTTP server.
709 Example: "http://hgserver/static/"
718 Example: "http://hgserver/static/"
710 stripes;;
719 stripes;;
711 How many lines a "zebra stripe" should span in multiline output.
720 How many lines a "zebra stripe" should span in multiline output.
712 Default is 1; set to 0 to disable.
721 Default is 1; set to 0 to disable.
713 style;;
722 style;;
714 Which template map style to use.
723 Which template map style to use.
715 templates;;
724 templates;;
716 Where to find the HTML templates. Default is install path.
725 Where to find the HTML templates. Default is install path.
717
726
718
727
719 AUTHOR
728 AUTHOR
720 ------
729 ------
721 Bryan O'Sullivan <bos@serpentine.com>.
730 Bryan O'Sullivan <bos@serpentine.com>.
722
731
723 Mercurial was written by Matt Mackall <mpm@selenic.com>.
732 Mercurial was written by Matt Mackall <mpm@selenic.com>.
724
733
725 SEE ALSO
734 SEE ALSO
726 --------
735 --------
727 hg(1), hgignore(5)
736 hg(1), hgignore(5)
728
737
729 COPYING
738 COPYING
730 -------
739 -------
731 This manual page is copyright 2005 Bryan O'Sullivan.
740 This manual page is copyright 2005 Bryan O'Sullivan.
732 Mercurial is copyright 2005-2007 Matt Mackall.
741 Mercurial is copyright 2005-2007 Matt Mackall.
733 Free use of this software is granted under the terms of the GNU General
742 Free use of this software is granted under the terms of the GNU General
734 Public License (GPL).
743 Public License (GPL).
General Comments 0
You need to be logged in to leave comments. Login now