mercurial/help.py
author Martin Geisler <mg@lazybytes.net>
Tue, 18 Aug 2009 13:55:34 +0200
changeset 9361 419aa488432e
parent 9327 9a69ab6d7cf7
parent 9360 f4f17d5695d2
child 9362 bb7e2cdd4854
permissions -rw-r--r--
Merge with crew-stable
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
3795
17a11f4ff260 Add basic support for help topics and a dates topic
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
     1
# help.py - help data for mercurial
17a11f4ff260 Add basic support for help topics and a dates topic
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
     2
#
17a11f4ff260 Add basic support for help topics and a dates topic
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
     3
# Copyright 2006 Matt Mackall <mpm@selenic.com>
17a11f4ff260 Add basic support for help topics and a dates topic
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
     4
#
8225
46293a0c7e9f updated license to be explicit about GPL version 2
Martin Geisler <mg@lazybytes.net>
parents: 8159
diff changeset
     5
# This software may be used and distributed according to the terms of the
46293a0c7e9f updated license to be explicit about GPL version 2
Martin Geisler <mg@lazybytes.net>
parents: 8159
diff changeset
     6
# GNU General Public License version 2, incorporated herein by reference.
3795
17a11f4ff260 Add basic support for help topics and a dates topic
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
     7
8871
20a25042fadc extensions: move extensions listing functions from mercurial.help
Cédric Duval <cedricduval@free.fr>
parents: 8865
diff changeset
     8
from i18n import _
8938
9b8c9266c59d commands: wrap short descriptions in 'hg help'
Martin Geisler <mg@lazybytes.net>
parents: 8933
diff changeset
     9
import extensions, util
8863
7b19c3c0172b help: adding a new help topic about extensions
Cédric Duval <cedricduval@free.fr>
parents: 8668
diff changeset
    10
7b19c3c0172b help: adding a new help topic about extensions
Cédric Duval <cedricduval@free.fr>
parents: 8668
diff changeset
    11
7b19c3c0172b help: adding a new help topic about extensions
Cédric Duval <cedricduval@free.fr>
parents: 8668
diff changeset
    12
def moduledoc(file):
8879
d0a3eadfbdb3 help: more improvements for the extensions topic
Cédric Duval <cedricduval@free.fr>
parents: 8871
diff changeset
    13
    '''return the top-level python documentation for the given file
d0a3eadfbdb3 help: more improvements for the extensions topic
Cédric Duval <cedricduval@free.fr>
parents: 8871
diff changeset
    14
d0a3eadfbdb3 help: more improvements for the extensions topic
Cédric Duval <cedricduval@free.fr>
parents: 8871
diff changeset
    15
    Loosely inspired by pydoc.source_synopsis(), but rewritten to handle \'''
d0a3eadfbdb3 help: more improvements for the extensions topic
Cédric Duval <cedricduval@free.fr>
parents: 8871
diff changeset
    16
    as well as """ and to return the whole text instead of just the synopsis'''
8863
7b19c3c0172b help: adding a new help topic about extensions
Cédric Duval <cedricduval@free.fr>
parents: 8668
diff changeset
    17
    result = []
7b19c3c0172b help: adding a new help topic about extensions
Cédric Duval <cedricduval@free.fr>
parents: 8668
diff changeset
    18
7b19c3c0172b help: adding a new help topic about extensions
Cédric Duval <cedricduval@free.fr>
parents: 8668
diff changeset
    19
    line = file.readline()
7b19c3c0172b help: adding a new help topic about extensions
Cédric Duval <cedricduval@free.fr>
parents: 8668
diff changeset
    20
    while line[:1] == '#' or not line.strip():
7b19c3c0172b help: adding a new help topic about extensions
Cédric Duval <cedricduval@free.fr>
parents: 8668
diff changeset
    21
        line = file.readline()
7b19c3c0172b help: adding a new help topic about extensions
Cédric Duval <cedricduval@free.fr>
parents: 8668
diff changeset
    22
        if not line: break
7b19c3c0172b help: adding a new help topic about extensions
Cédric Duval <cedricduval@free.fr>
parents: 8668
diff changeset
    23
7b19c3c0172b help: adding a new help topic about extensions
Cédric Duval <cedricduval@free.fr>
parents: 8668
diff changeset
    24
    start = line[:3]
7b19c3c0172b help: adding a new help topic about extensions
Cédric Duval <cedricduval@free.fr>
parents: 8668
diff changeset
    25
    if start == '"""' or start == "'''":
7b19c3c0172b help: adding a new help topic about extensions
Cédric Duval <cedricduval@free.fr>
parents: 8668
diff changeset
    26
        line = line[3:]
7b19c3c0172b help: adding a new help topic about extensions
Cédric Duval <cedricduval@free.fr>
parents: 8668
diff changeset
    27
        while line:
7b19c3c0172b help: adding a new help topic about extensions
Cédric Duval <cedricduval@free.fr>
parents: 8668
diff changeset
    28
            if line.rstrip().endswith(start):
7b19c3c0172b help: adding a new help topic about extensions
Cédric Duval <cedricduval@free.fr>
parents: 8668
diff changeset
    29
                line = line.split(start)[0]
7b19c3c0172b help: adding a new help topic about extensions
Cédric Duval <cedricduval@free.fr>
parents: 8668
diff changeset
    30
                if line:
7b19c3c0172b help: adding a new help topic about extensions
Cédric Duval <cedricduval@free.fr>
parents: 8668
diff changeset
    31
                    result.append(line)
7b19c3c0172b help: adding a new help topic about extensions
Cédric Duval <cedricduval@free.fr>
parents: 8668
diff changeset
    32
                break
7b19c3c0172b help: adding a new help topic about extensions
Cédric Duval <cedricduval@free.fr>
parents: 8668
diff changeset
    33
            elif not line:
7b19c3c0172b help: adding a new help topic about extensions
Cédric Duval <cedricduval@free.fr>
parents: 8668
diff changeset
    34
                return None # unmatched delimiter
7b19c3c0172b help: adding a new help topic about extensions
Cédric Duval <cedricduval@free.fr>
parents: 8668
diff changeset
    35
            result.append(line)
7b19c3c0172b help: adding a new help topic about extensions
Cédric Duval <cedricduval@free.fr>
parents: 8668
diff changeset
    36
            line = file.readline()
7b19c3c0172b help: adding a new help topic about extensions
Cédric Duval <cedricduval@free.fr>
parents: 8668
diff changeset
    37
    else:
7b19c3c0172b help: adding a new help topic about extensions
Cédric Duval <cedricduval@free.fr>
parents: 8668
diff changeset
    38
        return None
7b19c3c0172b help: adding a new help topic about extensions
Cédric Duval <cedricduval@free.fr>
parents: 8668
diff changeset
    39
7b19c3c0172b help: adding a new help topic about extensions
Cédric Duval <cedricduval@free.fr>
parents: 8668
diff changeset
    40
    return ''.join(result)
7b19c3c0172b help: adding a new help topic about extensions
Cédric Duval <cedricduval@free.fr>
parents: 8668
diff changeset
    41
8879
d0a3eadfbdb3 help: more improvements for the extensions topic
Cédric Duval <cedricduval@free.fr>
parents: 8871
diff changeset
    42
def listexts(header, exts, maxlength):
d0a3eadfbdb3 help: more improvements for the extensions topic
Cédric Duval <cedricduval@free.fr>
parents: 8871
diff changeset
    43
    '''return a text listing of the given extensions'''
d0a3eadfbdb3 help: more improvements for the extensions topic
Cédric Duval <cedricduval@free.fr>
parents: 8871
diff changeset
    44
    if not exts:
d0a3eadfbdb3 help: more improvements for the extensions topic
Cédric Duval <cedricduval@free.fr>
parents: 8871
diff changeset
    45
        return ''
d0a3eadfbdb3 help: more improvements for the extensions topic
Cédric Duval <cedricduval@free.fr>
parents: 8871
diff changeset
    46
    result = '\n%s\n\n' % header
d0a3eadfbdb3 help: more improvements for the extensions topic
Cédric Duval <cedricduval@free.fr>
parents: 8871
diff changeset
    47
    for name, desc in sorted(exts.iteritems()):
9295
b0f447a259ab help: use field lists for lists of extensions
Martin Geisler <mg@lazybytes.net>
parents: 9294
diff changeset
    48
        result += ' %-*s %s\n' % (maxlength + 2, ':%s:' % name, desc)
8864
cad6370a15cb help: refactor extensions listing, and show enabled ones in the dedicated topic
Cédric Duval <cedricduval@free.fr>
parents: 8863
diff changeset
    49
    return result
cad6370a15cb help: refactor extensions listing, and show enabled ones in the dedicated topic
Cédric Duval <cedricduval@free.fr>
parents: 8863
diff changeset
    50
8879
d0a3eadfbdb3 help: more improvements for the extensions topic
Cédric Duval <cedricduval@free.fr>
parents: 8871
diff changeset
    51
