mercurial/help.py
author Thomas Arendsen Hein <thomas@intevation.de>
Sat, 04 Aug 2007 22:25:12 +0200
changeset 5067 3d35c8cb5eb4
parent 4684 849f011dbf79
permissions -rw-r--r--
Simplify/correct finding the hg executable (fixes issue644) Simply use find_exe('hg') as the default value for $HG and require to manually set it if you have special requirements. While the default will not always be 100% correct (i.e. the identical hg version) for many users it is and for the others the hg executable found in the PATH should do most things correctly. Developers or other users with multiple installs can set $HG or run something like util.set_hgexecutable in their shell or python scripts. Additionally util.hgexecutable() is now available so extensions can access the value with a public interface, too.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
3798
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
#
17a11f4ff260 Add basic support for help topics and a dates topic
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
     5
# This software may be used and distributed according to the terms
17a11f4ff260 Add basic support for help topics and a dates topic
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
     6
# of the GNU General Public License, incorporated herein by reference.
17a11f4ff260 Add basic support for help topics and a dates topic
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
     7
17a11f4ff260 Add basic support for help topics and a dates topic
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
     8
helptable = {
17a11f4ff260 Add basic support for help topics and a dates topic
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
     9
    "dates|Date Formats":
17a11f4ff260 Add basic support for help topics and a dates topic
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    10
    r'''
17a11f4ff260 Add basic support for help topics and a dates topic
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    11
    Some commands (backout, commit, tag) allow the user to specify a date.
3813
6fa11a9d7cac Update dates help topic
Matt Mackall <mpm@selenic.com>
parents: 3802
diff changeset
    12
    Many date formats are acceptible. Here are some examples:
3798
17a11f4ff260 Add basic support for help topics and a dates topic
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    13
3813
6fa11a9d7cac Update dates help topic
Matt Mackall <mpm@selenic.com>
parents: 3802
diff changeset
    14
    "Wed Dec 6 13:18:29 2006" (local timezone assumed)
6fa11a9d7cac Update dates help topic
Matt Mackall <mpm@selenic.com>
parents: 3802
diff changeset
    15
    "Dec 6 13:18 -0600" (year assumed, time offset provided)
6fa11a9d7cac Update dates help topic
Matt Mackall <mpm@selenic.com>
parents: 3802
diff changeset
    16
    "Dec 6 13:18 UTC" (UTC and GMT are aliases for +0000)
6fa11a9d7cac Update dates help topic
Matt Mackall <mpm@selenic.com>
parents: 3802
diff changeset
    17
    "Dec 6" (midnight)
6fa11a9d7cac Update dates help topic
Matt Mackall <mpm@selenic.com>
parents: 3802
diff changeset
    18
    "13:18" (today assumed)
6fa11a9d7cac Update dates help topic
Matt Mackall <mpm@selenic.com>
parents: 3802
diff changeset
    19
    "3:39" (3:39AM assumed)
6fa11a9d7cac Update dates help topic
Matt Mackall <mpm@selenic.com>
parents: 3802
diff changeset
    20
    "3:39pm" (15:39)
6fa11a9d7cac Update dates help topic
Matt Mackall <mpm@selenic.com>
parents: 3802
diff changeset
    21
    "2006-12-6 13:18:29" (ISO 8601 format)
6fa11a9d7cac Update dates help topic
Matt Mackall <mpm@selenic.com>
parents: 3802
diff changeset
    22
    "2006-12-6 13:18"
6fa11a9d7cac Update dates help topic
Matt Mackall <mpm@selenic.com>
parents: 3802
diff changeset
    23
    "2006-12-6"
6fa11a9d7cac Update dates help topic
Matt Mackall <mpm@selenic.com>
parents: 3802
diff changeset
    24
    "12-6"
6fa11a9d7cac Update dates help topic
Matt Mackall <mpm@selenic.com>
parents: 3802
diff changeset
    25
    "12/6"
6fa11a9d7cac Update dates help topic
Matt Mackall <mpm@selenic.com>
parents: 3802
diff changeset
    26
    "12/6/6" (Dec 6 2006)
3798
17a11f4ff260 Add basic support for help topics and a dates topic
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    27
3813
6fa11a9d7cac Update dates help topic
Matt Mackall <mpm@selenic.com>
parents: 3802
diff changeset
    28
    Lastly, there is Mercurial's internal format:
3798
17a11f4ff260 Add basic support for help topics and a dates topic
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    29
3813
6fa11a9d7cac Update dates help topic
Matt Mackall <mpm@selenic.com>
parents: 3802
diff changeset
    30
    "1165432709 0" (Wed Dec 6 13:18:29 2006 UTC)
3798
17a11f4ff260 Add basic support for help topics and a dates topic
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    31
17a11f4ff260 Add basic support for help topics and a dates topic
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    32
    This is the internal representation format for dates. unixtime is
17a11f4ff260 Add basic support for help topics and a dates topic
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    33
    the number of seconds since the epoch (1970-01-01 00:00 UTC). offset
17a11f4ff260 Add basic support for help topics and a dates topic
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    34
    is the offset of the local timezone, in seconds west of UTC (negative
17a11f4ff260 Add basic support for help topics and a dates topic
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    35
    if the timezone is east of UTC).
17a11f4ff260 Add basic support for help topics and a dates topic
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    36
    ''',
3802
eb66d76c7746 move patterns topics
Matt Mackall <mpm@selenic.com>
parents: 3801
diff changeset
    37
3801
6f0c42d50394 move environment topic
Matt Mackall <mpm@selenic.com>
parents: 3798
diff changeset
    38
    'environment|env|Environment Variables':
6f0c42d50394 move environment topic
Matt Mackall <mpm@selenic.com>
parents: 3798
diff changeset
    39
    r'''
4684
849f011dbf79 Remember path to 'hg' executable and pass to external tools and hooks as $HG.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 3912
diff changeset
    40
HG::
5067
3d35c8cb5eb4 Simplify/correct finding the hg executable (fixes issue644)
Thomas Arendsen Hein <thomas@intevation.de>
parents: 4684
diff changeset
    41
    Path to the 'hg' executable, automatically passed when running hooks,
3d35c8cb5eb4 Simplify/correct finding the hg executable (fixes issue644)
Thomas Arendsen Hein <thomas@intevation.de>
parents: 4684
diff changeset
    42
    extensions or external tools. If unset or empty, an executable named
3d35c8cb5eb4 Simplify/correct finding the hg executable (fixes issue644)
Thomas Arendsen Hein <thomas@intevation.de>
parents: 4684
diff changeset
    43
    'hg' (with com/exe/bat/cmd extension on Windows) is searched.
4684
849f011dbf79 Remember path to 'hg' executable and pass to external tools and hooks as $HG.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 3912
diff changeset
    44
3801
6f0c42d50394 move environment topic
Matt Mackall <mpm@selenic.com>
parents: 3798
diff changeset
    45
HGEDITOR::
6f0c42d50394 move environment topic
Matt Mackall <mpm@selenic.com>
parents: 3798
diff changeset
    46
    This is the name of the editor to use when committing. Defaults to the
6f0c42d50394 move environment topic
Matt Mackall <mpm@selenic.com>
parents: 3798
diff changeset
    47
    value of EDITOR.
6f0c42d50394 move environment topic
Matt Mackall <mpm@selenic.com>
parents: 3798
diff changeset
    48
6f0c42d50394 move environment topic
Matt Mackall <mpm@selenic.com>
parents: 3798
diff changeset
    49
    (deprecated, use .hgrc)
6f0c42d50394 move environment topic
Matt Mackall <mpm@selenic.com>
parents: 3798
diff changeset
    50
6f0c42d50394 move environment topic
Matt Mackall <mpm@selenic.com>
parents: 3798
diff changeset
    51
HGENCODING::
6f0c42d50394 move environment topic
Matt Mackall <mpm@selenic.com>
parents: 3798
diff changeset
    52
    This overrides the default locale setting detected by Mercurial.
6f0c42d50394 move environment topic
Matt Mackall <mpm@selenic.com>
parents: 3798
diff changeset
    53
    This setting is used to convert data including usernames,
6f0c42d50394 move environment topic
Matt Mackall <mpm@selenic.com>
parents: 3798
diff changeset
    54
    changeset descriptions, tag names, and branches. This setting can
6f0c42d50394 move environment topic
Matt Mackall <mpm@selenic.com>
parents: 3798
diff changeset
    55
    be overridden with the --encoding command-line option.
6f0c42d50394 move environment topic
Matt Mackall <mpm@selenic.com>
parents: 3798
diff changeset
    56
6f0c42d50394 move environment topic
Matt Mackall <mpm@selenic.com>
parents: 3798
diff changeset
    57
HGENCODINGMODE::
6f0c42d50394 move environment topic
Matt Mackall <mpm@selenic.com>
parents: 3798
diff changeset
    58
    This sets Mercurial's behavior for handling unknown characters
6f0c42d50394 move environment topic
Matt Mackall <mpm@selenic.com>
parents: 3798
diff changeset
    59
    while transcoding user inputs. The default is "strict", which
6f0c42d50394 move environment topic
Matt Mackall <mpm@selenic.com>
parents: 3798
diff changeset
    60
    causes Mercurial to abort if it can't translate a character. Other
6f0c42d50394 move environment topic
Matt Mackall <mpm@selenic.com>
parents: 3798
diff changeset
    61
    settings include "replace", which replaces unknown characters, and
6f0c42d50394 move environment topic
Matt Mackall <mpm@selenic.com>
parents: 3798
diff changeset
    62
    "ignore", which drops them. This setting can be overridden with
6f0c42d50394 move environment topic
Matt Mackall <mpm@selenic.com>
parents: 3798
diff changeset
    63
    the --encodingmode command-line option.
6f0c42d50394 move environment topic
Matt Mackall <mpm@selenic.com>
parents: 3798
diff changeset
    64
6f0c42d50394 move environment topic
Matt Mackall <mpm@selenic.com>
parents: 3798
diff changeset
    65
HGMERGE::
6f0c42d50394 move environment topic
Matt Mackall <mpm@selenic.com>
parents: 3798
diff changeset
    66
    An executable to use for resolving merge conflicts. The program
6f0c42d50394 move environment topic
Matt Mackall <mpm@selenic.com>
parents: 3798
diff changeset
    67
    will be executed with three arguments: local file, remote file,
6f0c42d50394 move environment topic
Matt Mackall <mpm@selenic.com>
parents: 3798
diff changeset
    68
    ancestor file.
6f0c42d50394 move environment topic
Matt Mackall <mpm@selenic.com>
parents: 3798
diff changeset
    69
6f0c42d50394 move environment topic
Matt Mackall <mpm@selenic.com>
parents: 3798
diff changeset
    70
    The default program is "hgmerge", which is a shell script provided
6f0c42d50394 move environment topic
Matt Mackall <mpm@selenic.com>
parents: 3798
diff changeset
    71
    by Mercurial with some sensible defaults.
6f0c42d50394 move environment topic
Matt Mackall <mpm@selenic.com>
parents: 3798
diff changeset
    72
6f0c42d50394 move environment topic
Matt Mackall <mpm@selenic.com>
parents: 3798
diff changeset
    73
    (deprecated, use .hgrc)
6f0c42d50394 move environment topic
Matt Mackall <mpm@selenic.com>
parents: 3798
diff changeset
    74
6f0c42d50394 move environment topic
Matt Mackall <mpm@selenic.com>
parents: 3798
diff changeset
    75
HGRCPATH::
6f0c42d50394 move environment topic
Matt Mackall <mpm@selenic.com>
parents: 3798
diff changeset
    76
    A list of files or directories to search for hgrc files.  Item
6f0c42d50394 move environment topic
Matt Mackall <mpm@selenic.com>
parents: 3798
diff changeset
    77
    separator is ":" on Unix, ";" on Windows.  If HGRCPATH is not set,
6f0c42d50394 move environment topic
Matt Mackall <mpm@selenic.com>
parents: 3798
diff changeset
    78
    platform default search path is used.  If empty, only .hg/hgrc of
6f0c42d50394 move environment topic
Matt Mackall <mpm@selenic.com>
parents: 3798
diff changeset
    79
    current repository is read.
6f0c42d50394 move environment topic
Matt Mackall <mpm@selenic.com>
parents: 3798
diff changeset
    80
6f0c42d50394 move environment topic
Matt Mackall <mpm@selenic.com>
parents: 3798
diff changeset
    81
    For each element in path, if a directory, all entries in directory
6f0c42d50394 move environment topic
Matt Mackall <mpm@selenic.com>
parents: 3798
diff changeset
    82
    ending with ".rc" are added to path.  Else, element itself is
6f0c42d50394 move environment topic
Matt Mackall <mpm@selenic.com>
parents: 3798
diff changeset
    83
    added to path.
6f0c42d50394 move environment topic
Matt Mackall <mpm@selenic.com>
parents: 3798
diff changeset
    84
6f0c42d50394 move environment topic
Matt Mackall <mpm@selenic.com>
parents: 3798
diff changeset
    85
HGUSER::
6f0c42d50394 move environment topic
Matt Mackall <mpm@selenic.com>
parents: 3798
diff changeset
    86
    This is the string used for the author of a commit.
6f0c42d50394 move environment topic
Matt Mackall <mpm@selenic.com>
parents: 3798
diff changeset
    87
6f0c42d50394 move environment topic
Matt Mackall <mpm@selenic.com>
parents: 3798
diff changeset
    88
    (deprecated, use .hgrc)
6f0c42d50394 move environment topic
Matt Mackall <mpm@selenic.com>
parents: 3798
diff changeset
    89
6f0c42d50394 move environment topic
Matt Mackall <mpm@selenic.com>
parents: 3798
diff changeset
    90
EMAIL::
6f0c42d50394 move environment topic
Matt Mackall <mpm@selenic.com>
parents: 3798
diff changeset
    91
    If HGUSER is not set, this will be used as the author for a commit.
6f0c42d50394 move environment topic
Matt Mackall <mpm@selenic.com>
parents: 3798
diff changeset
    92
6f0c42d50394 move environment topic
Matt Mackall <mpm@selenic.com>
parents: 3798
diff changeset
    93
LOGNAME::
6f0c42d50394 move environment topic
Matt Mackall <mpm@selenic.com>
parents: 3798
diff changeset
    94
    If neither HGUSER nor EMAIL is set, LOGNAME will be used (with
6f0c42d50394 move environment topic
Matt Mackall <mpm@selenic.com>
parents: 3798
diff changeset
    95
    '@hostname' appended) as the author value for a commit.
6f0c42d50394 move environment topic
Matt Mackall <mpm@selenic.com>
parents: 3798
diff changeset
    96
6f0c42d50394 move environment topic
Matt Mackall <mpm@selenic.com>
parents: 3798
diff changeset
    97
EDITOR::
6f0c42d50394 move environment topic
Matt Mackall <mpm@selenic.com>
parents: 3798
diff changeset
    98
    This is the name of the editor used in the hgmerge script. It will be
6f0c42d50394 move environment topic
Matt Mackall <mpm@selenic.com>
parents: 3798
diff changeset
    99
    used for commit messages if HGEDITOR isn't set. Defaults to 'vi'.
6f0c42d50394 move environment topic
Matt Mackall <mpm@selenic.com>
parents: 3798
diff changeset
   100
6f0c42d50394 move environment topic
Matt Mackall <mpm@selenic.com>
parents: 3798
diff changeset
   101
PYTHONPATH::
6f0c42d50394 move environment topic
Matt Mackall <mpm@selenic.com>
parents: 3798
diff changeset
   102
    This is used by Python to find imported modules and may need to be set
6f0c42d50394 move environment topic
Matt Mackall <mpm@selenic.com>
parents: 3798
diff changeset
   103
    appropriately if Mercurial is not installed system-wide.
3802
eb66d76c7746 move patterns topics
Matt Mackall <mpm@selenic.com>
parents: 3801
diff changeset
   104
    ''',
eb66d76c7746 move patterns topics
Matt Mackall <mpm@selenic.com>
parents: 3801
diff changeset
   105
eb66d76c7746 move patterns topics
Matt Mackall <mpm@selenic.com>
parents: 3801
diff changeset
   106
    "patterns|File Name Patterns": r'''
eb66d76c7746 move patterns topics
Matt Mackall <mpm@selenic.com>
parents: 3801
diff changeset
   107
    Mercurial accepts several notations for identifying one or more
eb66d76c7746 move patterns topics
Matt Mackall <mpm@selenic.com>
parents: 3801
diff changeset
   108
    files at a time.
eb66d76c7746 move patterns topics
Matt Mackall <mpm@selenic.com>
parents: 3801
diff changeset
   109
eb66d76c7746 move patterns topics
Matt Mackall <mpm@selenic.com>
parents: 3801
diff changeset
   110
    By default, Mercurial treats filenames as shell-style extended
eb66d76c7746 move patterns topics
Matt Mackall <mpm@selenic.com>
parents: 3801
diff changeset
   111
    glob patterns.
eb66d76c7746 move patterns topics
Matt Mackall <mpm@selenic.com>
parents: 3801
diff changeset
   112
eb66d76c7746 move patterns topics
Matt Mackall <mpm@selenic.com>
parents: 3801
diff changeset
   113
    Alternate pattern notations must be specified explicitly.
eb66d76c7746 move patterns topics
Matt Mackall <mpm@selenic.com>
parents: 3801
diff changeset
   114
eb66d76c7746 move patterns topics
Matt Mackall <mpm@selenic.com>
parents: 3801
diff changeset
   115
    To use a plain path name without any pattern matching, start a
eb66d76c7746 move patterns topics
Matt Mackall <mpm@selenic.com>
parents: 3801
diff changeset
   116
    name with "path:".  These path names must match completely, from
eb66d76c7746 move patterns topics
Matt Mackall <mpm@selenic.com>
parents: 3801
diff changeset
   117
    the root of the current repository.
eb66d76c7746 move patterns topics
Matt Mackall <mpm@selenic.com>
parents: 3801
diff changeset
   118
eb66d76c7746 move patterns topics
Matt Mackall <mpm@selenic.com>
parents: 3801
diff changeset
   119
    To use an extended glob, start a name with "glob:".  Globs are
eb66d76c7746 move patterns topics
Matt Mackall <mpm@selenic.com>
parents: 3801
diff changeset
   120
    rooted at the current directory; a glob such as "*.c" will match
eb66d76c7746 move patterns topics
Matt Mackall <mpm@selenic.com>
parents: 3801
diff changeset
   121
    files ending in ".c" in the current directory only.
eb66d76c7746 move patterns topics
Matt Mackall <mpm@selenic.com>
parents: 3801
diff changeset
   122
eb66d76c7746 move patterns topics
Matt Mackall <mpm@selenic.com>
parents: 3801
diff changeset
   123
    The supported glob syntax extensions are "**" to match any string
eb66d76c7746 move patterns topics
Matt Mackall <mpm@selenic.com>
parents: 3801
diff changeset
   124
    across path separators, and "{a,b}" to mean "a or b".
eb66d76c7746 move patterns topics
Matt Mackall <mpm@selenic.com>
parents: 3801
diff changeset
   125
eb66d76c7746 move patterns topics
Matt Mackall <mpm@selenic.com>
parents: 3801
diff changeset
   126
    To use a Perl/Python regular expression, start a name with "re:".
eb66d76c7746 move patterns topics
Matt Mackall <mpm@selenic.com>
parents: 3801
diff changeset
   127
    Regexp pattern matching is anchored at the root of the repository.
eb66d76c7746 move patterns topics
Matt Mackall <mpm@selenic.com>
parents: 3801
diff changeset
   128
eb66d76c7746 move patterns topics
Matt Mackall <mpm@selenic.com>
parents: 3801
diff changeset
   129
    Plain examples:
eb66d76c7746 move patterns topics
Matt Mackall <mpm@selenic.com>
parents: 3801
diff changeset
   130
eb66d76c7746 move patterns topics
Matt Mackall <mpm@selenic.com>
parents: 3801
diff changeset
   131
    path:foo/bar   a name bar in a directory named foo in the root of
eb66d76c7746 move patterns topics
Matt Mackall <mpm@selenic.com>
parents: 3801
diff changeset
   132
                   the repository
eb66d76c7746 move patterns topics
Matt Mackall <mpm@selenic.com>
parents: 3801
diff changeset
   133
    path:path:name a file or directory named "path:name"
eb66d76c7746 move patterns topics
Matt Mackall <mpm@selenic.com>
parents: 3801
diff changeset
   134
eb66d76c7746 move patterns topics
Matt Mackall <mpm@selenic.com>
parents: 3801
diff changeset
   135
    Glob examples:
eb66d76c7746 move patterns topics
Matt Mackall <mpm@selenic.com>
parents: 3801
diff changeset
   136
eb66d76c7746 move patterns topics
Matt Mackall <mpm@selenic.com>
parents: 3801
diff changeset
   137
    glob:*.c       any name ending in ".c" in the current directory
eb66d76c7746 move patterns topics
Matt Mackall <mpm@selenic.com>
parents: 3801
diff changeset
   138
    *.c            any name ending in ".c" in the current directory
eb66d76c7746 move patterns topics
Matt Mackall <mpm@selenic.com>
parents: 3801
diff changeset
   139
    **.c           any name ending in ".c" in the current directory, or
eb66d76c7746 move patterns topics
Matt Mackall <mpm@selenic.com>
parents: 3801
diff changeset
   140
                   any subdirectory
eb66d76c7746 move patterns topics
Matt Mackall <mpm@selenic.com>
parents: 3801
diff changeset
   141
    foo/*.c        any name ending in ".c" in the directory foo
eb66d76c7746 move patterns topics
Matt Mackall <mpm@selenic.com>
parents: 3801
diff changeset
   142
    foo/**.c       any name ending in ".c" in the directory foo, or any
eb66d76c7746 move patterns topics
Matt Mackall <mpm@selenic.com>
parents: 3801
diff changeset
   143
                   subdirectory
eb66d76c7746 move patterns topics
Matt Mackall <mpm@selenic.com>
parents: 3801
diff changeset
   144
eb66d76c7746 move patterns topics
Matt Mackall <mpm@selenic.com>
parents: 3801
diff changeset
   145
    Regexp examples:
eb66d76c7746 move patterns topics
Matt Mackall <mpm@selenic.com>
parents: 3801
diff changeset
   146
eb66d76c7746 move patterns topics
Matt Mackall <mpm@selenic.com>
parents: 3801
diff changeset
   147
    re:.*\.c$      any name ending in ".c", anywhere in the repository
eb66d76c7746 move patterns topics
Matt Mackall <mpm@selenic.com>
parents: 3801
diff changeset
   148
eb66d76c7746 move patterns topics
Matt Mackall <mpm@selenic.com>
parents: 3801
diff changeset
   149
''',
3798
17a11f4ff260 Add basic support for help topics and a dates topic
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   150
}
17a11f4ff260 Add basic support for help topics and a dates topic
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   151