##// END OF EJS Templates
help: document stripdir template filter
Martin Geisler -
r8159:19f22977 default
parent child Browse files
Show More
@@ -1,417 +1,419 b''
1 # help.py - help data for mercurial
1 # help.py - help data for mercurial
2 #
2 #
3 # Copyright 2006 Matt Mackall <mpm@selenic.com>
3 # Copyright 2006 Matt Mackall <mpm@selenic.com>
4 #
4 #
5 # This software may be used and distributed according to the terms
5 # This software may be used and distributed according to the terms
6 # of the GNU General Public License, incorporated herein by reference.
6 # of the GNU General Public License, incorporated herein by reference.
7
7
8 from i18n import _
8 from i18n import _
9
9
10 helptable = (
10 helptable = (
11 (["dates"], _("Date Formats"),
11 (["dates"], _("Date Formats"),
12 _(r'''
12 _(r'''
13 Some commands allow the user to specify a date, e.g.:
13 Some commands allow the user to specify a date, e.g.:
14 * backout, commit, import, tag: Specify the commit date.
14 * backout, commit, import, tag: Specify the commit date.
15 * log, revert, update: Select revision(s) by date.
15 * log, revert, update: Select revision(s) by date.
16
16
17 Many date formats are valid. Here are some examples:
17 Many date formats are valid. Here are some examples:
18
18
19 "Wed Dec 6 13:18:29 2006" (local timezone assumed)
19 "Wed Dec 6 13:18:29 2006" (local timezone assumed)
20 "Dec 6 13:18 -0600" (year assumed, time offset provided)
20 "Dec 6 13:18 -0600" (year assumed, time offset provided)
21 "Dec 6 13:18 UTC" (UTC and GMT are aliases for +0000)
21 "Dec 6 13:18 UTC" (UTC and GMT are aliases for +0000)
22 "Dec 6" (midnight)
22 "Dec 6" (midnight)
23 "13:18" (today assumed)
23 "13:18" (today assumed)
24 "3:39" (3:39AM assumed)
24 "3:39" (3:39AM assumed)
25 "3:39pm" (15:39)
25 "3:39pm" (15:39)
26 "2006-12-06 13:18:29" (ISO 8601 format)
26 "2006-12-06 13:18:29" (ISO 8601 format)
27 "2006-12-6 13:18"
27 "2006-12-6 13:18"
28 "2006-12-6"
28 "2006-12-6"
29 "12-6"
29 "12-6"
30 "12/6"
30 "12/6"
31 "12/6/6" (Dec 6 2006)
31 "12/6/6" (Dec 6 2006)
32
32
33 Lastly, there is Mercurial's internal format:
33 Lastly, there is Mercurial's internal format:
34
34
35 "1165432709 0" (Wed Dec 6 13:18:29 2006 UTC)
35 "1165432709 0" (Wed Dec 6 13:18:29 2006 UTC)
36
36
37 This is the internal representation format for dates. unixtime is
37 This is the internal representation format for dates. unixtime is
38 the number of seconds since the epoch (1970-01-01 00:00 UTC).
38 the number of seconds since the epoch (1970-01-01 00:00 UTC).
39 offset is the offset of the local timezone, in seconds west of UTC
39 offset is the offset of the local timezone, in seconds west of UTC
40 (negative if the timezone is east of UTC).
40 (negative if the timezone is east of UTC).
41
41
42 The log command also accepts date ranges:
42 The log command also accepts date ranges:
43
43
44 "<{datetime}" - at or before a given date/time
44 "<{datetime}" - at or before a given date/time
45 ">{datetime}" - on or after a given date/time
45 ">{datetime}" - on or after a given date/time
46 "{datetime} to {datetime}" - a date range, inclusive
46 "{datetime} to {datetime}" - a date range, inclusive
47 "-{days}" - within a given number of days of today
47 "-{days}" - within a given number of days of today
48 ''')),
48 ''')),
49
49
50 (["patterns"], _("File Name Patterns"),
50 (["patterns"], _("File Name Patterns"),
51 _(r'''
51 _(r'''
52 Mercurial accepts several notations for identifying one or more
52 Mercurial accepts several notations for identifying one or more
53 files at a time.
53 files at a time.
54
54
55 By default, Mercurial treats filenames as shell-style extended
55 By default, Mercurial treats filenames as shell-style extended
56 glob patterns.
56 glob patterns.
57
57
58 Alternate pattern notations must be specified explicitly.
58 Alternate pattern notations must be specified explicitly.
59
59
60 To use a plain path name without any pattern matching, start it
60 To use a plain path name without any pattern matching, start it
61 with "path:". These path names must completely match starting at
61 with "path:". These path names must completely match starting at
62 the current repository root.
62 the current repository root.
63
63
64 To use an extended glob, start a name with "glob:". Globs are
64 To use an extended glob, start a name with "glob:". Globs are
65 rooted at the current directory; a glob such as "*.c" will only
65 rooted at the current directory; a glob such as "*.c" will only
66 match files in the current directory ending with ".c".
66 match files in the current directory ending with ".c".
67
67
68 The supported glob syntax extensions are "**" to match any string
68 The supported glob syntax extensions are "**" to match any string
69 across path separators and "{a,b}" to mean "a or b".
69 across path separators and "{a,b}" to mean "a or b".
70
70
71 To use a Perl/Python regular expression, start a name with "re:".
71 To use a Perl/Python regular expression, start a name with "re:".
72 Regexp pattern matching is anchored at the root of the repository.
72 Regexp pattern matching is anchored at the root of the repository.
73
73
74 Plain examples:
74 Plain examples:
75
75
76 path:foo/bar a name bar in a directory named foo in the root of
76 path:foo/bar a name bar in a directory named foo in the root of
77 the repository
77 the repository
78 path:path:name a file or directory named "path:name"
78 path:path:name a file or directory named "path:name"
79
79
80 Glob examples:
80 Glob examples:
81
81
82 glob:*.c any name ending in ".c" in the current directory
82 glob:*.c any name ending in ".c" in the current directory
83 *.c any name ending in ".c" in the current directory
83 *.c any name ending in ".c" in the current directory
84 **.c any name ending in ".c" in any subdirectory of the
84 **.c any name ending in ".c" in any subdirectory of the
85 current directory including itself.
85 current directory including itself.
86 foo/*.c any name ending in ".c" in the directory foo
86 foo/*.c any name ending in ".c" in the directory foo
87 foo/**.c any name ending in ".c" in any subdirectory of foo
87 foo/**.c any name ending in ".c" in any subdirectory of foo
88 including itself.
88 including itself.
89
89
90 Regexp examples:
90 Regexp examples:
91
91
92 re:.*\.c$ any name ending in ".c", anywhere in the repository
92 re:.*\.c$ any name ending in ".c", anywhere in the repository
93
93
94 ''')),
94 ''')),
95
95
96 (['environment', 'env'], _('Environment Variables'),
96 (['environment', 'env'], _('Environment Variables'),
97 _(r'''
97 _(r'''
98 HG::
98 HG::
99 Path to the 'hg' executable, automatically passed when running
99 Path to the 'hg' executable, automatically passed when running
100 hooks, extensions or external tools. If unset or empty, this is
100 hooks, extensions or external tools. If unset or empty, this is
101 the hg executable's name if it's frozen, or an executable named
101 the hg executable's name if it's frozen, or an executable named
102 'hg' (with %PATHEXT% [defaulting to COM/EXE/BAT/CMD] extensions on
102 'hg' (with %PATHEXT% [defaulting to COM/EXE/BAT/CMD] extensions on
103 Windows) is searched.
103 Windows) is searched.
104
104
105 HGEDITOR::
105 HGEDITOR::
106 This is the name of the editor to run when committing. See EDITOR.
106 This is the name of the editor to run when committing. See EDITOR.
107
107
108 (deprecated, use .hgrc)
108 (deprecated, use .hgrc)
109
109
110 HGENCODING::
110 HGENCODING::
111 This overrides the default locale setting detected by Mercurial.
111 This overrides the default locale setting detected by Mercurial.
112 This setting is used to convert data including usernames,
112 This setting is used to convert data including usernames,
113 changeset descriptions, tag names, and branches. This setting can
113 changeset descriptions, tag names, and branches. This setting can
114 be overridden with the --encoding command-line option.
114 be overridden with the --encoding command-line option.
115
115
116 HGENCODINGMODE::
116 HGENCODINGMODE::
117 This sets Mercurial's behavior for handling unknown characters
117 This sets Mercurial's behavior for handling unknown characters
118 while transcoding user input. The default is "strict", which
118 while transcoding user input. The default is "strict", which
119 causes Mercurial to abort if it can't map a character. Other
119 causes Mercurial to abort if it can't map a character. Other
120 settings include "replace", which replaces unknown characters, and
120 settings include "replace", which replaces unknown characters, and
121 "ignore", which drops them. This setting can be overridden with
121 "ignore", which drops them. This setting can be overridden with
122 the --encodingmode command-line option.
122 the --encodingmode command-line option.
123
123
124 HGMERGE::
124 HGMERGE::
125 An executable to use for resolving merge conflicts. The program
125 An executable to use for resolving merge conflicts. The program
126 will be executed with three arguments: local file, remote file,
126 will be executed with three arguments: local file, remote file,
127 ancestor file.
127 ancestor file.
128
128
129 (deprecated, use .hgrc)
129 (deprecated, use .hgrc)
130
130
131 HGRCPATH::
131 HGRCPATH::
132 A list of files or directories to search for hgrc files. Item
132 A list of files or directories to search for hgrc files. Item
133 separator is ":" on Unix, ";" on Windows. If HGRCPATH is not set,
133 separator is ":" on Unix, ";" on Windows. If HGRCPATH is not set,
134 platform default search path is used. If empty, only the .hg/hgrc
134 platform default search path is used. If empty, only the .hg/hgrc
135 from the current repository is read.
135 from the current repository is read.
136
136
137 For each element in HGRCPATH:
137 For each element in HGRCPATH:
138 * if it's a directory, all files ending with .rc are added
138 * if it's a directory, all files ending with .rc are added
139 * otherwise, the file itself will be added
139 * otherwise, the file itself will be added
140
140
141 HGUSER::
141 HGUSER::
142 This is the string used as the author of a commit. If not set,
142 This is the string used as the author of a commit. If not set,
143 available values will be considered in this order:
143 available values will be considered in this order:
144
144
145 * HGUSER (deprecated)
145 * HGUSER (deprecated)
146 * hgrc files from the HGRCPATH
146 * hgrc files from the HGRCPATH
147 * EMAIL
147 * EMAIL
148 * interactive prompt
148 * interactive prompt
149 * LOGNAME (with '@hostname' appended)
149 * LOGNAME (with '@hostname' appended)
150
150
151 (deprecated, use .hgrc)
151 (deprecated, use .hgrc)
152
152
153 EMAIL::
153 EMAIL::
154 May be used as the author of a commit; see HGUSER.
154 May be used as the author of a commit; see HGUSER.
155
155
156 LOGNAME::
156 LOGNAME::
157 May be used as the author of a commit; see HGUSER.
157 May be used as the author of a commit; see HGUSER.
158
158
159 VISUAL::
159 VISUAL::
160 This is the name of the editor to use when committing. See EDITOR.
160 This is the name of the editor to use when committing. See EDITOR.
161
161
162 EDITOR::
162 EDITOR::
163 Sometimes Mercurial needs to open a text file in an editor for a
163 Sometimes Mercurial needs to open a text file in an editor for a
164 user to modify, for example when writing commit messages. The
164 user to modify, for example when writing commit messages. The
165 editor it uses is determined by looking at the environment
165 editor it uses is determined by looking at the environment
166 variables HGEDITOR, VISUAL and EDITOR, in that order. The first
166 variables HGEDITOR, VISUAL and EDITOR, in that order. The first
167 non-empty one is chosen. If all of them are empty, the editor
167 non-empty one is chosen. If all of them are empty, the editor
168 defaults to 'vi'.
168 defaults to 'vi'.
169
169
170 PYTHONPATH::
170 PYTHONPATH::
171 This is used by Python to find imported modules and may need to be
171 This is used by Python to find imported modules and may need to be
172 set appropriately if this Mercurial is not installed system-wide.
172 set appropriately if this Mercurial is not installed system-wide.
173 ''')),
173 ''')),
174
174
175 (['revs', 'revisions'], _('Specifying Single Revisions'),
175 (['revs', 'revisions'], _('Specifying Single Revisions'),
176 _(r'''
176 _(r'''
177 Mercurial supports several ways to specify individual revisions.
177 Mercurial supports several ways to specify individual revisions.
178
178
179 A plain integer is treated as a revision number. Negative integers
179 A plain integer is treated as a revision number. Negative integers
180 are treated as topological offsets from the tip, with -1 denoting
180 are treated as topological offsets from the tip, with -1 denoting
181 the tip. As such, negative numbers are only useful if you've
181 the tip. As such, negative numbers are only useful if you've
182 memorized your local tree numbers and want to save typing a single
182 memorized your local tree numbers and want to save typing a single
183 digit. This editor suggests copy and paste.
183 digit. This editor suggests copy and paste.
184
184
185 A 40-digit hexadecimal string is treated as a unique revision
185 A 40-digit hexadecimal string is treated as a unique revision
186 identifier.
186 identifier.
187
187
188 A hexadecimal string less than 40 characters long is treated as a
188 A hexadecimal string less than 40 characters long is treated as a
189 unique revision identifier, and referred to as a short-form
189 unique revision identifier, and referred to as a short-form
190 identifier. A short-form identifier is only valid if it is the
190 identifier. A short-form identifier is only valid if it is the
191 prefix of exactly one full-length identifier.
191 prefix of exactly one full-length identifier.
192
192
193 Any other string is treated as a tag name, which is a symbolic
193 Any other string is treated as a tag name, which is a symbolic
194 name associated with a revision identifier. Tag names may not
194 name associated with a revision identifier. Tag names may not
195 contain the ":" character.
195 contain the ":" character.
196
196
197 The reserved name "tip" is a special tag that always identifies
197 The reserved name "tip" is a special tag that always identifies
198 the most recent revision.
198 the most recent revision.
199
199
200 The reserved name "null" indicates the null revision. This is the
200 The reserved name "null" indicates the null revision. This is the
201 revision of an empty repository, and the parent of revision 0.
201 revision of an empty repository, and the parent of revision 0.
202
202
203 The reserved name "." indicates the working directory parent. If
203 The reserved name "." indicates the working directory parent. If
204 no working directory is checked out, it is equivalent to null. If
204 no working directory is checked out, it is equivalent to null. If
205 an uncommitted merge is in progress, "." is the revision of the
205 an uncommitted merge is in progress, "." is the revision of the
206 first parent.
206 first parent.
207 ''')),
207 ''')),
208
208
209 (['mrevs', 'multirevs'], _('Specifying Multiple Revisions'),
209 (['mrevs', 'multirevs'], _('Specifying Multiple Revisions'),
210 _(r'''
210 _(r'''
211 When Mercurial accepts more than one revision, they may be
211 When Mercurial accepts more than one revision, they may be
212 specified individually, or provided as a topologically continuous
212 specified individually, or provided as a topologically continuous
213 range, separated by the ":" character.
213 range, separated by the ":" character.
214
214
215 The syntax of range notation is [BEGIN]:[END], where BEGIN and END
215 The syntax of range notation is [BEGIN]:[END], where BEGIN and END
216 are revision identifiers. Both BEGIN and END are optional. If
216 are revision identifiers. Both BEGIN and END are optional. If
217 BEGIN is not specified, it defaults to revision number 0. If END
217 BEGIN is not specified, it defaults to revision number 0. If END
218 is not specified, it defaults to the tip. The range ":" thus means
218 is not specified, it defaults to the tip. The range ":" thus means
219 "all revisions".
219 "all revisions".
220
220
221 If BEGIN is greater than END, revisions are treated in reverse
221 If BEGIN is greater than END, revisions are treated in reverse
222 order.
222 order.
223
223
224 A range acts as a closed interval. This means that a range of 3:5
224 A range acts as a closed interval. This means that a range of 3:5
225 gives 3, 4 and 5. Similarly, a range of 9:6 gives 9, 8, 7, and 6.
225 gives 3, 4 and 5. Similarly, a range of 9:6 gives 9, 8, 7, and 6.
226 ''')),
226 ''')),
227
227
228 (['diffs'], _('Diff Formats'),
228 (['diffs'], _('Diff Formats'),
229 _(r'''
229 _(r'''
230 Mercurial's default format for showing changes between two
230 Mercurial's default format for showing changes between two
231 versions of a file is compatible with the unified format of GNU
231 versions of a file is compatible with the unified format of GNU
232 diff, which can be used by GNU patch and many other standard
232 diff, which can be used by GNU patch and many other standard
233 tools.
233 tools.
234
234
235 While this standard format is often enough, it does not encode the
235 While this standard format is often enough, it does not encode the
236 following information:
236 following information:
237
237
238 - executable status and other permission bits
238 - executable status and other permission bits
239 - copy or rename information
239 - copy or rename information
240 - changes in binary files
240 - changes in binary files
241 - creation or deletion of empty files
241 - creation or deletion of empty files
242
242
243 Mercurial also supports the extended diff format from the git VCS
243 Mercurial also supports the extended diff format from the git VCS
244 which addresses these limitations. The git diff format is not
244 which addresses these limitations. The git diff format is not
245 produced by default because a few widespread tools still do not
245 produced by default because a few widespread tools still do not
246 understand this format.
246 understand this format.
247
247
248 This means that when generating diffs from a Mercurial repository
248 This means that when generating diffs from a Mercurial repository
249 (e.g. with "hg export"), you should be careful about things like
249 (e.g. with "hg export"), you should be careful about things like
250 file copies and renames or other things mentioned above, because
250 file copies and renames or other things mentioned above, because
251 when applying a standard diff to a different repository, this
251 when applying a standard diff to a different repository, this
252 extra information is lost. Mercurial's internal operations (like
252 extra information is lost. Mercurial's internal operations (like
253 push and pull) are not affected by this, because they use an
253 push and pull) are not affected by this, because they use an
254 internal binary format for communicating changes.
254 internal binary format for communicating changes.
255
255
256 To make Mercurial produce the git extended diff format, use the
256 To make Mercurial produce the git extended diff format, use the
257 --git option available for many commands, or set 'git = True' in
257 --git option available for many commands, or set 'git = True' in
258 the [diff] section of your hgrc. You do not need to set this
258 the [diff] section of your hgrc. You do not need to set this
259 option when importing diffs in this format or using them in the mq
259 option when importing diffs in this format or using them in the mq
260 extension.
260 extension.
261 ''')),
261 ''')),
262 (['templating'], _('Template Usage'),
262 (['templating'], _('Template Usage'),
263 _(r'''
263 _(r'''
264 Mercurial allows you to customize output of commands through
264 Mercurial allows you to customize output of commands through
265 templates. You can either pass in a template from the command
265 templates. You can either pass in a template from the command
266 line, via the --template option, or select an existing
266 line, via the --template option, or select an existing
267 template-style (--style).
267 template-style (--style).
268
268
269 You can customize output for any "log-like" command: log,
269 You can customize output for any "log-like" command: log,
270 outgoing, incoming, tip, parents, heads and glog.
270 outgoing, incoming, tip, parents, heads and glog.
271
271
272 Three styles are packaged with Mercurial: default (the style used
272 Three styles are packaged with Mercurial: default (the style used
273 when no explicit preference is passed), compact and changelog.
273 when no explicit preference is passed), compact and changelog.
274 Usage:
274 Usage:
275
275
276 $ hg log -r1 --style changelog
276 $ hg log -r1 --style changelog
277
277
278 A template is a piece of text, with markup to invoke variable
278 A template is a piece of text, with markup to invoke variable
279 expansion:
279 expansion:
280
280
281 $ hg log -r1 --template "{node}\n"
281 $ hg log -r1 --template "{node}\n"
282 b56ce7b07c52de7d5fd79fb89701ea538af65746
282 b56ce7b07c52de7d5fd79fb89701ea538af65746
283
283
284 Strings in curly braces are called keywords. The availability of
284 Strings in curly braces are called keywords. The availability of
285 keywords depends on the exact context of the templater. These
285 keywords depends on the exact context of the templater. These
286 keywords are usually available for templating a log-like command:
286 keywords are usually available for templating a log-like command:
287
287
288 - author: String. The unmodified author of the changeset.
288 - author: String. The unmodified author of the changeset.
289 - branches: String. The name of the branch on which the changeset
289 - branches: String. The name of the branch on which the changeset
290 was committed. Will be empty if the branch name was default.
290 was committed. Will be empty if the branch name was default.
291 - date: Date information. The date when the changeset was committed.
291 - date: Date information. The date when the changeset was committed.
292 - desc: String. The text of the changeset description.
292 - desc: String. The text of the changeset description.
293 - diffstat: String. Statistics of changes with the following
293 - diffstat: String. Statistics of changes with the following
294 format: "modified files: +added/-removed lines"
294 format: "modified files: +added/-removed lines"
295 - files: List of strings. All files modified, added, or removed by
295 - files: List of strings. All files modified, added, or removed by
296 this changeset.
296 this changeset.
297 - file_adds: List of strings. Files added by this changeset.
297 - file_adds: List of strings. Files added by this changeset.
298 - file_mods: List of strings. Files modified by this changeset.
298 - file_mods: List of strings. Files modified by this changeset.
299 - file_dels: List of strings. Files removed by this changeset.
299 - file_dels: List of strings. Files removed by this changeset.
300 - node: String. The changeset identification hash, as a
300 - node: String. The changeset identification hash, as a
301 40-character hexadecimal string.
301 40-character hexadecimal string.
302 - parents: List of strings. The parents of the changeset.
302 - parents: List of strings. The parents of the changeset.
303 - rev: Integer. The repository-local changeset revision number.
303 - rev: Integer. The repository-local changeset revision number.
304 - tags: List of strings. Any tags associated with the changeset.
304 - tags: List of strings. Any tags associated with the changeset.
305
305
306 The "date" keyword does not produce human-readable output. If you
306 The "date" keyword does not produce human-readable output. If you
307 want to use a date in your output, you can use a filter to process
307 want to use a date in your output, you can use a filter to process
308 it. Filters are functions which return a string based on the input
308 it. Filters are functions which return a string based on the input
309 variable. You can also use a chain of filters to get the desired
309 variable. You can also use a chain of filters to get the desired
310 output:
310 output:
311
311
312 $ hg tip --template "{date|isodate}\n"
312 $ hg tip --template "{date|isodate}\n"
313 2008-08-21 18:22 +0000
313 2008-08-21 18:22 +0000
314
314
315 List of filters:
315 List of filters:
316
316
317 - addbreaks: Any text. Add an XHTML "<br />" tag before the end of
317 - addbreaks: Any text. Add an XHTML "<br />" tag before the end of
318 every line except the last.
318 every line except the last.
319 - age: Date. Returns a human-readable date/time difference between
319 - age: Date. Returns a human-readable date/time difference between
320 the given date/time and the current date/time.
320 the given date/time and the current date/time.
321 - basename: Any text. Treats the text as a path, and returns the
321 - basename: Any text. Treats the text as a path, and returns the
322 last component of the path after splitting by the path
322 last component of the path after splitting by the path
323 separator (ignoring trailing seprators). For example,
323 separator (ignoring trailing seprators). For example,
324 "foo/bar/baz" becomes "baz" and "foo/bar//" becomes "bar".
324 "foo/bar/baz" becomes "baz" and "foo/bar//" becomes "bar".
325 - stripdir: Treat the text as path and strip a directory level, if
326 possible. For example, "foo" and "foo/bar" becomes "foo".
325 - date: Date. Returns a date in a Unix date format, including
327 - date: Date. Returns a date in a Unix date format, including
326 the timezone: "Mon Sep 04 15:13:13 2006 0700".
328 the timezone: "Mon Sep 04 15:13:13 2006 0700".
327 - domain: Any text. Finds the first string that looks like an
329 - domain: Any text. Finds the first string that looks like an
328 email address, and extracts just the domain component.
330 email address, and extracts just the domain component.
329 Example: 'User <user@example.com>' becomes 'example.com'.
331 Example: 'User <user@example.com>' becomes 'example.com'.
330 - email: Any text. Extracts the first string that looks like an
332 - email: Any text. Extracts the first string that looks like an
331 email address. Example: 'User <user@example.com>' becomes
333 email address. Example: 'User <user@example.com>' becomes
332 'user@example.com'.
334 'user@example.com'.
333 - escape: Any text. Replaces the special XML/XHTML characters "&",
335 - escape: Any text. Replaces the special XML/XHTML characters "&",
334 "<" and ">" with XML entities.
336 "<" and ">" with XML entities.
335 - fill68: Any text. Wraps the text to fit in 68 columns.
337 - fill68: Any text. Wraps the text to fit in 68 columns.
336 - fill76: Any text. Wraps the text to fit in 76 columns.
338 - fill76: Any text. Wraps the text to fit in 76 columns.
337 - firstline: Any text. Returns the first line of text.
339 - firstline: Any text. Returns the first line of text.
338 - hgdate: Date. Returns the date as a pair of numbers:
340 - hgdate: Date. Returns the date as a pair of numbers:
339 "1157407993 25200" (Unix timestamp, timezone offset).
341 "1157407993 25200" (Unix timestamp, timezone offset).
340 - isodate: Date. Returns the date in ISO 8601 format.
342 - isodate: Date. Returns the date in ISO 8601 format.
341 - obfuscate: Any text. Returns the input text rendered as a
343 - obfuscate: Any text. Returns the input text rendered as a
342 sequence of XML entities.
344 sequence of XML entities.
343 - person: Any text. Returns the text before an email address.
345 - person: Any text. Returns the text before an email address.
344 - rfc822date: Date. Returns a date using the same format used
346 - rfc822date: Date. Returns a date using the same format used
345 in email headers.
347 in email headers.
346 - short: Changeset hash. Returns the short form of a changeset
348 - short: Changeset hash. Returns the short form of a changeset
347 hash, i.e. a 12-byte hexadecimal string.
349 hash, i.e. a 12-byte hexadecimal string.
348 - shortdate: Date. Returns a date like "2006-09-18".
350 - shortdate: Date. Returns a date like "2006-09-18".
349 - strip: Any text. Strips all leading and trailing whitespace.
351 - strip: Any text. Strips all leading and trailing whitespace.
350 - tabindent: Any text. Returns the text, with every line except
352 - tabindent: Any text. Returns the text, with every line except
351 the first starting with a tab character.
353 the first starting with a tab character.
352 - urlescape: Any text. Escapes all "special" characters. For
354 - urlescape: Any text. Escapes all "special" characters. For
353 example, "foo bar" becomes "foo%20bar".
355 example, "foo bar" becomes "foo%20bar".
354 - user: Any text. Returns the user portion of an email address.
356 - user: Any text. Returns the user portion of an email address.
355 ''')),
357 ''')),
356
358
357 (['urls'], _('URL Paths'),
359 (['urls'], _('URL Paths'),
358 _(r'''
360 _(r'''
359 Valid URLs are of the form:
361 Valid URLs are of the form:
360
362
361 local/filesystem/path (or file://local/filesystem/path)
363 local/filesystem/path (or file://local/filesystem/path)
362 http://[user[:pass]@]host[:port]/[path]
364 http://[user[:pass]@]host[:port]/[path]
363 https://[user[:pass]@]host[:port]/[path]
365 https://[user[:pass]@]host[:port]/[path]
364 ssh://[user[:pass]@]host[:port]/[path]
366 ssh://[user[:pass]@]host[:port]/[path]
365
367
366 Paths in the local filesystem can either point to Mercurial
368 Paths in the local filesystem can either point to Mercurial
367 repositories or to bundle files (as created by 'hg bundle' or
369 repositories or to bundle files (as created by 'hg bundle' or
368 'hg incoming --bundle').
370 'hg incoming --bundle').
369
371
370 An optional identifier after # indicates a particular branch, tag,
372 An optional identifier after # indicates a particular branch, tag,
371 or changeset to use from the remote repository.
373 or changeset to use from the remote repository.
372
374
373 Some features, such as pushing to http:// and https:// URLs are
375 Some features, such as pushing to http:// and https:// URLs are
374 only possible if the feature is explicitly enabled on the remote
376 only possible if the feature is explicitly enabled on the remote
375 Mercurial server.
377 Mercurial server.
376
378
377 Some notes about using SSH with Mercurial:
379 Some notes about using SSH with Mercurial:
378 - SSH requires an accessible shell account on the destination
380 - SSH requires an accessible shell account on the destination
379 machine and a copy of hg in the remote path or specified with as
381 machine and a copy of hg in the remote path or specified with as
380 remotecmd.
382 remotecmd.
381 - path is relative to the remote user's home directory by default.
383 - path is relative to the remote user's home directory by default.
382 Use an extra slash at the start of a path to specify an absolute path:
384 Use an extra slash at the start of a path to specify an absolute path:
383 ssh://example.com//tmp/repository
385 ssh://example.com//tmp/repository
384 - Mercurial doesn't use its own compression via SSH; the right
386 - Mercurial doesn't use its own compression via SSH; the right
385 thing to do is to configure it in your ~/.ssh/config, e.g.:
387 thing to do is to configure it in your ~/.ssh/config, e.g.:
386 Host *.mylocalnetwork.example.com
388 Host *.mylocalnetwork.example.com
387 Compression no
389 Compression no
388 Host *
390 Host *
389 Compression yes
391 Compression yes
390 Alternatively specify "ssh -C" as your ssh command in your hgrc
392 Alternatively specify "ssh -C" as your ssh command in your hgrc
391 or with the --ssh command line option.
393 or with the --ssh command line option.
392
394
393 These URLs can all be stored in your hgrc with path aliases under
395 These URLs can all be stored in your hgrc with path aliases under
394 the [paths] section like so:
396 the [paths] section like so:
395 [paths]
397 [paths]
396 alias1 = URL1
398 alias1 = URL1
397 alias2 = URL2
399 alias2 = URL2
398 ...
400 ...
399
401
400 You can then use the alias for any command that uses a URL (for
402 You can then use the alias for any command that uses a URL (for
401 example 'hg pull alias1' would pull from the 'alias1' path).
403 example 'hg pull alias1' would pull from the 'alias1' path).
402
404
403 Two path aliases are special because they are used as defaults
405 Two path aliases are special because they are used as defaults
404 when you do not provide the URL to a command:
406 when you do not provide the URL to a command:
405
407
406 default:
408 default:
407 When you create a repository with hg clone, the clone command
409 When you create a repository with hg clone, the clone command
408 saves the location of the source repository as the new
410 saves the location of the source repository as the new
409 repository's 'default' path. This is then used when you omit
411 repository's 'default' path. This is then used when you omit
410 path from push- and pull-like commands (including incoming and
412 path from push- and pull-like commands (including incoming and
411 outgoing).
413 outgoing).
412
414
413 default-push:
415 default-push:
414 The push command will look for a path named 'default-push', and
416 The push command will look for a path named 'default-push', and
415 prefer it over 'default' if both are defined.
417 prefer it over 'default' if both are defined.
416 ''')),
418 ''')),
417 )
419 )
General Comments 0
You need to be logged in to leave comments. Login now