Mercurial > public > mercurial-scm > hg-stable
diff mercurial/help/config.txt @ 35947:9037c29e9f53
filemerge: support passing labels to external merge tools
This adds $labellocal, $labelother, and $labelbase to the replacement set for
merge-tools.<tool>.args config variables, and to the environment as HG_MY_LABEL,
HG_OTHER_LABEL, and HG_BASE_LABEL, respectively.
We also add merge-tools.<tool>.mergemarkers and
merge-tools.<tool>.mergemarkertemplate config variables as counterparts of
the variables available in [ui]. We are intentionally *not* respecting
ui.mergemarkers when calling out to external merge programs; too often the
default template will be too wide to display comfortably in most GUIs.
Differential Revision: https://phab.mercurial-scm.org/D2011
author | Kyle Lippincott <spectral@google.com> |
---|---|
date | Wed, 17 Jan 2018 17:35:05 -0800 |
parents | b86f52426396 |
children | 0c431d3129c4 |
line wrap: on
line diff
--- a/mercurial/help/config.txt Fri Feb 02 23:20:55 2018 -0500 +++ b/mercurial/help/config.txt Wed Jan 17 17:35:05 2018 -0800 @@ -1363,13 +1363,18 @@ ``args`` The arguments to pass to the tool executable. You can refer to the files being merged as well as the output file through these - variables: ``$base``, ``$local``, ``$other``, ``$output``. The meaning - of ``$local`` and ``$other`` can vary depending on which action is being - performed. During and update or merge, ``$local`` represents the original - state of the file, while ``$other`` represents the commit you are updating - to or the commit you are merging with. During a rebase ``$local`` - represents the destination of the rebase, and ``$other`` represents the - commit being rebased. + variables: ``$base``, ``$local``, ``$other``, ``$output``. + + The meaning of ``$local`` and ``$other`` can vary depending on which action is + being performed. During an update or merge, ``$local`` represents the original + state of the file, while ``$other`` represents the commit you are updating to or + the commit you are merging with. During a rebase, ``$local`` represents the + destination of the rebase, and ``$other`` represents the commit being rebased. + + Some operations define custom labels to assist with identifying the revisions, + accessible via ``$labellocal``, ``$labelother``, and ``$labelbase``. If custom + labels are not available, these will be ``local``, ``other``, and ``base``, + respectively. (default: ``$local $base $other``) ``premerge`` @@ -1405,6 +1410,21 @@ ``gui`` This tool requires a graphical interface to run. (default: False) +``mergemarkers`` + Controls whether the labels passed via ``$labellocal``, ``$labelother``, and + ``$labelbase`` are ``detailed`` (respecting ``mergemarkertemplate``) or + ``basic``. If ``premerge`` is ``keep`` or ``keep-merge3``, the conflict + markers generated during premerge will be ``detailed`` if either this option or + the corresponding option in the ``[ui]`` section is ``detailed``. + (default: ``basic``) + +``mergemarkertemplate`` + This setting can be used to override ``mergemarkertemplate`` from the ``[ui]`` + section on a per-tool basis; this applies to the ``$label``-prefixed variables + and to the conflict markers that are generated if ``premerge`` is ``keep` or + ``keep-merge3``. See the corresponding variable in ``[ui]`` for more + information. + .. container:: windows ``regkey`` @@ -2120,6 +2140,8 @@ markers is different from the encoding of the merged files, serious problems may occur. + Can be overridden per-merge-tool, see the ``[merge-tools]`` section. + ``origbackuppath`` The path to a directory used to store generated .orig files. If the path is not a directory, one will be created. If set, files stored in this