def extshelp():
8863
7b19c3c0172b help: adding a new help topic about extensions
Cédric Duval <cedricduval@free.fr>
parents: 8668
diff changeset
    52
    doc = _(r'''
8880
a3a936a2fe46 help: improve grammar/wording of 'extensions' topic
Greg Ward <greg-hg@gerg.ca>
parents: 8879
diff changeset
    53
    Mercurial has the ability to add new features through the use of
a3a936a2fe46 help: improve grammar/wording of 'extensions' topic
Greg Ward <greg-hg@gerg.ca>
parents: 8879
diff changeset
    54
    extensions. Extensions may add new commands, add options to
a3a936a2fe46 help: improve grammar/wording of 'extensions' topic
Greg Ward <greg-hg@gerg.ca>
parents: 8879
diff changeset
    55
    existing commands, change the default behavior of commands, or
a3a936a2fe46 help: improve grammar/wording of 'extensions' topic
Greg Ward <greg-hg@gerg.ca>
parents: 8879
diff changeset
    56
    implement hooks.
8865
37d8a5ddd499 help: expand the extensions topic
Cédric Duval <cedricduval@free.fr>
parents: 8864
diff changeset
    57
8880
a3a936a2fe46 help: improve grammar/wording of 'extensions' topic
Greg Ward <greg-hg@gerg.ca>
parents: 8879
diff changeset
    58
    Extensions are not loaded by default for a variety of reasons:
9277
1f0085918c29 help: wrap help strings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents: 9160
diff changeset
    59
    they can increase startup overhead; they may be meant for advanced
1f0085918c29 help: wrap help strings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents: 9160
diff changeset
    60
    usage only; they may provide potentially dangerous abilities (such
1f0085918c29 help: wrap help strings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents: 9160
diff changeset
    61
    as letting you destroy or modify history); they might not be ready
1f0085918c29 help: wrap help strings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents: 9160
diff changeset
    62
    for prime time; or they may alter some usual behaviors of stock
1f0085918c29 help: wrap help strings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents: 9160
diff changeset
    63
    Mercurial. It is thus up to the user to activate extensions as
1f0085918c29 help: wrap help strings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents: 9160
diff changeset
    64
    needed.
8865
37d8a5ddd499 help: expand the extensions topic
Cédric Duval <cedricduval@free.fr>
parents: 8864
diff changeset
    65
9277
1f0085918c29 help: wrap help strings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents: 9160
diff changeset
    66
    To enable the "foo" extension, either shipped with Mercurial or in
1f0085918c29 help: wrap help strings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents: 9160
diff changeset
    67
    the Python search path, create an entry for it in your hgrc, like
1f0085918c29 help: wrap help strings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents: 9160
diff changeset
    68
    this::
8863
7b19c3c0172b help: adding a new help topic about extensions
Cédric Duval <cedricduval@free.fr>
parents: 8668
diff changeset
    69
8865
37d8a5ddd499 help: expand the extensions topic
Cédric Duval <cedricduval@free.fr>
parents: 8864
diff changeset
    70
      [extensions]
37d8a5ddd499 help: expand the extensions topic
Cédric Duval <cedricduval@free.fr>
parents: 8864
diff changeset
    71
      foo =
37d8a5ddd499 help: expand the extensions topic
Cédric Duval <cedricduval@free.fr>
parents: 8864
diff changeset
    72
9157
9261667e9b82 commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents: 9082
diff changeset
    73
    You may also specify the full path to an extension::
8865
37d8a5ddd499 help: expand the extensions topic
Cédric Duval <cedricduval@free.fr>
parents: 8864
diff changeset
    74
37d8a5ddd499 help: expand the extensions topic
Cédric Duval <cedricduval@free.fr>
parents: 8864
diff changeset
    75
      [extensions]
37d8a5ddd499 help: expand the extensions topic
Cédric Duval <cedricduval@free.fr>
parents: 8864
diff changeset
    76
      myfeature = ~/.hgext/myfeature.py
37d8a5ddd499 help: expand the extensions topic
Cédric Duval <cedricduval@free.fr>
parents: 8864
diff changeset
    77
8879
d0a3eadfbdb3 help: more improvements for the extensions topic
Cédric Duval <cedricduval@free.fr>
parents: 8871
diff changeset
    78
    To explicitly disable an extension enabled in an hgrc of broader
9277
1f0085918c29 help: wrap help strings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents: 9160
diff changeset
    79
    scope, prepend its path with !::
8865
37d8a5ddd499 help: expand the extensions topic
Cédric Duval <cedricduval@free.fr>
parents: 8864
diff changeset
    80
37d8a5ddd499 help: expand the extensions topic
Cédric Duval <cedricduval@free.fr>
parents: 8864
diff changeset
    81
      [extensions]
8895
ef59f4634a15 help: fixing non-matching example texts
Cédric Duval <cedricduval@free.fr>
parents: 8889
diff changeset
    82
      # disabling extension bar residing in /path/to/extension/bar.py
8865
37d8a5ddd499 help: expand the extensions topic
Cédric Duval <cedricduval@free.fr>
parents: 8864
diff changeset
    83
      hgext.bar = !/path/to/extension/bar.py
37d8a5ddd499 help: expand the extensions topic
Cédric Duval <cedricduval@free.fr>
parents: 8864
diff changeset
    84
      # ditto, but no path was supplied for extension baz
37d8a5ddd499 help: expand the extensions topic
Cédric Duval <cedricduval@free.fr>
parents: 8864
diff changeset
    85
      hgext.baz = !
8863
7b19c3c0172b help: adding a new help topic about extensions
Cédric Duval <cedricduval@free.fr>
parents: 8668
diff changeset
    86
    ''')
7b19c3c0172b help: adding a new help topic about extensions
Cédric Duval <cedricduval@free.fr>
parents: 8668
diff changeset
    87
8871
20a25042fadc extensions: move extensions listing functions from mercurial.help
Cédric Duval <cedricduval@free.fr>
parents: 8865
diff changeset
    88
    exts, maxlength = extensions.enabled()
8879
d0a3eadfbdb3 help: more improvements for the extensions topic
Cédric Duval <cedricduval@free.fr>
parents: 8871
diff changeset
    89
    doc += listexts(_('enabled extensions:'), exts, maxlength)
8864
cad6370a15cb help: refactor extensions listing, and show enabled ones in the dedicated topic
Cédric Duval <cedricduval@free.fr>
parents: 8863
diff changeset
    90
8871
20a25042fadc extensions: move extensions listing functions from mercurial.help
Cédric Duval <cedricduval@free.fr>
parents: 8865
diff changeset
    91
    exts, maxlength = extensions.disabled()
8879
d0a3eadfbdb3 help: more improvements for the extensions topic
Cédric Duval <cedricduval@free.fr>
parents: 8871
diff changeset
    92
    doc += listexts(_('disabled extensions:'), exts, maxlength)
8863
7b19c3c0172b help: adding a new help topic about extensions
Cédric Duval <cedricduval@free.fr>
parents: 8668
diff changeset
    93
7b19c3c0172b help: adding a new help topic about extensions
Cédric Duval <cedricduval@free.fr>
parents: 8668
diff changeset
    94
    return doc
7013
f56e788fa292 i18n: mark help strings for translation
Martin Geisler <mg@daimi.au.dk>
parents: 7012
diff changeset
    95
6654
2713e42dcf4e help: helptable is an ordered collection
Johannes Stezenbach <js@sig21.net>
parents: 6163
diff changeset
    96
