view mercurial/help/environment.txt @ 18878:3cfaace0441e

copies._forwardcopies: use set operations to find missing files This is a performance win for a number of reasons: - We don't iterate over contexts, which avoids a completely unnecessary sorted call + the O(number of files) abstraction cost of doing that. - We don't check membership in a context, which avoids another O(number of files) abstraction cost. - We iterate over the manifests in C instead of Python. For a large repo with 170,000 files, this improves perfpathcopies from 0.34 seconds to 0.07. Anything that uses pathcopies, such as rebase or diff --git between two revisions, benefits.
author Siddharth Agarwal <sid0@fb.com>
date Thu, 04 Apr 2013 20:22:29 -0700
parents 9f97de157aad
children a9ed5a8fc5e0
line wrap: on
line source

HG
    Path to the 'hg' executable, automatically passed when running
    hooks, extensions or external tools. If unset or empty, this is
    the hg executable's name if it's frozen, or an executable named
    'hg' (with %PATHEXT% [defaulting to COM/EXE/BAT/CMD] extensions on
    Windows) is searched.

HGEDITOR
    This is the name of the editor to run when committing. See EDITOR.

    (deprecated, use configuration file)

HGENCODING
    This overrides the default locale setting detected by Mercurial.
    This setting is used to convert data including usernames,
    changeset descriptions, tag names, and branches. This setting can
    be overridden with the --encoding command-line option.

HGENCODINGMODE
    This sets Mercurial's behavior for handling unknown characters
    while transcoding user input. The default is "strict", which
    causes Mercurial to abort if it can't map a character. Other
    settings include "replace", which replaces unknown characters, and
    "ignore", which drops them. This setting can be overridden with
    the --encodingmode command-line option.

HGENCODINGAMBIGUOUS
    This sets Mercurial's behavior for handling characters with
    "ambiguous" widths like accented Latin characters with East Asian
    fonts. By default, Mercurial assumes ambiguous characters are
    narrow, set this variable to "wide" if such characters cause
    formatting problems.

HGMERGE
    An executable to use for resolving merge conflicts. The program
    will be executed with three arguments: local file, remote file,
    ancestor file.

    (deprecated, use configuration file)

HGRCPATH
    A list of files or directories to search for configuration
    files. Item separator is ":" on Unix, ";" on Windows. If HGRCPATH
    is not set, platform default search path is used. If empty, only
    the .hg/hgrc from the current repository is read.

    For each element in HGRCPATH:

    - if it's a directory, all files ending with .rc are added
    - otherwise, the file itself will be added

HGPLAIN
    When set, this disables any configuration settings that might
    change Mercurial's default output. This includes encoding,
    defaults, verbose mode, debug mode, quiet mode, tracebacks, and
    localization. This can be useful when scripting against Mercurial
    in the face of existing user configuration.

    Equivalent options set via command line flags or environment
    variables are not overridden.

HGPLAINEXCEPT
    This is a comma-separated list of features to preserve when
    HGPLAIN is enabled. Currently the only value supported is "i18n",
    which preserves internationalization in plain mode.

    Setting HGPLAINEXCEPT to anything (even an empty string) will
    enable plain mode.

HGUSER
    This is the string used as the author of a commit. If not set,
    available values will be considered in this order:

    - HGUSER (deprecated)
    - configuration files from the HGRCPATH
    - EMAIL
    - interactive prompt
    - LOGNAME (with ``@hostname`` appended)

    (deprecated, use configuration file)

EMAIL
    May be used as the author of a commit; see HGUSER.

LOGNAME
    May be used as the author of a commit; see HGUSER.

VISUAL
    This is the name of the editor to use when committing. See EDITOR.

EDITOR
    Sometimes Mercurial needs to open a text file in an editor for a
    user to modify, for example when writing commit messages. The
    editor it uses is determined by looking at the environment
    variables HGEDITOR, VISUAL and EDITOR, in that order. The first
    non-empty one is chosen. If all of them are empty, the editor
    defaults to 'vi'.

PYTHONPATH
    This is used by Python to find imported modules and may need to be
    set appropriately if this Mercurial is not installed system-wide.