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