helptable = (
7013
f56e788fa292 i18n: mark help strings for translation
Martin Geisler <mg@daimi.au.dk>
parents: 7012
diff changeset
    97
    (["dates"], _("Date Formats"),
f56e788fa292 i18n: mark help strings for translation
Martin Geisler <mg@daimi.au.dk>
parents: 7012
diff changeset
    98
     _(r'''
7764
14a42208d8af help: better formatting in "Date Formats" section
timeless <timeless@gmail.com>
parents: 7693
diff changeset
    99
    Some commands allow the user to specify a date, e.g.:
6163
1f733c2f0165 Document log date ranges and mention 'hg help dates' for all commands (issue998)
Thomas Arendsen Hein <thomas@intevation.de>
parents: 6009
diff changeset
   100
9157
9261667e9b82 commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents: 9082
diff changeset
   101
    - backout, commit, import, tag: Specify the commit date.
9261667e9b82 commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents: 9082
diff changeset
   102
    - log, revert, update: Select revision(s) by date.
9261667e9b82 commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents: 9082
diff changeset
   103
9261667e9b82 commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents: 9082
diff changeset
   104
    Many date formats are valid. Here are some examples::
3795
17a11f4ff260 Add basic support for help topics and a dates topic
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   105
9157
9261667e9b82 commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents: 9082
diff changeset
   106
      "Wed Dec 6 13:18:29 2006" (local timezone assumed)
9261667e9b82 commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents: 9082
diff changeset
   107
      "Dec 6 13:18 -0600" (year assumed, time offset provided)
9261667e9b82 commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents: 9082
diff changeset
   108
      "Dec 6 13:18 UTC" (UTC and GMT are aliases for +0000)
9261667e9b82 commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents: 9082
diff changeset
   109
      "Dec 6" (midnight)
9261667e9b82 commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents: 9082
diff changeset
   110
      "13:18" (today assumed)
9261667e9b82 commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents: 9082
diff changeset
   111
      "3:39" (3:39AM assumed)
9261667e9b82 commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents: 9082
diff changeset
   112
      "3:39pm" (15:39)
9261667e9b82 commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents: 9082
diff changeset
   113
      "2006-12-06 13:18:29" (ISO 8601 format)
9261667e9b82 commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents: 9082
diff changeset
   114
      "2006-12-6 13:18"
9261667e9b82 commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents: 9082
diff changeset
   115
      "2006-12-6"
9261667e9b82 commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents: 9082
diff changeset
   116
      "12-6"
9261667e9b82 commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents: 9082
diff changeset
   117
      "12/6"
9261667e9b82 commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents: 9082
diff changeset
   118
      "12/6/6" (Dec 6 2006)
3795
17a11f4ff260 Add basic support for help topics and a dates topic
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   119
9290
26fb5b0a4424 help: mark literal blocks
Martin Geisler <mg@lazybytes.net>
parents: 9277
diff changeset
   120
    Lastly, there is Mercurial's internal format::
3795
17a11f4ff260 Add basic support for help topics and a dates topic
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   121
9290
26fb5b0a4424 help: mark literal blocks
Martin Geisler <mg@lazybytes.net>
parents: 9277
diff changeset
   122
      "1165432709 0" (Wed Dec 6 13:18:29 2006 UTC)
3795
17a11f4ff260 Add basic support for help topics and a dates topic
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   123
17a11f4ff260 Add basic support for help topics and a dates topic
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   124
    This is the internal representation format for dates. unixtime is
8005
595baa7c726f help: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7979
diff changeset
   125
    the number of seconds since the epoch (1970-01-01 00:00 UTC).
595baa7c726f help: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7979
diff changeset
   126
    offset is the offset of the local timezone, in seconds west of UTC
595baa7c726f help: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7979
diff changeset
   127
    (negative if the timezone is east of UTC).
6163
1f733c2f0165 Document log date ranges and mention 'hg help dates' for all commands (issue998)
Thomas Arendsen Hein <thomas@intevation.de>
parents: 6009
diff changeset
   128
9157
9261667e9b82 commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents: 9082
diff changeset
   129
    The log command also accepts date ranges::
6163
1f733c2f0165 Document log date ranges and mention 'hg help dates' for all commands (issue998)
Thomas Arendsen Hein <thomas@intevation.de>
parents: 6009
diff changeset
   130
9157
9261667e9b82 commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents: 9082
diff changeset
   131
      "<{datetime}" - at or before a given date/time
9261667e9b82 commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents: 9082
diff changeset
   132
      ">{datetime}" - on or after a given date/time
9261667e9b82 commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents: 9082
diff changeset
   133
      "{datetime} to {datetime}" - a date range, inclusive
9261667e9b82 commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents: 9082
diff changeset
   134
      "-{days}" - within a given number of days of today
7013
f56e788fa292 i18n: mark help strings for translation
Martin Geisler <mg@daimi.au.dk>
parents: 7012
diff changeset
   135
    ''')),
6654
2713e42dcf4e help: helptable is an ordered collection
Johannes Stezenbach <js@sig21.net>
parents: 6163
diff changeset
   136
7013
f56e788fa292 i18n: mark help strings for translation
Martin Geisler <mg@daimi.au.dk>
parents: 7012
diff changeset
   137
    (["patterns"], _("File Name Patterns"),
f56e788fa292 i18n: mark help strings for translation
Martin Geisler <mg@daimi.au.dk>
parents: 7012
diff changeset
   138
     _(r'''
6654
2713e42dcf4e help: helptable is an ordered collection
Johannes Stezenbach <js@sig21.net>
parents: 6163
diff changeset
   139
    Mercurial accepts several notations for identifying one or more
2713e42dcf4e help: helptable is an ordered collection
Johannes Stezenbach <js@sig21.net>
parents: 6163
diff changeset
   140
    files at a time.
2713e42dcf4e help: helptable is an ordered collection
Johannes Stezenbach <js@sig21.net>
parents: 6163
diff changeset
   141
2713e42dcf4e help: helptable is an ordered collection
Johannes Stezenbach <js@sig21.net>
parents: 6163
diff changeset
   142
    By default, Mercurial treats filenames as shell-style extended
2713e42dcf4e help: helptable is an ordered collection
Johannes Stezenbach <js@sig21.net>
parents: 6163
diff changeset
   143
    glob patterns.
2713e42dcf4e help: helptable is an ordered collection
Johannes Stezenbach <js@sig21.net>
parents: 6163
diff changeset
   144
2713e42dcf4e help: helptable is an ordered collection
Johannes Stezenbach <js@sig21.net>
parents: 6163
diff changeset
   145
    Alternate pattern notations must be specified explicitly.
2713e42dcf4e help: helptable is an ordered collection
Johannes Stezenbach <js@sig21.net>
parents: 6163
diff changeset
   146
7804
06afe0f9dbf8 help: some language fixes for help topics
timeless <timeless@gmail.com>
parents: 7764
diff changeset
   147
    To use a plain path name without any pattern matching, start it
7808
5b010dae99c3 help: get rid of double spaces
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 7806
diff changeset
   148
    with "path:". These path names must completely match starting at
7804
06afe0f9dbf8 help: some language fixes for help topics
timeless <timeless@gmail.com>
parents: 7764
diff changeset
   149
    the current repository root.
6654
2713e42dcf4e help: helptable is an ordered collection
Johannes Stezenbach <js@sig21.net>
parents: 6163
diff changeset
   150
7808
5b010dae99c3 help: get rid of double spaces
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 7806
diff changeset
   151
    To use an extended glob, start a name with "glob:". Globs are
9277
1f0085918c29 help: wrap help strings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents: 9160
diff changeset
   152
    rooted at the current directory; a glob such as "``*.c``" will
1f0085918c29 help: wrap help strings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents: 9160
diff changeset
   153
    only match files in the current directory ending with ".c".
6654
2713e42dcf4e help: helptable is an ordered collection
Johannes Stezenbach <js@sig21.net>
parents: 6163
diff changeset
   154
9277
1f0085918c29 help: wrap help strings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents: 9160
diff changeset
   155
    The supported glob syntax extensions are "``**``" to match any
1f0085918c29 help: wrap help strings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents: 9160
diff changeset
   156
    string across path separators and "{a,b}" to mean "a or b".
3799
eb66d76c7746 move patterns topics
Matt Mackall <mpm@selenic.com>
parents: 3798
diff changeset
   157
6654
2713e42dcf4e help: helptable is an ordered collection
Johannes Stezenbach <js@sig21.net>
parents: 6163
diff changeset
   158
    To use a Perl/Python regular expression, start a name with "re:".
2713e42dcf4e help: helptable is an ordered collection
Johannes Stezenbach <js@sig21.net>
parents: 6163
diff changeset
   159
    Regexp pattern matching is anchored at the root of the repository.
2713e42dcf4e help: helptable is an ordered collection
Johannes Stezenbach <js@sig21.net>
parents: 6163
diff changeset
   160
9157
9261667e9b82 commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents: 9082
diff changeset
   161
    Plain examples::
6654
2713e42dcf4e help: helptable is an ordered collection
Johannes Stezenbach <js@sig21.net>
parents: 6163
diff changeset
   162
9277
1f0085918c29 help: wrap help strings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents: 9160
diff changeset
   163
      path:foo/bar   a name bar in a directory named foo in the root
1f0085918c29 help: wrap help strings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents: 9160
diff changeset
   164
                     of the repository
9157
9261667e9b82 commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents: 9082
diff changeset
   165
      path:path:name a file or directory named "path:name"
6654
2713e42dcf4e help: helptable is an ordered collection
Johannes Stezenbach <js@sig21.net>
parents: 6163
diff changeset
   166
9157
9261667e9b82 commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents: 9082
diff changeset
   167
    Glob examples::
6654
2713e42dcf4e help: helptable is an ordered collection
Johannes Stezenbach <js@sig21.net>
parents: 6163
diff changeset
   168
9157
9261667e9b82 commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents: 9082
diff changeset
   169
      glob:*.c       any name ending in ".c" in the current directory
9261667e9b82 commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents: 9082
diff changeset
   170
      *.c            any name ending in ".c" in the current directory
9261667e9b82 commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents: 9082
diff changeset
   171
      **.c           any name ending in ".c" in any subdirectory of the
9261667e9b82 commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents: 9082
diff changeset
   172
                     current directory including itself.
9261667e9b82 commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents: 9082
diff changeset
   173
      foo/*.c        any name ending in ".c" in the directory foo
9261667e9b82 commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents: 9082
diff changeset
   174
      foo/**.c       any name ending in ".c" in any subdirectory of foo
9261667e9b82 commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents: 9082
diff changeset
   175
                     including itself.
6654
2713e42dcf4e help: helptable is an ordered collection
Johannes Stezenbach <js@sig21.net>
parents: 6163
diff changeset
   176
9157
9261667e9b82 commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents: 9082
diff changeset
   177
    Regexp examples::
6654
2713e42dcf4e help: helptable is an ordered collection
Johannes Stezenbach <js@sig21.net>
parents: 6163
diff changeset
   178
9157
9261667e9b82 commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents: 9082
diff changeset
   179
      re:.*\.c$      any name ending in ".c", anywhere in the repository
6654
2713e42dcf4e help: helptable is an ordered collection
Johannes Stezenbach <js@sig21.net>
parents: 6163
diff changeset
   180
7013
f56e788fa292 i18n: mark help strings for translation
Martin Geisler <mg@daimi.au.dk>
parents: 7012
diff changeset
   181
    ''')),
6654
2713e42dcf4e help: helptable is an ordered collection
Johannes Stezenbach <js@sig21.net>
parents: 6163
diff changeset
   182
7013
f56e788fa292 i18n: mark help strings for translation
Martin Geisler <mg@daimi.au.dk>
parents: 7012
diff changeset
   183
    (['environment', 'env'], _('Environment Variables'),
f56e788fa292 i18n: mark help strings for translation
Martin Geisler <mg@daimi.au.dk>
parents: 7012
diff changeset
   184
     _(r'''
9157
9261667e9b82 commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents: 9082
diff changeset
   185
HG
8005
595baa7c726f help: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7979
diff changeset
   186
    Path to the 'hg' executable, automatically passed when running
595baa7c726f help: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7979
diff changeset
   187
    hooks, extensions or external tools. If unset or empty, this is
595baa7c726f help: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7979
diff changeset
   188
    the hg executable's name if it's frozen, or an executable named
595baa7c726f help: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7979
diff changeset
   189
    'hg' (with %PATHEXT% [defaulting to COM/EXE/BAT/CMD] extensions on
7804
06afe0f9dbf8 help: some language fixes for help topics
timeless <timeless@gmail.com>
parents: 7764
diff changeset
   190
    Windows) is searched.
4686
849f011dbf79 Remember path to 'hg' executable and pass to external tools and hooks as $HG.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 3913
diff changeset
   191
9157
9261667e9b82 commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents: 9082
diff changeset
   192
HGEDITOR
7804
06afe0f9dbf8 help: some language fixes for help topics
timeless <timeless@gmail.com>
parents: 7764
diff changeset
   193
    This is the name of the editor to run when committing. See EDITOR.
3798
6f0c42d50394 move environment topic
Matt Mackall <mpm@selenic.com>
parents: 3795
diff changeset
   194
6f0c42d50394 move environment topic
Matt Mackall <mpm@selenic.com>
parents: 3795
diff changeset
   195
    (deprecated, use .hgrc)
6f0c42d50394 move environment topic
Matt Mackall <mpm@selenic.com>
parents: 3795
diff changeset
   196
9157
9261667e9b82 commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents: 9082
diff changeset
   197
HGENCODING
3798
6f0c42d50394 move environment topic
Matt Mackall <mpm@selenic.com>
parents: 3795
diff changeset
   198
    This overrides the default locale setting detected by Mercurial.
6f0c42d50394 move environment topic
Matt Mackall <mpm@selenic.com>
parents: 3795
diff changeset
   199
    This setting is used to convert data including usernames,
6f0c42d50394 move environment topic
Matt Mackall <mpm@selenic.com>
parents: 3795
diff changeset
   200
    changeset descriptions, tag names, and branches. This setting can
6f0c42d50394 move environment topic
Matt Mackall <mpm@selenic.com>
parents: 3795
diff changeset
   201
    be overridden with the --encoding command-line option.
6f0c42d50394 move environment topic
Matt Mackall <mpm@selenic.com>
parents: 3795
diff changeset
   202
9157
9261667e9b82 commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents: 9082
diff changeset
   203
HGENCODINGMODE
3798
6f0c42d50394 move environment topic
Matt Mackall <mpm@selenic.com>
parents: 3795
diff changeset
   204
    This sets Mercurial's behavior for handling unknown characters
7804
06afe0f9dbf8 help: some language fixes for help topics
timeless <timeless@gmail.com>
parents: 7764
diff changeset
   205
    while transcoding user input. The default is "strict", which
06afe0f9dbf8 help: some language fixes for help topics
timeless <timeless@gmail.com>
parents: 7764
diff changeset
   206
    causes Mercurial to abort if it can't map a character. Other
3798
6f0c42d50394 move environment topic
Matt Mackall <mpm@selenic.com>
parents: 3795
diff changeset
   207
    settings include "replace", which replaces unknown characters, and
6f0c42d50394 move environment topic
Matt Mackall <mpm@selenic.com>
parents: 3795
diff changeset
   208
    "ignore", which drops them. This setting can be overridden with
6f0c42d50394 move environment topic
Matt Mackall <mpm@selenic.com>
parents: 3795
diff changeset
   209
    the --encodingmode command-line option.
6f0c42d50394 move environment topic
Matt Mackall <mpm@selenic.com>
parents: 3795
diff changeset
   210
9157
9261667e9b82 commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents: 9082
diff changeset
   211
HGMERGE
3798
6f0c42d50394 move environment topic
Matt Mackall <mpm@selenic.com>
parents: 3795
diff changeset
   212
    An executable to use for resolving merge conflicts. The program
6f0c42d50394 move environment topic
Matt Mackall <mpm@selenic.com>
parents: 3795
diff changeset
   213
    will be executed with three arguments: local file, remote file,
6f0c42d50394 move environment topic
Matt Mackall <mpm@selenic.com>
parents: 3795
diff changeset
   214
    ancestor file.
6f0c42d50394 move environment topic
Matt Mackall <mpm@selenic.com>
parents: 3795
diff changeset
   215
6f0c42d50394 move environment topic
Matt Mackall <mpm@selenic.com>
parents: 3795
diff changeset
   216
    (deprecated, use .hgrc)
6f0c42d50394 move environment topic
Matt Mackall <mpm@selenic.com>
parents: 3795
diff changeset
   217
9157
9261667e9b82 commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents: 9082
diff changeset
   218
HGRCPATH
7808
5b010dae99c3 help: get rid of double spaces
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 7806
diff changeset
   219
    A list of files or directories to search for hgrc files. Item
5b010dae99c3 help: get rid of double spaces
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 7806
diff changeset
   220
    separator is ":" on Unix, ";" on Windows. If HGRCPATH is not set,
5b010dae99c3 help: get rid of double spaces
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 7806
diff changeset
   221
    platform default search path is used. If empty, only the .hg/hgrc
7804
06afe0f9dbf8 help: some language fixes for help topics
timeless <timeless@gmail.com>
parents: 7764
diff changeset
   222
    from the current repository is read.
3798
6f0c42d50394 move environment topic
Matt Mackall <mpm@selenic.com>
parents: 3795
diff changeset
   223
7805
cf6ec23a1bb5 help: better explanation for some of the environment variables
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 7804
diff changeset
   224
    For each element in HGRCPATH:
3798
6f0c42d50394 move environment topic
Matt Mackall <mpm@selenic.com>
parents: 3795
diff changeset
   225
9157
9261667e9b82 commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents: 9082
diff changeset
   226
    - if it's a directory, all files ending with .rc are added
9261667e9b82 commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents: 9082
diff changeset
   227
    - otherwise, the file itself will be added
9261667e9b82 commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents: 9082
diff changeset
   228
9261667e9b82 commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents: 9082
diff changeset
   229
HGUSER
7805
cf6ec23a1bb5 help: better explanation for some of the environment variables
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 7804
diff changeset
   230
    This is the string used as the author of a commit. If not set,
cf6ec23a1bb5 help: better explanation for some of the environment variables
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 7804
diff changeset
   231
    available values will be considered in this order:
cf6ec23a1bb5 help: better explanation for some of the environment variables
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 7804
diff changeset
   232
9157
9261667e9b82 commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents: 9082
diff changeset
   233
    - HGUSER (deprecated)
9261667e9b82 commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents: 9082
diff changeset
   234
    - hgrc files from the HGRCPATH
9261667e9b82 commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents: 9082
diff changeset
   235
    - EMAIL
9261667e9b82 commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents: 9082
diff changeset
   236
    - interactive prompt
9261667e9b82 commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents: 9082
diff changeset
   237
    - LOGNAME (with '@hostname' appended)
3798
6f0c42d50394 move environment topic
Matt Mackall <mpm@selenic.com>
parents: 3795
diff changeset
   238
6f0c42d50394 move environment topic
Matt Mackall <mpm@selenic.com>
parents: 3795
diff changeset
   239
    (deprecated, use .hgrc)
6f0c42d50394 move environment topic
Matt Mackall <mpm@selenic.com>
parents: 3795
diff changeset
   240
9157
9261667e9b82 commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents: 9082
diff changeset
   241
EMAIL
7805
cf6ec23a1bb5 help: better explanation for some of the environment variables
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 7804
diff changeset
   242
    May be used as the author of a commit; see HGUSER.
3798
6f0c42d50394 move environment topic
Matt Mackall <mpm@selenic.com>
parents: 3795
diff changeset
   243
9157
9261667e9b82 commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents: 9082
diff changeset
   244
LOGNAME
7805
cf6ec23a1bb5 help: better explanation for some of the environment variables
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 7804
diff changeset
   245
    May be used as the author of a commit; see HGUSER.
3798
6f0c42d50394 move environment topic
Matt Mackall <mpm@selenic.com>
parents: 3795
diff changeset
   246
9157
9261667e9b82 commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents: 9082
diff changeset
   247
VISUAL
5660
3c80ecdc1bcd Use VISUAL in addition to EDITOR when choosing the editor to use.
Osku Salerma <osku@iki.fi>
parents: 5062
diff changeset
   248
    This is the name of the editor to use when committing. See EDITOR.
3c80ecdc1bcd Use VISUAL in addition to EDITOR when choosing the editor to use.
Osku Salerma <osku@iki.fi>
parents: 5062
diff changeset
   249
9157
9261667e9b82 commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents: 9082
diff changeset
   250
EDITOR
8005
595baa7c726f help: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7979
diff changeset
   251
    Sometimes Mercurial needs to open a text file in an editor for a
595baa7c726f help: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7979
diff changeset
   252
    user to modify, for example when writing commit messages. The
595baa7c726f help: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7979
diff changeset
   253
    editor it uses is determined by looking at the environment
6009
f077815932ce filemerge: remove the hgmerge script
Matt Mackall <mpm@selenic.com>
parents: 5660
diff changeset
   254
    variables HGEDITOR, VISUAL and EDITOR, in that order. The first
f077815932ce filemerge: remove the hgmerge script
Matt Mackall <mpm@selenic.com>
parents: 5660
diff changeset
   255
    non-empty one is chosen. If all of them are empty, the editor
5660
3c80ecdc1bcd Use VISUAL in addition to EDITOR when choosing the editor to use.
Osku Salerma <osku@iki.fi>
parents: 5062
diff changeset
   256
    defaults to 'vi'.
3798
6f0c42d50394 move environment topic
Matt Mackall <mpm@selenic.com>
parents: 3795
diff changeset
   257
9157
9261667e9b82 commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents: 9082
diff changeset
   258
PYTHONPATH
8005
595baa7c726f help: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7979
diff changeset
   259
    This is used by Python to find imported modules and may need to be
595baa7c726f help: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7979
diff changeset
   260
    set appropriately if this Mercurial is not installed system-wide.
7013
f56e788fa292 i18n: mark help strings for translation
Martin Geisler <mg@daimi.au.dk>
parents: 7012
diff changeset
   261
    ''')),
6655
ab798a37b846 help: move "revision syntax" help topics into online help
Johannes Stezenbach <js@sig21.net>
parents: 6654
diff changeset
   262
7013
f56e788fa292 i18n: mark help strings for translation
Martin Geisler <mg@daimi.au.dk>
parents: 7012
diff changeset
   263
    (['revs', 'revisions'], _('Specifying Single Revisions'),
f56e788fa292 i18n: mark help strings for translation
Martin Geisler <mg@daimi.au.dk>
parents: 7012
diff changeset
   264
     _(r'''
8005
595baa7c726f help: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7979
diff changeset
   265
    Mercurial supports several ways to specify individual revisions.
6655
ab798a37b846 help: move "revision syntax" help topics into online help
Johannes Stezenbach <js@sig21.net>
parents: 6654
diff changeset
   266
8005
595baa7c726f help: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7979
diff changeset
   267
    A plain integer is treated as a revision number. Negative integers
9302
73bec717b825 help: improve "hg help revisions"
Stuart W Marks <smarks@smarks.org>
parents: 9023
diff changeset
   268
    are treated as sequential offsets from the tip, with -1 denoting
73bec717b825 help: improve "hg help revisions"
Stuart W Marks <smarks@smarks.org>
parents: 9023
diff changeset
   269
    the tip, -2 denoting the revision prior to the tip, and so forth.
6655
ab798a37b846 help: move "revision syntax" help topics into online help
Johannes Stezenbach <js@sig21.net>
parents: 6654
diff changeset
   270
ab798a37b846 help: move "revision syntax" help topics into online help
Johannes Stezenbach <js@sig21.net>
parents: 6654
diff changeset
   271
    A 40-digit hexadecimal string is treated as a unique revision
ab798a37b846 help: move "revision syntax" help topics into online help
Johannes Stezenbach <js@sig21.net>
parents: 6654
diff changeset
   272
    identifier.
ab798a37b846 help: move "revision syntax" help topics into online help
Johannes Stezenbach <js@sig21.net>
parents: 6654
diff changeset
   273
ab798a37b846 help: move "revision syntax" help topics into online help
Johannes Stezenbach <js@sig21.net>
parents: 6654
diff changeset
   274
    A hexadecimal string less than 40 characters long is treated as a
9302
73bec717b825 help: improve "hg help revisions"
Stuart W Marks <smarks@smarks.org>
parents: 9023
diff changeset
   275
    unique revision identifier and is referred to as a short-form
6655
ab798a37b846 help: move "revision syntax" help topics into online help
Johannes Stezenbach <js@sig21.net>
parents: 6654
diff changeset
   276
    identifier. A short-form identifier is only valid if it is the
7804
06afe0f9dbf8 help: some language fixes for help topics
timeless <timeless@gmail.com>
parents: 7764
diff changeset
   277
    prefix of exactly one full-length identifier.
6655
ab798a37b846 help: move "revision syntax" help topics into online help
Johannes Stezenbach <js@sig21.net>
parents: 6654
diff changeset
   278
9302
73bec717b825 help: improve "hg help revisions"
Stuart W Marks <smarks@smarks.org>
parents: 9023
diff changeset
   279
    Any other string is treated as a tag or branch name. A tag name is
73bec717b825 help: improve "hg help revisions"
Stuart W Marks <smarks@smarks.org>
parents: 9023
diff changeset
   280
    a symbolic name associated with a revision identifier. A branch
73bec717b825 help: improve "hg help revisions"
Stuart W Marks <smarks@smarks.org>
parents: 9023
diff changeset
   281
    name denotes the tipmost revision of that branch. Tag and branch
73bec717b825 help: improve "hg help revisions"
Stuart W Marks <smarks@smarks.org>
parents: 9023
diff changeset
   282
    names must not contain the ":" character.
6655
ab798a37b846 help: move "revision syntax" help topics into online help
Johannes Stezenbach <js@sig21.net>
parents: 6654
diff changeset
   283
ab798a37b846 help: move "revision syntax" help topics into online help
Johannes Stezenbach <js@sig21.net>
parents: 6654
diff changeset
   284
    The reserved name "tip" is a special tag that always identifies
ab798a37b846 help: move "revision syntax" help topics into online help
Johannes Stezenbach <js@sig21.net>
parents: 6654
diff changeset
   285
    the most recent revision.
ab798a37b846 help: move "revision syntax" help topics into online help
Johannes Stezenbach <js@sig21.net>
parents: 6654
diff changeset
   286
ab798a37b846 help: move "revision syntax" help topics into online help
Johannes Stezenbach <js@sig21.net>
parents: 6654
diff changeset
   287
    The reserved name "null" indicates the null revision. This is the
ab798a37b846 help: move "revision syntax" help topics into online help
Johannes Stezenbach <js@sig21.net>
parents: 6654
diff changeset
   288
    revision of an empty repository, and the parent of revision 0.
ab798a37b846 help: move "revision syntax" help topics into online help
Johannes Stezenbach <js@sig21.net>
parents: 6654
diff changeset
   289
ab798a37b846 help: move "revision syntax" help topics into online help
Johannes Stezenbach <js@sig21.net>
parents: 6654
diff changeset
   290
    The reserved name "." indicates the working directory parent. If
8005
595baa7c726f help: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7979
diff changeset
   291
    no working directory is checked out, it is equivalent to null. If
595baa7c726f help: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7979
diff changeset
   292
    an uncommitted merge is in progress, "." is the revision of the
595baa7c726f help: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7979
diff changeset
   293
    first parent.
7013
f56e788fa292 i18n: mark help strings for translation
Martin Geisler <mg@daimi.au.dk>
parents: 7012
diff changeset
   294
    ''')),
6655
ab798a37b846 help: move "revision syntax" help topics into online help
Johannes Stezenbach <js@sig21.net>
parents: 6654
diff changeset
   295
7013
f56e788fa292 i18n: mark help strings for translation
Martin Geisler <mg@daimi.au.dk>
parents: 7012
diff changeset
   296
    (['mrevs', 'multirevs'], _('Specifying Multiple Revisions'),
f56e788fa292 i18n: mark help strings for translation
Martin Geisler <mg@daimi.au.dk>
parents: 7012
diff changeset
   297
     _(r'''
6655
ab798a37b846 help: move "revision syntax" help topics into online help
Johannes Stezenbach <js@sig21.net>
parents: 6654
diff changeset
   298
    When Mercurial accepts more than one revision, they may be
7804
06afe0f9dbf8 help: some language fixes for help topics
timeless <timeless@gmail.com>
parents: 7764
diff changeset
   299
    specified individually, or provided as a topologically continuous
06afe0f9dbf8 help: some language fixes for help topics
timeless <timeless@gmail.com>
parents: 7764
diff changeset
   300
    range, separated by the ":" character.
6655
ab798a37b846 help: move "revision syntax" help topics into online help
Johannes Stezenbach <js@sig21.net>
parents: 6654
diff changeset
   301
ab798a37b846 help: move "revision syntax" help topics into online help
Johannes Stezenbach <js@sig21.net>
parents: 6654
diff changeset
   302
    The syntax of range notation is [BEGIN]:[END], where BEGIN and END
ab798a37b846 help: move "revision syntax" help topics into online help
Johannes Stezenbach <js@sig21.net>
parents: 6654
diff changeset
   303
    are revision identifiers. Both BEGIN and END are optional. If
ab798a37b846 help: move "revision syntax" help topics into online help
Johannes Stezenbach <js@sig21.net>
parents: 6654
diff changeset
   304
    BEGIN is not specified, it defaults to revision number 0. If END
8005
595baa7c726f help: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7979
diff changeset
   305
    is not specified, it defaults to the tip. The range ":" thus means
595baa7c726f help: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7979
diff changeset
   306
    "all revisions".
6655
ab798a37b846 help: move "revision syntax" help topics into online help
Johannes Stezenbach <js@sig21.net>
parents: 6654
diff changeset
   307
ab798a37b846 help: move "revision syntax" help topics into online help
Johannes Stezenbach <js@sig21.net>
parents: 6654
diff changeset
   308
    If BEGIN is greater than END, revisions are treated in reverse
ab798a37b846 help: move "revision syntax" help topics into online help
Johannes Stezenbach <js@sig21.net>
parents: 6654
diff changeset
   309
    order.
ab798a37b846 help: move "revision syntax" help topics into online help
Johannes Stezenbach <js@sig21.net>
parents: 6654
diff changeset
   310
ab798a37b846 help: move "revision syntax" help topics into online help
Johannes Stezenbach <js@sig21.net>
parents: 6654
diff changeset
   311
    A range acts as a closed interval. This means that a range of 3:5
7804
06afe0f9dbf8 help: some language fixes for help topics
timeless <timeless@gmail.com>
parents: 7764
diff changeset
   312
    gives 3, 4 and 5. Similarly, a range of 9:6 gives 9, 8, 7, and 6.
7013
f56e788fa292 i18n: mark help strings for translation
Martin Geisler <mg@daimi.au.dk>
parents: 7012
diff changeset
   313
    ''')),
7293
3549659450e6 help: add a topic on git diffs (issue1352)
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 7013
diff changeset
   314
7387
7e9a15fa6c8f update help on git diffs
Matt Mackall <mpm@selenic.com>
parents: 7328
diff changeset
   315
    (['diffs'], _('Diff Formats'),
7293
3549659450e6 help: add a topic on git diffs (issue1352)
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 7013
diff changeset
   316
     _(r'''
8005
595baa7c726f help: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7979
diff changeset
   317
    Mercurial's default format for showing changes between two
595baa7c726f help: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7979
diff changeset
   318
    versions of a file is compatible with the unified format of GNU
595baa7c726f help: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7979
diff changeset
   319
    diff, which can be used by GNU patch and many other standard
595baa7c726f help: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7979
diff changeset
   320
    tools.
7293
3549659450e6 help: add a topic on git diffs (issue1352)
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 7013
diff changeset
   321
7387
7e9a15fa6c8f update help on git diffs
Matt Mackall <mpm@selenic.com>
parents: 7328
diff changeset
   322
    While this standard format is often enough, it does not encode the
7e9a15fa6c8f update help on git diffs
Matt Mackall <mpm@selenic.com>
parents: 7328
diff changeset
   323
    following information:
7328
3909e2c2622b Enhance gitdiffs help text
Thomas Arendsen Hein <thomas@intevation.de>
parents: 7298
diff changeset
   324
9299
fbe7172026f7 help: un-indent list in "hg help diffs"
Martin Geisler <mg@lazybytes.net>
parents: 9298
diff changeset
   325
    - executable status and other permission bits
fbe7172026f7 help: un-indent list in "hg help diffs"
Martin Geisler <mg@lazybytes.net>
parents: 9298
diff changeset
   326
    - copy or rename information
fbe7172026f7 help: un-indent list in "hg help diffs"
Martin Geisler <mg@lazybytes.net>
parents: 9298
diff changeset
   327
    - changes in binary files
fbe7172026f7 help: un-indent list in "hg help diffs"
Martin Geisler <mg@lazybytes.net>
parents: 9298
diff changeset
   328
    - creation or deletion of empty files
7293
3549659450e6 help: add a topic on git diffs (issue1352)
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 7013
diff changeset
   329
7387
7e9a15fa6c8f update help on git diffs
Matt Mackall <mpm@selenic.com>
parents: 7328
diff changeset
   330
    Mercurial also supports the extended diff format from the git VCS
7e9a15fa6c8f update help on git diffs
Matt Mackall <mpm@selenic.com>
parents: 7328
diff changeset
   331
    which addresses these limitations. The git diff format is not
7804
06afe0f9dbf8 help: some language fixes for help topics
timeless <timeless@gmail.com>
parents: 7764
diff changeset
   332
    produced by default because a few widespread tools still do not
7387
7e9a15fa6c8f update help on git diffs
Matt Mackall <mpm@selenic.com>
parents: 7328
diff changeset
   333
    understand this format.
7328
3909e2c2622b Enhance gitdiffs help text
Thomas Arendsen Hein <thomas@intevation.de>
parents: 7298
diff changeset
   334
7387
7e9a15fa6c8f update help on git diffs
Matt Mackall <mpm@selenic.com>
parents: 7328
diff changeset
   335
    This means that when generating diffs from a Mercurial repository
7328
3909e2c2622b Enhance gitdiffs help text
Thomas Arendsen Hein <thomas@intevation.de>
parents: 7298
diff changeset
   336
    (e.g. with "hg export"), you should be careful about things like
3909e2c2622b Enhance gitdiffs help text
Thomas Arendsen Hein <thomas@intevation.de>
parents: 7298
diff changeset
   337
    file copies and renames or other things mentioned above, because
8005
595baa7c726f help: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7979
diff changeset
   338
    when applying a standard diff to a different repository, this
595baa7c726f help: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7979
diff changeset
   339
    extra information is lost. Mercurial's internal operations (like
595baa7c726f help: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7979
diff changeset
   340
    push and pull) are not affected by this, because they use an
595baa7c726f help: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7979
diff changeset
   341
    internal binary format for communicating changes.
7328
3909e2c2622b Enhance gitdiffs help text
Thomas Arendsen Hein <thomas@intevation.de>
parents: 7298
diff changeset
   342
3909e2c2622b Enhance gitdiffs help text
Thomas Arendsen Hein <thomas@intevation.de>
parents: 7298
diff changeset
   343
    To make Mercurial produce the git extended diff format, use the
8005
595baa7c726f help: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7979
diff changeset
   344
    --git option available for many commands, or set 'git = True' in
595baa7c726f help: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7979
diff changeset
   345
    the [diff] section of your hgrc. You do not need to set this
595baa7c726f help: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7979
diff changeset
   346
    option when importing diffs in this format or using them in the mq
595baa7c726f help: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7979
diff changeset
   347
    extension.
7293
3549659450e6 help: add a topic on git diffs (issue1352)
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 7013
diff changeset
   348
    ''')),
9298
8a254bd61224 help: add "templates" as an alias for "templating" help topic
Martin Geisler <mg@lazybytes.net>
parents: 9295
diff changeset
   349
    (['templating', 'templates'], _('Template Usage'),
7677
6a0bc2dc9da6 help: add a topic about some of the templating features
Alexander Solovyov <piranha@piranha.org.ua>
parents: 7387
diff changeset
   350
     _(r'''
6a0bc2dc9da6 help: add a topic about some of the templating features
Alexander Solovyov <piranha@piranha.org.ua>
parents: 7387
diff changeset
   351
    Mercurial allows you to customize output of commands through
8005
595baa7c726f help: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7979
diff changeset
   352
    templates. You can either pass in a template from the command
595baa7c726f help: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7979
diff changeset
   353
    line, via the --template option, or select an existing
595baa7c726f help: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7979
diff changeset
   354
    template-style (--style).
7677
6a0bc2dc9da6 help: add a topic about some of the templating features
Alexander Solovyov <piranha@piranha.org.ua>
parents: 7387
diff changeset
   355
8005
595baa7c726f help: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7979
diff changeset
   356
    You can customize output for any "log-like" command: log,
595baa7c726f help: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7979
diff changeset
   357
    outgoing, incoming, tip, parents, heads and glog.
7677
6a0bc2dc9da6 help: add a topic about some of the templating features
Alexander Solovyov <piranha@piranha.org.ua>
parents: 7387
diff changeset
   358
7678
b19850c7908a help: some improvements for the templating topic
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 7677
diff changeset
   359
    Three styles are packaged with Mercurial: default (the style used
8005
595baa7c726f help: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7979
diff changeset
   360
    when no explicit preference is passed), compact and changelog.
9290
26fb5b0a4424 help: mark literal blocks
Martin Geisler <mg@lazybytes.net>
parents: 9277
diff changeset
   361
    Usage::
7677
6a0bc2dc9da6 help: add a topic about some of the templating features
Alexander Solovyov <piranha@piranha.org.ua>
parents: 7387
diff changeset
   362
7678
b19850c7908a help: some improvements for the templating topic
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 7677
diff changeset
   363
        $ hg log -r1 --style changelog
7677
6a0bc2dc9da6 help: add a topic about some of the templating features
Alexander Solovyov <piranha@piranha.org.ua>
parents: 7387
diff changeset
   364
8005
595baa7c726f help: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7979
diff changeset
   365
    A template is a piece of text, with markup to invoke variable
9290
26fb5b0a4424 help: mark literal blocks
Martin Geisler <mg@lazybytes.net>
parents: 9277
diff changeset
   366
    expansion::
7678
b19850c7908a help: some improvements for the templating topic
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 7677
diff changeset
   367
b19850c7908a help: some improvements for the templating topic
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 7677
diff changeset
   368
        $ hg log -r1 --template "{node}\n"
7677
6a0bc2dc9da6 help: add a topic about some of the templating features
Alexander Solovyov <piranha@piranha.org.ua>
parents: 7387
diff changeset
   369
        b56ce7b07c52de7d5fd79fb89701ea538af65746
6a0bc2dc9da6 help: add a topic about some of the templating features
Alexander Solovyov <piranha@piranha.org.ua>
parents: 7387
diff changeset
   370
7678
b19850c7908a help: some improvements for the templating topic
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 7677
diff changeset
   371
    Strings in curly braces are called keywords. The availability of
8005
595baa7c726f help: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7979
diff changeset
   372
    keywords depends on the exact context of the templater. These
595baa7c726f help: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7979
diff changeset
   373
    keywords are usually available for templating a log-like command:
7677
6a0bc2dc9da6 help: add a topic about some of the templating features
Alexander Solovyov <piranha@piranha.org.ua>
parents: 7387
diff changeset
   374
9294
5f4862a00697 help: format templating help topic with a field list
Martin Geisler <mg@lazybytes.net>
parents: 9290
diff changeset
   375
    :author:    String. The unmodified author of the changeset.
5f4862a00697 help: format templating help topic with a field list
Martin Geisler <mg@lazybytes.net>
parents: 9290
diff changeset
   376
    :branches:  String. The name of the branch on which the changeset
5f4862a00697 help: format templating help topic with a field list
Martin Geisler <mg@lazybytes.net>
parents: 9290
diff changeset
   377
                was committed. Will be empty if the branch name was
5f4862a00697 help: format templating help topic with a field list
Martin Geisler <mg@lazybytes.net>
parents: 9290
diff changeset
   378
                default.
5f4862a00697 help: format templating help topic with a field list
Martin Geisler <mg@lazybytes.net>
parents: 9290
diff changeset
   379
    :date:      Date information. The date when the changeset was
5f4862a00697 help: format templating help topic with a field list
Martin Geisler <mg@lazybytes.net>
parents: 9290
diff changeset
   380
                committed.
5f4862a00697 help: format templating help topic with a field list
Martin Geisler <mg@lazybytes.net>
parents: 9290
diff changeset
   381
    :desc:      String. The text of the changeset description.
5f4862a00697 help: format templating help topic with a field list
Martin Geisler <mg@lazybytes.net>
parents: 9290
diff changeset
   382
    :diffstat:  String. Statistics of changes with the following
5f4862a00697 help: format templating help topic with a field list
Martin Geisler <mg@lazybytes.net>
parents: 9290
diff changeset
   383
                format: "modified files: +added/-removed lines"
5f4862a00697 help: format templating help topic with a field list
Martin Geisler <mg@lazybytes.net>
parents: 9290
diff changeset
   384
    :files:     List of strings. All files modified, added, or removed
5f4862a00697 help: format templating help topic with a field list
Martin Geisler <mg@lazybytes.net>
parents: 9290
diff changeset
   385
                by this changeset.
5f4862a00697 help: format templating help topic with a field list
Martin Geisler <mg@lazybytes.net>
parents: 9290
diff changeset
   386
    :file_adds: List of strings. Files added by this changeset.
5f4862a00697 help: format templating help topic with a field list
Martin Geisler <mg@lazybytes.net>
parents: 9290
diff changeset
   387
    :file_mods: List of strings. Files modified by this changeset.
5f4862a00697 help: format templating help topic with a field list
Martin Geisler <mg@lazybytes.net>
parents: 9290
diff changeset
   388
    :file_dels: List of strings. Files removed by this changeset.
5f4862a00697 help: format templating help topic with a field list
Martin Geisler <mg@lazybytes.net>
parents: 9290
diff changeset
   389
    :node:      String. The changeset identification hash, as a
5f4862a00697 help: format templating help topic with a field list
Martin Geisler <mg@lazybytes.net>
parents: 9290
diff changeset
   390
                40-character hexadecimal string.
5f4862a00697 help: format templating help topic with a field list
Martin Geisler <mg@lazybytes.net>
parents: 9290
diff changeset
   391
    :parents:   List of strings. The parents of the changeset.
5f4862a00697 help: format templating help topic with a field list
Martin Geisler <mg@lazybytes.net>
parents: 9290
diff changeset
   392
    :rev:       Integer. The repository-local changeset revision
5f4862a00697 help: format templating help topic with a field list
Martin Geisler <mg@lazybytes.net>
parents: 9290
diff changeset
   393
                number.
5f4862a00697 help: format templating help topic with a field list
Martin Geisler <mg@lazybytes.net>
parents: 9290
diff changeset
   394
    :tags:      List of strings. Any tags associated with the
5f4862a00697 help: format templating help topic with a field list
Martin Geisler <mg@lazybytes.net>
parents: 9290
diff changeset
   395
                changeset.
7677
6a0bc2dc9da6 help: add a topic about some of the templating features
Alexander Solovyov <piranha@piranha.org.ua>
parents: 7387
diff changeset
   396
7678
b19850c7908a help: some improvements for the templating topic
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 7677
diff changeset
   397
    The "date" keyword does not produce human-readable output. If you
8005
595baa7c726f help: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7979
diff changeset
   398
    want to use a date in your output, you can use a filter to process
595baa7c726f help: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7979
diff changeset
   399
    it. Filters are functions which return a string based on the input
595baa7c726f help: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7979
diff changeset
   400
    variable. You can also use a chain of filters to get the desired
9290
26fb5b0a4424 help: mark literal blocks
Martin Geisler <mg@lazybytes.net>
parents: 9277
diff changeset
   401
    output::
7677
6a0bc2dc9da6 help: add a topic about some of the templating features
Alexander Solovyov <piranha@piranha.org.ua>
parents: 7387
diff changeset
   402
7678
b19850c7908a help: some improvements for the templating topic
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 7677
diff changeset
   403
       $ hg tip --template "{date|isodate}\n"
7677
6a0bc2dc9da6 help: add a topic about some of the templating features
Alexander Solovyov <piranha@piranha.org.ua>
parents: 7387
diff changeset
   404
       2008-08-21 18:22 +0000
6a0bc2dc9da6 help: add a topic about some of the templating features
Alexander Solovyov <piranha@piranha.org.ua>
parents: 7387
diff changeset
   405
6a0bc2dc9da6 help: add a topic about some of the templating features
Alexander Solovyov <piranha@piranha.org.ua>
parents: 7387
diff changeset
   406
    List of filters:
6a0bc2dc9da6 help: add a topic about some of the templating features
Alexander Solovyov <piranha@piranha.org.ua>
parents: 7387
diff changeset
   407
9294
5f4862a00697 help: format templating help topic with a field list
Martin Geisler <mg@lazybytes.net>
parents: 9290
diff changeset
   408
    :addbreaks:  Any text. Add an XHTML "<br />" tag before the end of
5f4862a00697 help: format templating help topic with a field list
Martin Geisler <mg@lazybytes.net>
parents: 9290
diff changeset
   409
                 every line except the last.
5f4862a00697 help: format templating help topic with a field list
Martin Geisler <mg@lazybytes.net>
parents: 9290
diff changeset
   410
    :age:        Date. Returns a human-readable date/time difference
5f4862a00697 help: format templating help topic with a field list
Martin Geisler <mg@lazybytes.net>
parents: 9290
diff changeset
   411
                 between the given date/time and the current
5f4862a00697 help: format templating help topic with a field list
Martin Geisler <mg@lazybytes.net>
parents: 9290
diff changeset
   412
                 date/time.
5f4862a00697 help: format templating help topic with a field list
Martin Geisler <mg@lazybytes.net>
parents: 9290
diff changeset
   413
    :basename:   Any text. Treats the text as a path, and returns the
5f4862a00697 help: format templating help topic with a field list
Martin Geisler <mg@lazybytes.net>
parents: 9290
diff changeset
   414
                 last component of the path after splitting by the
5f4862a00697 help: format templating help topic with a field list
Martin Geisler <mg@lazybytes.net>
parents: 9290
diff changeset
   415
                 path separator (ignoring trailing separators). For
5f4862a00697 help: format templating help topic with a field list
Martin Geisler <mg@lazybytes.net>
parents: 9290
diff changeset
   416
                 example, "foo/bar/baz" becomes "baz" and "foo/bar//"
5f4862a00697 help: format templating help topic with a field list
Martin Geisler <mg@lazybytes.net>
parents: 9290
diff changeset
   417
                 becomes "bar".
5f4862a00697 help: format templating help topic with a field list
Martin Geisler <mg@lazybytes.net>
parents: 9290
diff changeset
   418
    :stripdir:   Treat the text as path and strip a directory level,
5f4862a00697 help: format templating help topic with a field list
Martin Geisler <mg@lazybytes.net>
parents: 9290
diff changeset
   419
                 if possible. For example, "foo" and "foo/bar" becomes
5f4862a00697 help: format templating help topic with a field list
Martin Geisler <mg@lazybytes.net>
parents: 9290
diff changeset
   420
                 "foo".
5f4862a00697 help: format templating help topic with a field list
Martin Geisler <mg@lazybytes.net>
parents: 9290
diff changeset
   421
    :date:       Date. Returns a date in a Unix date format, including
5f4862a00697 help: format templating help topic with a field list
Martin Geisler <mg@lazybytes.net>
parents: 9290
diff changeset
   422
                 the timezone: "Mon Sep 04 15:13:13 2006 0700".
5f4862a00697 help: format templating help topic with a field list
Martin Geisler <mg@lazybytes.net>
parents: 9290
diff changeset
   423
    :domain:     Any text. Finds the first string that looks like an
5f4862a00697 help: format templating help topic with a field list
Martin Geisler <mg@lazybytes.net>
parents: 9290
diff changeset
   424
                 email address, and extracts just the domain
5f4862a00697 help: format templating help topic with a field list
Martin Geisler <mg@lazybytes.net>
parents: 9290
diff changeset
   425
                 component. Example: 'User <user@example.com>' becomes
5f4862a00697 help: format templating help topic with a field list
Martin Geisler <mg@lazybytes.net>
parents: 9290
diff changeset
   426
                 'example.com'.
5f4862a00697 help: format templating help topic with a field list
Martin Geisler <mg@lazybytes.net>
parents: 9290
diff changeset
   427
    :email:      Any text. Extracts the first string that looks like
5f4862a00697 help: format templating help topic with a field list
Martin Geisler <mg@lazybytes.net>
parents: 9290
diff changeset
   428
                 an email address. Example: 'User <user@example.com>'
5f4862a00697 help: format templating help topic with a field list
Martin Geisler <mg@lazybytes.net>
parents: 9290
diff changeset
   429
                 becomes 'user@example.com'.
5f4862a00697 help: format templating help topic with a field list
Martin Geisler <mg@lazybytes.net>
parents: 9290
diff changeset
   430
    :escape:     Any text. Replaces the special XML/XHTML characters
5f4862a00697 help: format templating help topic with a field list
Martin Geisler <mg@lazybytes.net>
parents: 9290
diff changeset
   431
                 "&", "<" and ">" with XML entities.
5f4862a00697 help: format templating help topic with a field list
Martin Geisler <mg@lazybytes.net>
parents: 9290
diff changeset
   432
    :fill68:     Any text. Wraps the text to fit in 68 columns.
5f4862a00697 help: format templating help topic with a field list
Martin Geisler <mg@lazybytes.net>
parents: 9290
diff changeset
   433
    :fill76:     Any text. Wraps the text to fit in 76 columns.
5f4862a00697 help: format templating help topic with a field list
Martin Geisler <mg@lazybytes.net>
parents: 9290
diff changeset
   434
    :firstline:  Any text. Returns the first line of text.
5f4862a00697 help: format templating help topic with a field list
Martin Geisler <mg@lazybytes.net>
parents: 9290
diff changeset
   435
    :nonempty:   Any text. Returns '(none)' if the string is empty.
5f4862a00697 help: format templating help topic with a field list
Martin Geisler <mg@lazybytes.net>
parents: 9290
diff changeset
   436
    :hgdate:     Date. Returns the date as a pair of numbers:
5f4862a00697 help: format templating help topic with a field list
Martin Geisler <mg@lazybytes.net>
parents: 9290
diff changeset
   437
                 "1157407993 25200" (Unix timestamp, timezone offset).
9361
419aa488432e Merge with crew-stable
Martin Geisler <mg@lazybytes.net>
parents: 9327 9360
diff changeset
   438
    :isodate:    Date. Returns the date in ISO 8601 format:
419aa488432e Merge with crew-stable
Martin Geisler <mg@lazybytes.net>
parents: 9327 9360
diff changeset
   439
                 "2009-08-18 13:00 +0200".
419aa488432e Merge with crew-stable
Martin Geisler <mg@lazybytes.net>
parents: 9327 9360
diff changeset
   440
    :isodatesec: Date. Returns the date in ISO 8601 format, including
419aa488432e Merge with crew-stable
Martin Geisler <mg@lazybytes.net>
parents: 9327 9360
diff changeset
   441
                 seconds: "2009-08-18 13:00:13 +0200". See also the
419aa488432e Merge with crew-stable
Martin Geisler <mg@lazybytes.net>
parents: 9327 9360
diff changeset
   442
                 rfc3339date filter.
9294
5f4862a00697 help: format templating help topic with a field list
Martin Geisler <mg@lazybytes.net>
parents: 9290
diff changeset
   443
    :localdate:  Date. Converts a date to local date.
5f4862a00697 help: format templating help topic with a field list
Martin Geisler <mg@lazybytes.net>
parents: 9290
diff changeset
   444
    :obfuscate:  Any text. Returns the input text rendered as a
5f4862a00697 help: format templating help topic with a field list
Martin Geisler <mg@lazybytes.net>
parents: 9290
diff changeset
   445
                 sequence of XML entities.
5f4862a00697 help: format templating help topic with a field list
Martin Geisler <mg@lazybytes.net>
parents: 9290
diff changeset
   446
    :person:     Any text. Returns the text before an email address.
5f4862a00697 help: format templating help topic with a field list
Martin Geisler <mg@lazybytes.net>
parents: 9290
diff changeset
   447
    :rfc822date: Date. Returns a date using the same format used in
9361
419aa488432e Merge with crew-stable
Martin Geisler <mg@lazybytes.net>
parents: 9327 9360
diff changeset
   448
                 email headers: "Tue, 18 Aug 2009 13:00:13 +0200".
419aa488432e Merge with crew-stable
Martin Geisler <mg@lazybytes.net>
parents: 9327 9360
diff changeset
   449
    :rfc3339date: Date. Returns a date using the Internet date format
419aa488432e Merge with crew-stable
Martin Geisler <mg@lazybytes.net>
parents: 9327 9360
diff changeset
   450
                  specified in RFC 3339: "2009-08-18T13:00:13+02:00".
9294
5f4862a00697 help: format templating help topic with a field list
Martin Geisler <mg@lazybytes.net>
parents: 9290
diff changeset
   451
    :short:      Changeset hash. Returns the short form of a changeset
5f4862a00697 help: format templating help topic with a field list
Martin Geisler <mg@lazybytes.net>
parents: 9290
diff changeset
   452
                 hash, i.e. a 12-byte hexadecimal string.
5f4862a00697 help: format templating help topic with a field list
Martin Geisler <mg@lazybytes.net>
parents: 9290
diff changeset
   453
    :shortdate:  Date. Returns a date like "2006-09-18".
5f4862a00697 help: format templating help topic with a field list
Martin Geisler <mg@lazybytes.net>
parents: 9290
diff changeset
   454
    :strip:      Any text. Strips all leading and trailing whitespace.
5f4862a00697 help: format templating help topic with a field list
Martin Geisler <mg@lazybytes.net>
parents: 9290
diff changeset
   455
    :tabindent:  Any text. Returns the text, with every line except
5f4862a00697 help: format templating help topic with a field list
Martin Geisler <mg@lazybytes.net>
parents: 9290
diff changeset
   456
                 the first starting with a tab character.
5f4862a00697 help: format templating help topic with a field list
Martin Geisler <mg@lazybytes.net>
parents: 9290
diff changeset
   457
    :urlescape:  Any text. Escapes all "special" characters. For
5f4862a00697 help: format templating help topic with a field list
Martin Geisler <mg@lazybytes.net>
parents: 9290
diff changeset
   458
                 example, "foo bar" becomes "foo%20bar".
5f4862a00697 help: format templating help topic with a field list
Martin Geisler <mg@lazybytes.net>
parents: 9290
diff changeset
   459
    :user:       Any text. Returns the user portion of an email
5f4862a00697 help: format templating help topic with a field list
Martin Geisler <mg@lazybytes.net>
parents: 9290
diff changeset
   460
                 address.
7677
6a0bc2dc9da6 help: add a topic about some of the templating features
Alexander Solovyov <piranha@piranha.org.ua>
parents: 7387
diff changeset
   461
    ''')),
7693
e040f9d6b2f3 consolidated url help into urls help topic and added information about path aliases
Bill Barry <after.fallout@gmail.com>
parents: 7678
diff changeset
   462
7979
6b04f12d2831 commands, help: consistently write 'URL' in upper-case
Martin Geisler <mg@daimi.au.dk>
parents: 7978
diff changeset
   463
    (['urls'], _('URL Paths'),
7693
e040f9d6b2f3 consolidated url help into urls help topic and added information about path aliases
Bill Barry <after.fallout@gmail.com>
parents: 7678
diff changeset
   464
     _(r'''
9157
9261667e9b82 commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents: 9082
diff changeset
   465
    Valid URLs are of the form::
7693
e040f9d6b2f3 consolidated url help into urls help topic and added information about path aliases
Bill Barry <after.fallout@gmail.com>
parents: 7678
diff changeset
   466
9023
cd92a6968f70 help: add #revision syntax to the example valid URLs.
David Wolever <wolever@cs.toronto.edu>
parents: 8938
diff changeset
   467
      local/filesystem/path[#revision]
cd92a6968f70 help: add #revision syntax to the example valid URLs.
David Wolever <wolever@cs.toronto.edu>
parents: 8938
diff changeset
   468
      file://local/filesystem/path[#revision]
cd92a6968f70 help: add #revision syntax to the example valid URLs.
David Wolever <wolever@cs.toronto.edu>
parents: 8938
diff changeset
   469
      http://[user[:pass]@]host[:port]/[path][#revision]
cd92a6968f70 help: add #revision syntax to the example valid URLs.
David Wolever <wolever@cs.toronto.edu>
parents: 8938
diff changeset
   470
      https://[user[:pass]@]host[:port]/[path][#revision]
cd92a6968f70 help: add #revision syntax to the example valid URLs.
David Wolever <wolever@cs.toronto.edu>
parents: 8938
diff changeset
   471
      ssh://[user[:pass]@]host[:port]/[path][#revision]
7693
e040f9d6b2f3 consolidated url help into urls help topic and added information about path aliases
Bill Barry <after.fallout@gmail.com>
parents: 7678
diff changeset
   472
e040f9d6b2f3 consolidated url help into urls help topic and added information about path aliases
Bill Barry <after.fallout@gmail.com>
parents: 7678
diff changeset
   473
    Paths in the local filesystem can either point to Mercurial
9277
1f0085918c29 help: wrap help strings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents: 9160
diff changeset
   474
    repositories or to bundle files (as created by 'hg bundle' or 'hg
1f0085918c29 help: wrap help strings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents: 9160
diff changeset
   475
    incoming --bundle').
7693
e040f9d6b2f3 consolidated url help into urls help topic and added information about path aliases
Bill Barry <after.fallout@gmail.com>
parents: 7678
diff changeset
   476
e040f9d6b2f3 consolidated url help into urls help topic and added information about path aliases
Bill Barry <after.fallout@gmail.com>
parents: 7678
diff changeset
   477
    An optional identifier after # indicates a particular branch, tag,
9023
cd92a6968f70 help: add #revision syntax to the example valid URLs.
David Wolever <wolever@cs.toronto.edu>
parents: 8938
diff changeset
   478
    or changeset to use from the remote repository. See also 'hg help
cd92a6968f70 help: add #revision syntax to the example valid URLs.
David Wolever <wolever@cs.toronto.edu>
parents: 8938
diff changeset
   479
    revisions'.
7693
e040f9d6b2f3 consolidated url help into urls help topic and added information about path aliases
Bill Barry <after.fallout@gmail.com>
parents: 7678
diff changeset
   480
e040f9d6b2f3 consolidated url help into urls help topic and added information about path aliases
Bill Barry <after.fallout@gmail.com>
parents: 7678
diff changeset
   481
    Some features, such as pushing to http:// and https:// URLs are
8005
595baa7c726f help: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7979
diff changeset
   482
    only possible if the feature is explicitly enabled on the remote
595baa7c726f help: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7979
diff changeset
   483
    Mercurial server.
7693
e040f9d6b2f3 consolidated url help into urls help topic and added information about path aliases
Bill Barry <after.fallout@gmail.com>
parents: 7678
diff changeset
   484
e040f9d6b2f3 consolidated url help into urls help topic and added information about path aliases
Bill Barry <after.fallout@gmail.com>
parents: 7678
diff changeset
   485
    Some notes about using SSH with Mercurial:
9157
9261667e9b82 commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents: 9082
diff changeset
   486
8005
595baa7c726f help: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7979
diff changeset
   487
    - SSH requires an accessible shell account on the destination
595baa7c726f help: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7979
diff changeset
   488
      machine and a copy of hg in the remote path or specified with as
595baa7c726f help: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7979
diff changeset
   489
      remotecmd.
7693
e040f9d6b2f3 consolidated url help into urls help topic and added information about path aliases
Bill Barry <after.fallout@gmail.com>
parents: 7678
diff changeset
   490
    - path is relative to the remote user's home directory by default.
9277
1f0085918c29 help: wrap help strings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents: 9160
diff changeset
   491
      Use an extra slash at the start of a path to specify an absolute
1f0085918c29 help: wrap help strings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents: 9160
diff changeset
   492
      path::
9157
9261667e9b82 commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents: 9082
diff changeset
   493
7693
e040f9d6b2f3 consolidated url help into urls help topic and added information about path aliases
Bill Barry <after.fallout@gmail.com>
parents: 7678
diff changeset
   494
        ssh://example.com//tmp/repository
9157
9261667e9b82 commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents: 9082
diff changeset
   495
8005
595baa7c726f help: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7979
diff changeset
   496
    - Mercurial doesn't use its own compression via SSH; the right
9277
1f0085918c29 help: wrap help strings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents: 9160
diff changeset
   497
      thing to do is to configure it in your ~/.ssh/config, e.g.::
9157
9261667e9b82 commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents: 9082
diff changeset
   498
7693
e040f9d6b2f3 consolidated url help into urls help topic and added information about path aliases
Bill Barry <after.fallout@gmail.com>
parents: 7678
diff changeset
   499
        Host *.mylocalnetwork.example.com
e040f9d6b2f3 consolidated url help into urls help topic and added information about path aliases
Bill Barry <after.fallout@gmail.com>
parents: 7678
diff changeset
   500
          Compression no
e040f9d6b2f3 consolidated url help into urls help topic and added information about path aliases
Bill Barry <after.fallout@gmail.com>
parents: 7678
diff changeset
   501
        Host *
e040f9d6b2f3 consolidated url help into urls help topic and added information about path aliases
Bill Barry <after.fallout@gmail.com>
parents: 7678
diff changeset
   502
          Compression yes
9157
9261667e9b82 commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents: 9082
diff changeset
   503
8005
595baa7c726f help: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7979
diff changeset
   504
      Alternatively specify "ssh -C" as your ssh command in your hgrc
595baa7c726f help: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7979
diff changeset
   505
      or with the --ssh command line option.
7693
e040f9d6b2f3 consolidated url help into urls help topic and added information about path aliases
Bill Barry <after.fallout@gmail.com>
parents: 7678
diff changeset
   506
8005
595baa7c726f help: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7979
diff changeset
   507
    These URLs can all be stored in your hgrc with path aliases under
9277
1f0085918c29 help: wrap help strings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents: 9160
diff changeset
   508
    the [paths] section like so::
9157
9261667e9b82 commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents: 9082
diff changeset
   509
9261667e9b82 commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents: 9082
diff changeset
   510
      [paths]
9261667e9b82 commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents: 9082
diff changeset
   511
      alias1 = URL1
9261667e9b82 commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents: 9082
diff changeset
   512
      alias2 = URL2
9261667e9b82 commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents: 9082
diff changeset
   513
      ...
7693
e040f9d6b2f3 consolidated url help into urls help topic and added information about path aliases
Bill Barry <after.fallout@gmail.com>
parents: 7678
diff changeset
   514
8005
595baa7c726f help: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7979
diff changeset
   515
    You can then use the alias for any command that uses a URL (for
595baa7c726f help: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7979
diff changeset
   516
    example 'hg pull alias1' would pull from the 'alias1' path).
7693
e040f9d6b2f3 consolidated url help into urls help topic and added information about path aliases
Bill Barry <after.fallout@gmail.com>
parents: 7678
diff changeset
   517
7804
06afe0f9dbf8 help: some language fixes for help topics
timeless <timeless@gmail.com>
parents: 7764
diff changeset
   518
    Two path aliases are special because they are used as defaults
7979
6b04f12d2831 commands, help: consistently write 'URL' in upper-case
Martin Geisler <mg@daimi.au.dk>
parents: 7978
diff changeset
   519
    when you do not provide the URL to a command:
7693
e040f9d6b2f3 consolidated url help into urls help topic and added information about path aliases
Bill Barry <after.fallout@gmail.com>
parents: 7678
diff changeset
   520
e040f9d6b2f3 consolidated url help into urls help topic and added information about path aliases
Bill Barry <after.fallout@gmail.com>
parents: 7678
diff changeset
   521
    default:
8005
595baa7c726f help: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7979
diff changeset
   522
      When you create a repository with hg clone, the clone command
595baa7c726f help: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7979
diff changeset
   523
      saves the location of the source repository as the new
595baa7c726f help: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7979
diff changeset
   524
      repository's 'default' path. This is then used when you omit
595baa7c726f help: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7979
diff changeset
   525
      path from push- and pull-like commands (including incoming and
595baa7c726f help: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7979
diff changeset
   526
      outgoing).
7693
e040f9d6b2f3 consolidated url help into urls help topic and added information about path aliases
Bill Barry <after.fallout@gmail.com>
parents: 7678
diff changeset
   527
e040f9d6b2f3 consolidated url help into urls help topic and added information about path aliases
Bill Barry <after.fallout@gmail.com>
parents: 7678
diff changeset
   528
    default-push:
e040f9d6b2f3 consolidated url help into urls help topic and added information about path aliases
Bill Barry <after.fallout@gmail.com>
parents: 7678
diff changeset
   529
      The push command will look for a path named 'default-push', and
e040f9d6b2f3 consolidated url help into urls help topic and added information about path aliases
Bill Barry <after.fallout@gmail.com>
parents: 7678
diff changeset
   530
      prefer it over 'default' if both are defined.
e040f9d6b2f3 consolidated url help into urls help topic and added information about path aliases
Bill Barry <after.fallout@gmail.com>
parents: 7678
diff changeset
   531
    ''')),
8879
d0a3eadfbdb3 help: more improvements for the extensions topic
Cédric Duval <cedricduval@free.fr>
parents: 8871
diff changeset
   532
    (["extensions"], _("Using additional features"), extshelp),
6654
2713e42dcf4e help: helptable is an ordered collection
Johannes Stezenbach <js@sig21.net>
parents: 6163
diff changeset
   533
)