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