Mercurial > hg
comparison mercurial/help/config.txt @ 35907: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 |
comparison
equal
deleted
inserted
replaced
35906:cd2342302928 | 35907:9037c29e9f53 |
---|---|
1361 (default: the tool name) | 1361 (default: the tool name) |
1362 | 1362 |
1363 ``args`` | 1363 ``args`` |
1364 The arguments to pass to the tool executable. You can refer to the | 1364 The arguments to pass to the tool executable. You can refer to the |
1365 files being merged as well as the output file through these | 1365 files being merged as well as the output file through these |
1366 variables: ``$base``, ``$local``, ``$other``, ``$output``. The meaning | 1366 variables: ``$base``, ``$local``, ``$other``, ``$output``. |
1367 of ``$local`` and ``$other`` can vary depending on which action is being | 1367 |
1368 performed. During and update or merge, ``$local`` represents the original | 1368 The meaning of ``$local`` and ``$other`` can vary depending on which action is |
1369 state of the file, while ``$other`` represents the commit you are updating | 1369 being performed. During an update or merge, ``$local`` represents the original |
1370 to or the commit you are merging with. During a rebase ``$local`` | 1370 state of the file, while ``$other`` represents the commit you are updating to or |
1371 represents the destination of the rebase, and ``$other`` represents the | 1371 the commit you are merging with. During a rebase, ``$local`` represents the |
1372 commit being rebased. | 1372 destination of the rebase, and ``$other`` represents the commit being rebased. |
1373 | |
1374 Some operations define custom labels to assist with identifying the revisions, | |
1375 accessible via ``$labellocal``, ``$labelother``, and ``$labelbase``. If custom | |
1376 labels are not available, these will be ``local``, ``other``, and ``base``, | |
1377 respectively. | |
1373 (default: ``$local $base $other``) | 1378 (default: ``$local $base $other``) |
1374 | 1379 |
1375 ``premerge`` | 1380 ``premerge`` |
1376 Attempt to run internal non-interactive 3-way merge tool before | 1381 Attempt to run internal non-interactive 3-way merge tool before |
1377 launching external tool. Options are ``true``, ``false``, ``keep`` or | 1382 launching external tool. Options are ``true``, ``false``, ``keep`` or |
1402 Attempt to fix up EOL changes caused by the merge tool. | 1407 Attempt to fix up EOL changes caused by the merge tool. |
1403 (default: False) | 1408 (default: False) |
1404 | 1409 |
1405 ``gui`` | 1410 ``gui`` |
1406 This tool requires a graphical interface to run. (default: False) | 1411 This tool requires a graphical interface to run. (default: False) |
1412 | |
1413 ``mergemarkers`` | |
1414 Controls whether the labels passed via ``$labellocal``, ``$labelother``, and | |
1415 ``$labelbase`` are ``detailed`` (respecting ``mergemarkertemplate``) or | |
1416 ``basic``. If ``premerge`` is ``keep`` or ``keep-merge3``, the conflict | |
1417 markers generated during premerge will be ``detailed`` if either this option or | |
1418 the corresponding option in the ``[ui]`` section is ``detailed``. | |
1419 (default: ``basic``) | |
1420 | |
1421 ``mergemarkertemplate`` | |
1422 This setting can be used to override ``mergemarkertemplate`` from the ``[ui]`` | |
1423 section on a per-tool basis; this applies to the ``$label``-prefixed variables | |
1424 and to the conflict markers that are generated if ``premerge`` is ``keep` or | |
1425 ``keep-merge3``. See the corresponding variable in ``[ui]`` for more | |
1426 information. | |
1407 | 1427 |
1408 .. container:: windows | 1428 .. container:: windows |
1409 | 1429 |
1410 ``regkey`` | 1430 ``regkey`` |
1411 Windows registry key which describes install location of this | 1431 Windows registry key which describes install location of this |
2117 managed files. At template expansion, non-ASCII characters use the encoding | 2137 managed files. At template expansion, non-ASCII characters use the encoding |
2118 specified by the ``--encoding`` global option, ``HGENCODING`` or other | 2138 specified by the ``--encoding`` global option, ``HGENCODING`` or other |
2119 environment variables that govern your locale. If the encoding of the merge | 2139 environment variables that govern your locale. If the encoding of the merge |
2120 markers is different from the encoding of the merged files, | 2140 markers is different from the encoding of the merged files, |
2121 serious problems may occur. | 2141 serious problems may occur. |
2142 | |
2143 Can be overridden per-merge-tool, see the ``[merge-tools]`` section. | |
2122 | 2144 |
2123 ``origbackuppath`` | 2145 ``origbackuppath`` |
2124 The path to a directory used to store generated .orig files. If the path is | 2146 The path to a directory used to store generated .orig files. If the path is |
2125 not a directory, one will be created. If set, files stored in this | 2147 not a directory, one will be created. If set, files stored in this |
2126 directory have the same name as the original file and do not have a .orig | 2148 directory have the same name as the original file and do not have a .orig |