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