61 or modify history); they might not be ready for prime time; or they may |
62 or modify history); they might not be ready for prime time; or they may |
62 alter some usual behaviors of stock Mercurial. It is thus up to the user |
63 alter some usual behaviors of stock Mercurial. It is thus up to the user |
63 to activate extensions as needed. |
64 to activate extensions as needed. |
64 |
65 |
65 To enable the "foo" extension, either shipped with Mercurial or in the |
66 To enable the "foo" extension, either shipped with Mercurial or in the |
66 Python search path, create an entry for it in your hgrc, like this: |
67 Python search path, create an entry for it in your hgrc, like this:: |
67 |
68 |
68 [extensions] |
69 [extensions] |
69 foo = |
70 foo = |
70 |
71 |
71 You may also specify the full path to an extension: |
72 You may also specify the full path to an extension:: |
72 |
73 |
73 [extensions] |
74 [extensions] |
74 myfeature = ~/.hgext/myfeature.py |
75 myfeature = ~/.hgext/myfeature.py |
75 |
76 |
76 To explicitly disable an extension enabled in an hgrc of broader scope, |
77 To explicitly disable an extension enabled in an hgrc of broader scope, |
77 prepend its path with !: |
78 prepend its path with !:: |
78 |
79 |
79 [extensions] |
80 [extensions] |
80 # disabling extension bar residing in /path/to/extension/bar.py |
81 # disabling extension bar residing in /path/to/extension/bar.py |
81 hgext.bar = !/path/to/extension/bar.py |
82 hgext.bar = !/path/to/extension/bar.py |
82 # ditto, but no path was supplied for extension baz |
83 # ditto, but no path was supplied for extension baz |
93 |
94 |
94 helptable = ( |
95 helptable = ( |
95 (["dates"], _("Date Formats"), |
96 (["dates"], _("Date Formats"), |
96 _(r''' |
97 _(r''' |
97 Some commands allow the user to specify a date, e.g.: |
98 Some commands allow the user to specify a date, e.g.: |
98 * backout, commit, import, tag: Specify the commit date. |
99 |
99 * log, revert, update: Select revision(s) by date. |
100 - backout, commit, import, tag: Specify the commit date. |
100 |
101 - log, revert, update: Select revision(s) by date. |
101 Many date formats are valid. Here are some examples: |
102 |
102 |
103 Many date formats are valid. Here are some examples:: |
103 "Wed Dec 6 13:18:29 2006" (local timezone assumed) |
104 |
104 "Dec 6 13:18 -0600" (year assumed, time offset provided) |
105 "Wed Dec 6 13:18:29 2006" (local timezone assumed) |
105 "Dec 6 13:18 UTC" (UTC and GMT are aliases for +0000) |
106 "Dec 6 13:18 -0600" (year assumed, time offset provided) |
106 "Dec 6" (midnight) |
107 "Dec 6 13:18 UTC" (UTC and GMT are aliases for +0000) |
107 "13:18" (today assumed) |
108 "Dec 6" (midnight) |
108 "3:39" (3:39AM assumed) |
109 "13:18" (today assumed) |
109 "3:39pm" (15:39) |
110 "3:39" (3:39AM assumed) |
110 "2006-12-06 13:18:29" (ISO 8601 format) |
111 "3:39pm" (15:39) |
111 "2006-12-6 13:18" |
112 "2006-12-06 13:18:29" (ISO 8601 format) |
112 "2006-12-6" |
113 "2006-12-6 13:18" |
113 "12-6" |
114 "2006-12-6" |
114 "12/6" |
115 "12-6" |
115 "12/6/6" (Dec 6 2006) |
116 "12/6" |
|
117 "12/6/6" (Dec 6 2006) |
116 |
118 |
117 Lastly, there is Mercurial's internal format: |
119 Lastly, there is Mercurial's internal format: |
118 |
120 |
119 "1165432709 0" (Wed Dec 6 13:18:29 2006 UTC) |
121 "1165432709 0" (Wed Dec 6 13:18:29 2006 UTC) |
120 |
122 |
121 This is the internal representation format for dates. unixtime is the |
123 This is the internal representation format for dates. unixtime is the |
122 number of seconds since the epoch (1970-01-01 00:00 UTC). offset is the |
124 number of seconds since the epoch (1970-01-01 00:00 UTC). offset is the |
123 offset of the local timezone, in seconds west of UTC (negative if the |
125 offset of the local timezone, in seconds west of UTC (negative if the |
124 timezone is east of UTC). |
126 timezone is east of UTC). |
125 |
127 |
126 The log command also accepts date ranges: |
128 The log command also accepts date ranges:: |
127 |
129 |
128 "<{datetime}" - at or before a given date/time |
130 "<{datetime}" - at or before a given date/time |
129 ">{datetime}" - on or after a given date/time |
131 ">{datetime}" - on or after a given date/time |
130 "{datetime} to {datetime}" - a date range, inclusive |
132 "{datetime} to {datetime}" - a date range, inclusive |
131 "-{days}" - within a given number of days of today |
133 "-{days}" - within a given number of days of today |
132 ''')), |
134 ''')), |
133 |
135 |
134 (["patterns"], _("File Name Patterns"), |
136 (["patterns"], _("File Name Patterns"), |
135 _(r''' |
137 _(r''' |
136 Mercurial accepts several notations for identifying one or more files at a |
138 Mercurial accepts several notations for identifying one or more files at a |
153 path separators and "{a,b}" to mean "a or b". |
155 path separators and "{a,b}" to mean "a or b". |
154 |
156 |
155 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 |
156 pattern matching is anchored at the root of the repository. |
158 pattern matching is anchored at the root of the repository. |
157 |
159 |
158 Plain examples: |
160 Plain examples:: |
159 |
161 |
160 path:foo/bar a name bar in a directory named foo in the root of |
162 path:foo/bar a name bar in a directory named foo in the root of |
161 the repository |
163 the repository |
162 path:path:name a file or directory named "path:name" |
164 path:path:name a file or directory named "path:name" |
163 |
165 |
164 Glob examples: |
166 Glob examples:: |
165 |
167 |
166 glob:*.c any name ending in ".c" in the current directory |
168 glob:*.c any name ending in ".c" in the current directory |
167 *.c any name ending in ".c" in the current directory |
169 *.c any name ending in ".c" in the current directory |
168 **.c any name ending in ".c" in any subdirectory of the current |
170 **.c any name ending in ".c" in any subdirectory of the |
169 directory including itself. |
171 current directory including itself. |
170 foo/*.c any name ending in ".c" in the directory foo |
172 foo/*.c any name ending in ".c" in the directory foo |
171 foo/**.c any name ending in ".c" in any subdirectory of foo |
173 foo/**.c any name ending in ".c" in any subdirectory of foo |
172 including itself. |
174 including itself. |
173 |
175 |
174 Regexp examples: |
176 Regexp examples:: |
175 |
177 |
176 re:.*\.c$ any name ending in ".c", anywhere in the repository |
178 re:.*\.c$ any name ending in ".c", anywhere in the repository |
177 |
179 |
178 ''')), |
180 ''')), |
179 |
181 |
180 (['environment', 'env'], _('Environment Variables'), |
182 (['environment', 'env'], _('Environment Variables'), |
181 _(r''' |
183 _(r''' |
182 HG:: |
184 HG |
183 Path to the 'hg' executable, automatically passed when running hooks, |
185 Path to the 'hg' executable, automatically passed when running hooks, |
184 extensions or external tools. If unset or empty, this is the hg |
186 extensions or external tools. If unset or empty, this is the hg |
185 executable's name if it's frozen, or an executable named 'hg' (with |
187 executable's name if it's frozen, or an executable named 'hg' (with |
186 %PATHEXT% [defaulting to COM/EXE/BAT/CMD] extensions on Windows) is |
188 %PATHEXT% [defaulting to COM/EXE/BAT/CMD] extensions on Windows) is |
187 searched. |
189 searched. |
188 |
190 |
189 HGEDITOR:: |
191 HGEDITOR |
190 This is the name of the editor to run when committing. See EDITOR. |
192 This is the name of the editor to run when committing. See EDITOR. |
191 |
193 |
192 (deprecated, use .hgrc) |
194 (deprecated, use .hgrc) |
193 |
195 |
194 HGENCODING:: |
196 HGENCODING |
195 This overrides the default locale setting detected by Mercurial. This |
197 This overrides the default locale setting detected by Mercurial. This |
196 setting is used to convert data including usernames, changeset |
198 setting is used to convert data including usernames, changeset |
197 descriptions, tag names, and branches. This setting can be overridden with |
199 descriptions, tag names, and branches. This setting can be overridden with |
198 the --encoding command-line option. |
200 the --encoding command-line option. |
199 |
201 |
200 HGENCODINGMODE:: |
202 HGENCODINGMODE |
201 This sets Mercurial's behavior for handling unknown characters while |
203 This sets Mercurial's behavior for handling unknown characters while |
202 transcoding user input. The default is "strict", which causes Mercurial to |
204 transcoding user input. The default is "strict", which causes Mercurial to |
203 abort if it can't map a character. Other settings include "replace", which |
205 abort if it can't map a character. Other settings include "replace", which |
204 replaces unknown characters, and "ignore", which drops them. This setting |
206 replaces unknown characters, and "ignore", which drops them. This setting |
205 can be overridden with the --encodingmode command-line option. |
207 can be overridden with the --encodingmode command-line option. |
206 |
208 |
207 HGMERGE:: |
209 HGMERGE |
208 An executable to use for resolving merge conflicts. The program will be |
210 An executable to use for resolving merge conflicts. The program will be |
209 executed with three arguments: local file, remote file, ancestor file. |
211 executed with three arguments: local file, remote file, ancestor file. |
210 |
212 |
211 (deprecated, use .hgrc) |
213 (deprecated, use .hgrc) |
212 |
214 |
213 HGRCPATH:: |
215 HGRCPATH |
214 A list of files or directories to search for hgrc files. Item separator is |
216 A list of files or directories to search for hgrc files. Item separator is |
215 ":" on Unix, ";" on Windows. If HGRCPATH is not set, platform default |
217 ":" on Unix, ";" on Windows. If HGRCPATH is not set, platform default |
216 search path is used. If empty, only the .hg/hgrc from the current |
218 search path is used. If empty, only the .hg/hgrc from the current |
217 repository is read. |
219 repository is read. |
218 |
220 |
219 For each element in HGRCPATH: |
221 For each element in HGRCPATH: |
220 * if it's a directory, all files ending with .rc are added |
222 |
221 * otherwise, the file itself will be added |
223 - if it's a directory, all files ending with .rc are added |
222 |
224 - otherwise, the file itself will be added |
223 HGUSER:: |
225 |
|
226 HGUSER |
224 This is the string used as the author of a commit. If not set, available |
227 This is the string used as the author of a commit. If not set, available |
225 values will be considered in this order: |
228 values will be considered in this order: |
226 |
229 |
227 * HGUSER (deprecated) |
230 - HGUSER (deprecated) |
228 * hgrc files from the HGRCPATH |
231 - hgrc files from the HGRCPATH |
229 * EMAIL |
232 - EMAIL |
230 * interactive prompt |
233 - interactive prompt |
231 * LOGNAME (with '@hostname' appended) |
234 - LOGNAME (with '@hostname' appended) |
232 |
235 |
233 (deprecated, use .hgrc) |
236 (deprecated, use .hgrc) |
234 |
237 |
235 EMAIL:: |
238 EMAIL |
236 May be used as the author of a commit; see HGUSER. |
239 May be used as the author of a commit; see HGUSER. |
237 |
240 |
238 LOGNAME:: |
241 LOGNAME |
239 May be used as the author of a commit; see HGUSER. |
242 May be used as the author of a commit; see HGUSER. |
240 |
243 |
241 VISUAL:: |
244 VISUAL |
242 This is the name of the editor to use when committing. See EDITOR. |
245 This is the name of the editor to use when committing. See EDITOR. |
243 |
246 |
244 EDITOR:: |
247 EDITOR |
245 Sometimes Mercurial needs to open a text file in an editor for a user to |
248 Sometimes Mercurial needs to open a text file in an editor for a user to |
246 modify, for example when writing commit messages. The editor it uses is |
249 modify, for example when writing commit messages. The editor it uses is |
247 determined by looking at the environment variables HGEDITOR, VISUAL and |
250 determined by looking at the environment variables HGEDITOR, VISUAL and |
248 EDITOR, in that order. The first non-empty one is chosen. If all of them |
251 EDITOR, in that order. The first non-empty one is chosen. If all of them |
249 are empty, the editor defaults to 'vi'. |
252 are empty, the editor defaults to 'vi'. |
250 |
253 |
251 PYTHONPATH:: |
254 PYTHONPATH |
252 This is used by Python to find imported modules and may need to be set |
255 This is used by Python to find imported modules and may need to be set |
253 appropriately if this Mercurial is not installed system-wide. |
256 appropriately if this Mercurial is not installed system-wide. |
254 ''')), |
257 ''')), |
255 |
258 |
256 (['revs', 'revisions'], _('Specifying Single Revisions'), |
259 (['revs', 'revisions'], _('Specifying Single Revisions'), |
448 Some features, such as pushing to http:// and https:// URLs are only |
451 Some features, such as pushing to http:// and https:// URLs are only |
449 possible if the feature is explicitly enabled on the remote Mercurial |
452 possible if the feature is explicitly enabled on the remote Mercurial |
450 server. |
453 server. |
451 |
454 |
452 Some notes about using SSH with Mercurial: |
455 Some notes about using SSH with Mercurial: |
|
456 |
453 - SSH requires an accessible shell account on the destination machine and |
457 - SSH requires an accessible shell account on the destination machine and |
454 a copy of hg in the remote path or specified with as remotecmd. |
458 a copy of hg in the remote path or specified with as remotecmd. |
455 - path is relative to the remote user's home directory by default. Use an |
459 - path is relative to the remote user's home directory by default. Use an |
456 extra slash at the start of a path to specify an absolute path: |
460 extra slash at the start of a path to specify an absolute path:: |
|
461 |
457 ssh://example.com//tmp/repository |
462 ssh://example.com//tmp/repository |
|
463 |
458 - Mercurial doesn't use its own compression via SSH; the right thing to do |
464 - Mercurial doesn't use its own compression via SSH; the right thing to do |
459 is to configure it in your ~/.ssh/config, e.g.: |
465 is to configure it in your ~/.ssh/config, e.g.:: |
|
466 |
460 Host *.mylocalnetwork.example.com |
467 Host *.mylocalnetwork.example.com |
461 Compression no |
468 Compression no |
462 Host * |
469 Host * |
463 Compression yes |
470 Compression yes |
|
471 |
464 Alternatively specify "ssh -C" as your ssh command in your hgrc or with |
472 Alternatively specify "ssh -C" as your ssh command in your hgrc or with |
465 the --ssh command line option. |
473 the --ssh command line option. |
466 |
474 |
467 These URLs can all be stored in your hgrc with path aliases under the |
475 These URLs can all be stored in your hgrc with path aliases under the |
468 [paths] section like so: |
476 [paths] section like so:: |
469 [paths] |
477 |
470 alias1 = URL1 |
478 [paths] |
471 alias2 = URL2 |
479 alias1 = URL1 |
472 ... |
480 alias2 = URL2 |
|
481 ... |
473 |
482 |
474 You can then use the alias for any command that uses a URL (for example |
483 You can then use the alias for any command that uses a URL (for example |
475 'hg pull alias1' would pull from the 'alias1' path). |
484 'hg pull alias1' would pull from the 'alias1' path). |
476 |
485 |
477 Two path aliases are special because they are used as defaults when you do |
486 Two path aliases are special because they are used as defaults when you do |