Mercurial > public > mercurial-scm > hg-stable
comparison mercurial/help.py @ 9277:1f0085918c29
help: wrap help strings at 70 characters
author | Martin Geisler <mg@lazybytes.net> |
---|---|
date | Sun, 26 Jul 2009 02:12:53 +0200 |
parents | 81028d2db635 |
children | 26fb5b0a4424 |
comparison
equal
deleted
inserted
replaced
9276:51e85071caf0 | 9277:1f0085918c29 |
---|---|
51 return result | 51 return result |
52 | 52 |
53 def extshelp(): | 53 def extshelp(): |
54 doc = _(r''' | 54 doc = _(r''' |
55 Mercurial has the ability to add new features through the use of | 55 Mercurial has the ability to add new features through the use of |
56 extensions. Extensions may add new commands, add options to existing | 56 extensions. Extensions may add new commands, add options to |
57 commands, change the default behavior of commands, or implement hooks. | 57 existing commands, change the default behavior of commands, or |
58 | 58 implement hooks. |
59 Extensions are not loaded by default for a variety of reasons: they can | 59 |
60 increase startup overhead; they may be meant for advanced usage only; they | 60 Extensions are not loaded by default for a variety of reasons: |
61 may provide potentially dangerous abilities (such as letting you destroy | 61 they can increase startup overhead; they may be meant for advanced |
62 or modify history); they might not be ready for prime time; or they may | 62 usage only; they may provide potentially dangerous abilities (such |
63 alter some usual behaviors of stock Mercurial. It is thus up to the user | 63 as letting you destroy or modify history); they might not be ready |
64 to activate extensions as needed. | 64 for prime time; or they may alter some usual behaviors of stock |
65 | 65 Mercurial. It is thus up to the user to activate extensions as |
66 To enable the "foo" extension, either shipped with Mercurial or in the | 66 needed. |
67 Python search path, create an entry for it in your hgrc, like this:: | 67 |
68 To enable the "foo" extension, either shipped with Mercurial or in | |
69 the Python search path, create an entry for it in your hgrc, like | |
70 this:: | |
68 | 71 |
69 [extensions] | 72 [extensions] |
70 foo = | 73 foo = |
71 | 74 |
72 You may also specify the full path to an extension:: | 75 You may also specify the full path to an extension:: |
73 | 76 |
74 [extensions] | 77 [extensions] |
75 myfeature = ~/.hgext/myfeature.py | 78 myfeature = ~/.hgext/myfeature.py |
76 | 79 |
77 To explicitly disable an extension enabled in an hgrc of broader scope, | 80 To explicitly disable an extension enabled in an hgrc of broader |
78 prepend its path with !:: | 81 scope, prepend its path with !:: |
79 | 82 |
80 [extensions] | 83 [extensions] |
81 # disabling extension bar residing in /path/to/extension/bar.py | 84 # disabling extension bar residing in /path/to/extension/bar.py |
82 hgext.bar = !/path/to/extension/bar.py | 85 hgext.bar = !/path/to/extension/bar.py |
83 # ditto, but no path was supplied for extension baz | 86 # ditto, but no path was supplied for extension baz |
118 | 121 |
119 Lastly, there is Mercurial's internal format: | 122 Lastly, there is Mercurial's internal format: |
120 | 123 |
121 "1165432709 0" (Wed Dec 6 13:18:29 2006 UTC) | 124 "1165432709 0" (Wed Dec 6 13:18:29 2006 UTC) |
122 | 125 |
123 This is the internal representation format for dates. unixtime is the | 126 This is the internal representation format for dates. unixtime is |
124 number of seconds since the epoch (1970-01-01 00:00 UTC). offset is the | 127 the number of seconds since the epoch (1970-01-01 00:00 UTC). |
125 offset of the local timezone, in seconds west of UTC (negative if the | 128 offset is the offset of the local timezone, in seconds west of UTC |
126 timezone is east of UTC). | 129 (negative if the timezone is east of UTC). |
127 | 130 |
128 The log command also accepts date ranges:: | 131 The log command also accepts date ranges:: |
129 | 132 |
130 "<{datetime}" - at or before a given date/time | 133 "<{datetime}" - at or before a given date/time |
131 ">{datetime}" - on or after a given date/time | 134 ">{datetime}" - on or after a given date/time |
133 "-{days}" - within a given number of days of today | 136 "-{days}" - within a given number of days of today |
134 ''')), | 137 ''')), |
135 | 138 |
136 (["patterns"], _("File Name Patterns"), | 139 (["patterns"], _("File Name Patterns"), |
137 _(r''' | 140 _(r''' |
138 Mercurial accepts several notations for identifying one or more files at a | 141 Mercurial accepts several notations for identifying one or more |
139 time. | 142 files at a time. |
140 | 143 |
141 By default, Mercurial treats filenames as shell-style extended glob | 144 By default, Mercurial treats filenames as shell-style extended |
142 patterns. | 145 glob patterns. |
143 | 146 |
144 Alternate pattern notations must be specified explicitly. | 147 Alternate pattern notations must be specified explicitly. |
145 | 148 |
146 To use a plain path name without any pattern matching, start it with | 149 To use a plain path name without any pattern matching, start it |
147 "path:". These path names must completely match starting at the current | 150 with "path:". These path names must completely match starting at |
148 repository root. | 151 the current repository root. |
149 | 152 |
150 To use an extended glob, start a name with "glob:". Globs are rooted at | 153 To use an extended glob, start a name with "glob:". Globs are |
151 the current directory; a glob such as "``*.c``" will only match files in the | 154 rooted at the current directory; a glob such as "``*.c``" will |
152 current directory ending with ".c". | 155 only match files in the current directory ending with ".c". |
153 | 156 |
154 The supported glob syntax extensions are "``**``" to match any string across | 157 The supported glob syntax extensions are "``**``" to match any |
155 path separators and "{a,b}" to mean "a or b". | 158 string across path separators and "{a,b}" to mean "a or b". |
156 | 159 |
157 To use a Perl/Python regular expression, start a name with "re:". Regexp | 160 To use a Perl/Python regular expression, start a name with "re:". |
158 pattern matching is anchored at the root of the repository. | 161 Regexp pattern matching is anchored at the root of the repository. |
159 | 162 |
160 Plain examples:: | 163 Plain examples:: |
161 | 164 |
162 path:foo/bar a name bar in a directory named foo in the root of | 165 path:foo/bar a name bar in a directory named foo in the root |
163 the repository | 166 of the repository |
164 path:path:name a file or directory named "path:name" | 167 path:path:name a file or directory named "path:name" |
165 | 168 |
166 Glob examples:: | 169 Glob examples:: |
167 | 170 |
168 glob:*.c any name ending in ".c" in the current directory | 171 glob:*.c any name ending in ".c" in the current directory |
180 ''')), | 183 ''')), |
181 | 184 |
182 (['environment', 'env'], _('Environment Variables'), | 185 (['environment', 'env'], _('Environment Variables'), |
183 _(r''' | 186 _(r''' |
184 HG | 187 HG |
185 Path to the 'hg' executable, automatically passed when running hooks, | 188 Path to the 'hg' executable, automatically passed when running |
186 extensions or external tools. If unset or empty, this is the hg | 189 hooks, extensions or external tools. If unset or empty, this is |
187 executable's name if it's frozen, or an executable named 'hg' (with | 190 the hg executable's name if it's frozen, or an executable named |
188 %PATHEXT% [defaulting to COM/EXE/BAT/CMD] extensions on Windows) is | 191 'hg' (with %PATHEXT% [defaulting to COM/EXE/BAT/CMD] extensions on |
189 searched. | 192 Windows) is searched. |
190 | 193 |
191 HGEDITOR | 194 HGEDITOR |
192 This is the name of the editor to run when committing. See EDITOR. | 195 This is the name of the editor to run when committing. See EDITOR. |
193 | 196 |
194 (deprecated, use .hgrc) | 197 (deprecated, use .hgrc) |
195 | 198 |
196 HGENCODING | 199 HGENCODING |
197 This overrides the default locale setting detected by Mercurial. This | 200 This overrides the default locale setting detected by Mercurial. |
198 setting is used to convert data including usernames, changeset | 201 This setting is used to convert data including usernames, |
199 descriptions, tag names, and branches. This setting can be overridden with | 202 changeset descriptions, tag names, and branches. This setting can |
200 the --encoding command-line option. | 203 be overridden with the --encoding command-line option. |
201 | 204 |
202 HGENCODINGMODE | 205 HGENCODINGMODE |
203 This sets Mercurial's behavior for handling unknown characters while | 206 This sets Mercurial's behavior for handling unknown characters |
204 transcoding user input. The default is "strict", which causes Mercurial to | 207 while transcoding user input. The default is "strict", which |
205 abort if it can't map a character. Other settings include "replace", which | 208 causes Mercurial to abort if it can't map a character. Other |
206 replaces unknown characters, and "ignore", which drops them. This setting | 209 settings include "replace", which replaces unknown characters, and |
207 can be overridden with the --encodingmode command-line option. | 210 "ignore", which drops them. This setting can be overridden with |
211 the --encodingmode command-line option. | |
208 | 212 |
209 HGMERGE | 213 HGMERGE |
210 An executable to use for resolving merge conflicts. The program will be | 214 An executable to use for resolving merge conflicts. The program |
211 executed with three arguments: local file, remote file, ancestor file. | 215 will be executed with three arguments: local file, remote file, |
216 ancestor file. | |
212 | 217 |
213 (deprecated, use .hgrc) | 218 (deprecated, use .hgrc) |
214 | 219 |
215 HGRCPATH | 220 HGRCPATH |
216 A list of files or directories to search for hgrc files. Item separator is | 221 A list of files or directories to search for hgrc files. Item |
217 ":" on Unix, ";" on Windows. If HGRCPATH is not set, platform default | 222 separator is ":" on Unix, ";" on Windows. If HGRCPATH is not set, |
218 search path is used. If empty, only the .hg/hgrc from the current | 223 platform default search path is used. If empty, only the .hg/hgrc |
219 repository is read. | 224 from the current repository is read. |
220 | 225 |
221 For each element in HGRCPATH: | 226 For each element in HGRCPATH: |
222 | 227 |
223 - if it's a directory, all files ending with .rc are added | 228 - if it's a directory, all files ending with .rc are added |
224 - otherwise, the file itself will be added | 229 - otherwise, the file itself will be added |
225 | 230 |
226 HGUSER | 231 HGUSER |
227 This is the string used as the author of a commit. If not set, available | 232 This is the string used as the author of a commit. If not set, |
228 values will be considered in this order: | 233 available values will be considered in this order: |
229 | 234 |
230 - HGUSER (deprecated) | 235 - HGUSER (deprecated) |
231 - hgrc files from the HGRCPATH | 236 - hgrc files from the HGRCPATH |
232 - EMAIL | 237 - EMAIL |
233 - interactive prompt | 238 - interactive prompt |
243 | 248 |
244 VISUAL | 249 VISUAL |
245 This is the name of the editor to use when committing. See EDITOR. | 250 This is the name of the editor to use when committing. See EDITOR. |
246 | 251 |
247 EDITOR | 252 EDITOR |
248 Sometimes Mercurial needs to open a text file in an editor for a user to | 253 Sometimes Mercurial needs to open a text file in an editor for a |
249 modify, for example when writing commit messages. The editor it uses is | 254 user to modify, for example when writing commit messages. The |
250 determined by looking at the environment variables HGEDITOR, VISUAL and | 255 editor it uses is determined by looking at the environment |
251 EDITOR, in that order. The first non-empty one is chosen. If all of them | 256 variables HGEDITOR, VISUAL and EDITOR, in that order. The first |
252 are empty, the editor defaults to 'vi'. | 257 non-empty one is chosen. If all of them are empty, the editor |
258 defaults to 'vi'. | |
253 | 259 |
254 PYTHONPATH | 260 PYTHONPATH |
255 This is used by Python to find imported modules and may need to be set | 261 This is used by Python to find imported modules and may need to be |
256 appropriately if this Mercurial is not installed system-wide. | 262 set appropriately if this Mercurial is not installed system-wide. |
257 ''')), | 263 ''')), |
258 | 264 |
259 (['revs', 'revisions'], _('Specifying Single Revisions'), | 265 (['revs', 'revisions'], _('Specifying Single Revisions'), |
260 _(r''' | 266 _(r''' |
261 Mercurial supports several ways to specify individual revisions. | 267 Mercurial supports several ways to specify individual revisions. |
262 | 268 |
263 A plain integer is treated as a revision number. Negative integers are | 269 A plain integer is treated as a revision number. Negative integers |
264 treated as topological offsets from the tip, with -1 denoting the tip. As | 270 are treated as topological offsets from the tip, with -1 denoting |
265 such, negative numbers are only useful if you've memorized your local tree | 271 the tip. As such, negative numbers are only useful if you've |
266 numbers and want to save typing a single digit. This editor suggests copy | 272 memorized your local tree numbers and want to save typing a single |
267 and paste. | 273 digit. This editor suggests copy and paste. |
268 | 274 |
269 A 40-digit hexadecimal string is treated as a unique revision identifier. | 275 A 40-digit hexadecimal string is treated as a unique revision |
270 | 276 identifier. |
271 A hexadecimal string less than 40 characters long is treated as a unique | 277 |
272 revision identifier, and referred to as a short-form identifier. A | 278 A hexadecimal string less than 40 characters long is treated as a |
273 short-form identifier is only valid if it is the prefix of exactly one | 279 unique revision identifier, and referred to as a short-form |
274 full-length identifier. | 280 identifier. A short-form identifier is only valid if it is the |
275 | 281 prefix of exactly one full-length identifier. |
276 Any other string is treated as a tag name, which is a symbolic name | 282 |
277 associated with a revision identifier. Tag names may not contain the ":" | 283 Any other string is treated as a tag name, which is a symbolic |
278 character. | 284 name associated with a revision identifier. Tag names may not |
279 | 285 contain the ":" character. |
280 The reserved name "tip" is a special tag that always identifies the most | 286 |
281 recent revision. | 287 The reserved name "tip" is a special tag that always identifies |
282 | 288 the most recent revision. |
283 The reserved name "null" indicates the null revision. This is the revision | 289 |
284 of an empty repository, and the parent of revision 0. | 290 The reserved name "null" indicates the null revision. This is the |
285 | 291 revision of an empty repository, and the parent of revision 0. |
286 The reserved name "." indicates the working directory parent. If no | 292 |
287 working directory is checked out, it is equivalent to null. If an | 293 The reserved name "." indicates the working directory parent. If |
288 uncommitted merge is in progress, "." is the revision of the first parent. | 294 no working directory is checked out, it is equivalent to null. If |
295 an uncommitted merge is in progress, "." is the revision of the | |
296 first parent. | |
289 ''')), | 297 ''')), |
290 | 298 |
291 (['mrevs', 'multirevs'], _('Specifying Multiple Revisions'), | 299 (['mrevs', 'multirevs'], _('Specifying Multiple Revisions'), |
292 _(r''' | 300 _(r''' |
293 When Mercurial accepts more than one revision, they may be specified | 301 When Mercurial accepts more than one revision, they may be |
294 individually, or provided as a topologically continuous range, separated | 302 specified individually, or provided as a topologically continuous |
295 by the ":" character. | 303 range, separated by the ":" character. |
296 | 304 |
297 The syntax of range notation is [BEGIN]:[END], where BEGIN and END are | 305 The syntax of range notation is [BEGIN]:[END], where BEGIN and END |
298 revision identifiers. Both BEGIN and END are optional. If BEGIN is not | 306 are revision identifiers. Both BEGIN and END are optional. If |
299 specified, it defaults to revision number 0. If END is not specified, it | 307 BEGIN is not specified, it defaults to revision number 0. If END |
300 defaults to the tip. The range ":" thus means "all revisions". | 308 is not specified, it defaults to the tip. The range ":" thus means |
301 | 309 "all revisions". |
302 If BEGIN is greater than END, revisions are treated in reverse order. | 310 |
303 | 311 If BEGIN is greater than END, revisions are treated in reverse |
304 A range acts as a closed interval. This means that a range of 3:5 gives 3, | 312 order. |
305 4 and 5. Similarly, a range of 9:6 gives 9, 8, 7, and 6. | 313 |
314 A range acts as a closed interval. This means that a range of 3:5 | |
315 gives 3, 4 and 5. Similarly, a range of 9:6 gives 9, 8, 7, and 6. | |
306 ''')), | 316 ''')), |
307 | 317 |
308 (['diffs'], _('Diff Formats'), | 318 (['diffs'], _('Diff Formats'), |
309 _(r''' | 319 _(r''' |
310 Mercurial's default format for showing changes between two versions of a | 320 Mercurial's default format for showing changes between two |
311 file is compatible with the unified format of GNU diff, which can be used | 321 versions of a file is compatible with the unified format of GNU |
312 by GNU patch and many other standard tools. | 322 diff, which can be used by GNU patch and many other standard |
323 tools. | |
313 | 324 |
314 While this standard format is often enough, it does not encode the | 325 While this standard format is often enough, it does not encode the |
315 following information: | 326 following information: |
316 | 327 |
317 - executable status and other permission bits | 328 - executable status and other permission bits |
318 - copy or rename information | 329 - copy or rename information |
319 - changes in binary files | 330 - changes in binary files |
320 - creation or deletion of empty files | 331 - creation or deletion of empty files |
321 | 332 |
322 Mercurial also supports the extended diff format from the git VCS which | 333 Mercurial also supports the extended diff format from the git VCS |
323 addresses these limitations. The git diff format is not produced by | 334 which addresses these limitations. The git diff format is not |
324 default because a few widespread tools still do not understand this | 335 produced by default because a few widespread tools still do not |
325 format. | 336 understand this format. |
326 | 337 |
327 This means that when generating diffs from a Mercurial repository (e.g. | 338 This means that when generating diffs from a Mercurial repository |
328 with "hg export"), you should be careful about things like file copies and | 339 (e.g. with "hg export"), you should be careful about things like |
329 renames or other things mentioned above, because when applying a standard | 340 file copies and renames or other things mentioned above, because |
330 diff to a different repository, this extra information is lost. | 341 when applying a standard diff to a different repository, this |
331 Mercurial's internal operations (like push and pull) are not affected by | 342 extra information is lost. Mercurial's internal operations (like |
332 this, because they use an internal binary format for communicating | 343 push and pull) are not affected by this, because they use an |
333 changes. | 344 internal binary format for communicating changes. |
334 | 345 |
335 To make Mercurial produce the git extended diff format, use the --git | 346 To make Mercurial produce the git extended diff format, use the |
336 option available for many commands, or set 'git = True' in the [diff] | 347 --git option available for many commands, or set 'git = True' in |
337 section of your hgrc. You do not need to set this option when importing | 348 the [diff] section of your hgrc. You do not need to set this |
338 diffs in this format or using them in the mq extension. | 349 option when importing diffs in this format or using them in the mq |
350 extension. | |
339 ''')), | 351 ''')), |
340 (['templating'], _('Template Usage'), | 352 (['templating'], _('Template Usage'), |
341 _(r''' | 353 _(r''' |
342 Mercurial allows you to customize output of commands through templates. | 354 Mercurial allows you to customize output of commands through |
343 You can either pass in a template from the command line, via the | 355 templates. You can either pass in a template from the command |
344 --template option, or select an existing template-style (--style). | 356 line, via the --template option, or select an existing |
345 | 357 template-style (--style). |
346 You can customize output for any "log-like" command: log, outgoing, | 358 |
347 incoming, tip, parents, heads and glog. | 359 You can customize output for any "log-like" command: log, |
348 | 360 outgoing, incoming, tip, parents, heads and glog. |
349 Three styles are packaged with Mercurial: default (the style used when no | 361 |
350 explicit preference is passed), compact and changelog. Usage: | 362 Three styles are packaged with Mercurial: default (the style used |
363 when no explicit preference is passed), compact and changelog. | |
364 Usage: | |
351 | 365 |
352 $ hg log -r1 --style changelog | 366 $ hg log -r1 --style changelog |
353 | 367 |
354 A template is a piece of text, with markup to invoke variable expansion: | 368 A template is a piece of text, with markup to invoke variable |
369 expansion: | |
355 | 370 |
356 $ hg log -r1 --template "{node}\n" | 371 $ hg log -r1 --template "{node}\n" |
357 b56ce7b07c52de7d5fd79fb89701ea538af65746 | 372 b56ce7b07c52de7d5fd79fb89701ea538af65746 |
358 | 373 |
359 Strings in curly braces are called keywords. The availability of keywords | 374 Strings in curly braces are called keywords. The availability of |
360 depends on the exact context of the templater. These keywords are usually | 375 keywords depends on the exact context of the templater. These |
361 available for templating a log-like command: | 376 keywords are usually available for templating a log-like command: |
362 | 377 |
363 - author: String. The unmodified author of the changeset. | 378 - author: String. The unmodified author of the changeset. |
364 - branches: String. The name of the branch on which the changeset was | 379 - branches: String. The name of the branch on which the changeset |
365 committed. Will be empty if the branch name was default. | 380 was committed. Will be empty if the branch name was default. |
366 - date: Date information. The date when the changeset was committed. | 381 - date: Date information. The date when the changeset was |
382 committed. | |
367 - desc: String. The text of the changeset description. | 383 - desc: String. The text of the changeset description. |
368 - diffstat: String. Statistics of changes with the following format: | 384 - diffstat: String. Statistics of changes with the following |
369 "modified files: +added/-removed lines" | 385 format: "modified files: +added/-removed lines" |
370 - files: List of strings. All files modified, added, or removed by this | 386 - files: List of strings. All files modified, added, or removed by |
371 changeset. | 387 this changeset. |
372 - file_adds: List of strings. Files added by this changeset. | 388 - file_adds: List of strings. Files added by this changeset. |
373 - file_mods: List of strings. Files modified by this changeset. | 389 - file_mods: List of strings. Files modified by this changeset. |
374 - file_dels: List of strings. Files removed by this changeset. | 390 - file_dels: List of strings. Files removed by this changeset. |
375 - node: String. The changeset identification hash, as a 40-character | 391 - node: String. The changeset identification hash, as a |
376 hexadecimal string. | 392 40-character hexadecimal string. |
377 - parents: List of strings. The parents of the changeset. | 393 - parents: List of strings. The parents of the changeset. |
378 - rev: Integer. The repository-local changeset revision number. | 394 - rev: Integer. The repository-local changeset revision number. |
379 - tags: List of strings. Any tags associated with the changeset. | 395 - tags: List of strings. Any tags associated with the changeset. |
380 | 396 |
381 The "date" keyword does not produce human-readable output. If you want to | 397 The "date" keyword does not produce human-readable output. If you |
382 use a date in your output, you can use a filter to process it. Filters are | 398 want to use a date in your output, you can use a filter to process |
383 functions which return a string based on the input variable. You can also | 399 it. Filters are functions which return a string based on the input |
384 use a chain of filters to get the desired output: | 400 variable. You can also use a chain of filters to get the desired |
401 output: | |
385 | 402 |
386 $ hg tip --template "{date|isodate}\n" | 403 $ hg tip --template "{date|isodate}\n" |
387 2008-08-21 18:22 +0000 | 404 2008-08-21 18:22 +0000 |
388 | 405 |
389 List of filters: | 406 List of filters: |
390 | 407 |
391 - addbreaks: Any text. Add an XHTML "<br />" tag before the end of every | 408 - addbreaks: Any text. Add an XHTML "<br />" tag before the end of |
392 line except the last. | 409 every line except the last. |
393 - age: Date. Returns a human-readable date/time difference between the | 410 - age: Date. Returns a human-readable date/time difference between |
394 given date/time and the current date/time. | 411 the given date/time and the current date/time. |
395 - basename: Any text. Treats the text as a path, and returns the last | 412 - basename: Any text. Treats the text as a path, and returns the |
396 component of the path after splitting by the path separator (ignoring | 413 last component of the path after splitting by the path separator |
397 trailing separators). For example, "foo/bar/baz" becomes "baz" and | 414 (ignoring trailing separators). For example, "foo/bar/baz" |
398 "foo/bar//" becomes "bar". | 415 becomes "baz" and "foo/bar//" becomes "bar". |
399 - stripdir: Treat the text as path and strip a directory level, if | 416 - stripdir: Treat the text as path and strip a directory level, if |
400 possible. For example, "foo" and "foo/bar" becomes "foo". | 417 possible. For example, "foo" and "foo/bar" becomes "foo". |
401 - date: Date. Returns a date in a Unix date format, including the | 418 - date: Date. Returns a date in a Unix date format, including the |
402 timezone: "Mon Sep 04 15:13:13 2006 0700". | 419 timezone: "Mon Sep 04 15:13:13 2006 0700". |
403 - domain: Any text. Finds the first string that looks like an email | 420 - domain: Any text. Finds the first string that looks like an |
404 address, and extracts just the domain component. Example: 'User | 421 email address, and extracts just the domain component. Example: |
405 <user@example.com>' becomes 'example.com'. | 422 'User <user@example.com>' becomes 'example.com'. |
406 - email: Any text. Extracts the first string that looks like an email | 423 - email: Any text. Extracts the first string that looks like an |
407 address. Example: 'User <user@example.com>' becomes 'user@example.com'. | 424 email address. Example: 'User <user@example.com>' becomes |
408 - escape: Any text. Replaces the special XML/XHTML characters "&", "<" and | 425 'user@example.com'. |
409 ">" with XML entities. | 426 - escape: Any text. Replaces the special XML/XHTML characters "&", |
427 "<" and ">" with XML entities. | |
410 - fill68: Any text. Wraps the text to fit in 68 columns. | 428 - fill68: Any text. Wraps the text to fit in 68 columns. |
411 - fill76: Any text. Wraps the text to fit in 76 columns. | 429 - fill76: Any text. Wraps the text to fit in 76 columns. |
412 - firstline: Any text. Returns the first line of text. | 430 - firstline: Any text. Returns the first line of text. |
413 - nonempty: Any text. Returns '(none)' if the string is empty. | 431 - nonempty: Any text. Returns '(none)' if the string is empty. |
414 - hgdate: Date. Returns the date as a pair of numbers: "1157407993 25200" | 432 - hgdate: Date. Returns the date as a pair of numbers: "1157407993 |
415 (Unix timestamp, timezone offset). | 433 25200" (Unix timestamp, timezone offset). |
416 - isodate: Date. Returns the date in ISO 8601 format. | 434 - isodate: Date. Returns the date in ISO 8601 format. |
417 - localdate: Date. Converts a date to local date. | 435 - localdate: Date. Converts a date to local date. |
418 - obfuscate: Any text. Returns the input text rendered as a sequence of | 436 - obfuscate: Any text. Returns the input text rendered as a |
419 XML entities. | 437 sequence of XML entities. |
420 - person: Any text. Returns the text before an email address. | 438 - person: Any text. Returns the text before an email address. |
421 - rfc822date: Date. Returns a date using the same format used in email | 439 - rfc822date: Date. Returns a date using the same format used in |
422 headers. | 440 email headers. |
423 - short: Changeset hash. Returns the short form of a changeset hash, i.e. | 441 - short: Changeset hash. Returns the short form of a changeset |
424 a 12-byte hexadecimal string. | 442 hash, i.e. a 12-byte hexadecimal string. |
425 - shortdate: Date. Returns a date like "2006-09-18". | 443 - shortdate: Date. Returns a date like "2006-09-18". |
426 - strip: Any text. Strips all leading and trailing whitespace. | 444 - strip: Any text. Strips all leading and trailing whitespace. |
427 - tabindent: Any text. Returns the text, with every line except the first | 445 - tabindent: Any text. Returns the text, with every line except |
428 starting with a tab character. | 446 the first starting with a tab character. |
429 - urlescape: Any text. Escapes all "special" characters. For example, "foo | 447 - urlescape: Any text. Escapes all "special" characters. For |
430 bar" becomes "foo%20bar". | 448 example, "foo bar" becomes "foo%20bar". |
431 - user: Any text. Returns the user portion of an email address. | 449 - user: Any text. Returns the user portion of an email address. |
432 ''')), | 450 ''')), |
433 | 451 |
434 (['urls'], _('URL Paths'), | 452 (['urls'], _('URL Paths'), |
435 _(r''' | 453 _(r''' |
439 file://local/filesystem/path[#revision] | 457 file://local/filesystem/path[#revision] |
440 http://[user[:pass]@]host[:port]/[path][#revision] | 458 http://[user[:pass]@]host[:port]/[path][#revision] |
441 https://[user[:pass]@]host[:port]/[path][#revision] | 459 https://[user[:pass]@]host[:port]/[path][#revision] |
442 ssh://[user[:pass]@]host[:port]/[path][#revision] | 460 ssh://[user[:pass]@]host[:port]/[path][#revision] |
443 | 461 |
444 Paths in the local filesystem can either point to Mercurial repositories | 462 Paths in the local filesystem can either point to Mercurial |
445 or to bundle files (as created by 'hg bundle' or 'hg incoming --bundle'). | 463 repositories or to bundle files (as created by 'hg bundle' or 'hg |
446 | 464 incoming --bundle'). |
447 An optional identifier after # indicates a particular branch, tag, or | 465 |
448 changeset to use from the remote repository. See also 'hg help revisions'. | 466 An optional identifier after # indicates a particular branch, tag, |
449 | 467 or changeset to use from the remote repository. See also 'hg help |
450 Some features, such as pushing to http:// and https:// URLs are only | 468 revisions'. |
451 possible if the feature is explicitly enabled on the remote Mercurial | 469 |
452 server. | 470 Some features, such as pushing to http:// and https:// URLs are |
471 only possible if the feature is explicitly enabled on the remote | |
472 Mercurial server. | |
453 | 473 |
454 Some notes about using SSH with Mercurial: | 474 Some notes about using SSH with Mercurial: |
455 | 475 |
456 - SSH requires an accessible shell account on the destination machine and | 476 - SSH requires an accessible shell account on the destination |
457 a copy of hg in the remote path or specified with as remotecmd. | 477 machine and a copy of hg in the remote path or specified with as |
458 - path is relative to the remote user's home directory by default. Use an | 478 remotecmd. |
459 extra slash at the start of a path to specify an absolute path:: | 479 - path is relative to the remote user's home directory by default. |
480 Use an extra slash at the start of a path to specify an absolute | |
481 path:: | |
460 | 482 |
461 ssh://example.com//tmp/repository | 483 ssh://example.com//tmp/repository |
462 | 484 |
463 - Mercurial doesn't use its own compression via SSH; the right thing to do | 485 - Mercurial doesn't use its own compression via SSH; the right |
464 is to configure it in your ~/.ssh/config, e.g.:: | 486 thing to do is to configure it in your ~/.ssh/config, e.g.:: |
465 | 487 |
466 Host *.mylocalnetwork.example.com | 488 Host *.mylocalnetwork.example.com |
467 Compression no | 489 Compression no |
468 Host * | 490 Host * |
469 Compression yes | 491 Compression yes |
470 | 492 |
471 Alternatively specify "ssh -C" as your ssh command in your hgrc or with | 493 Alternatively specify "ssh -C" as your ssh command in your hgrc |
472 the --ssh command line option. | 494 or with the --ssh command line option. |
473 | 495 |
474 These URLs can all be stored in your hgrc with path aliases under the | 496 These URLs can all be stored in your hgrc with path aliases under |
475 [paths] section like so:: | 497 the [paths] section like so:: |
476 | 498 |
477 [paths] | 499 [paths] |
478 alias1 = URL1 | 500 alias1 = URL1 |
479 alias2 = URL2 | 501 alias2 = URL2 |
480 ... | 502 ... |
481 | 503 |
482 You can then use the alias for any command that uses a URL (for example | 504 You can then use the alias for any command that uses a URL (for |
483 'hg pull alias1' would pull from the 'alias1' path). | 505 example 'hg pull alias1' would pull from the 'alias1' path). |
484 | 506 |
485 Two path aliases are special because they are used as defaults when you do | 507 Two path aliases are special because they are used as defaults |
486 not provide the URL to a command: | 508 when you do not provide the URL to a command: |
487 | 509 |
488 default: | 510 default: |
489 When you create a repository with hg clone, the clone command saves the | 511 When you create a repository with hg clone, the clone command |
490 location of the source repository as the new repository's 'default' | 512 saves the location of the source repository as the new |
491 path. This is then used when you omit path from push- and pull-like | 513 repository's 'default' path. This is then used when you omit |
492 commands (including incoming and outgoing). | 514 path from push- and pull-like commands (including incoming and |
515 outgoing). | |
493 | 516 |
494 default-push: | 517 default-push: |
495 The push command will look for a path named 'default-push', and prefer | 518 The push command will look for a path named 'default-push', and |
496 it over 'default' if both are defined. | 519 prefer it over 'default' if both are defined. |
497 ''')), | 520 ''')), |
498 (["extensions"], _("Using additional features"), extshelp), | 521 (["extensions"], _("Using additional features"), extshelp), |
499 ) | 522 ) |