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