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