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