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