Mercurial > hg
diff tests/test-merge-tools.t @ 48966:b10a944c0486 stable
tests: demonstrate how conflict markers end up $local *and* $output
When a merge tool is configured to keep conflict markers, they are
supposed to be written to `$local` if `$output` is not mentioned in
the tool's `merge-tools.<tool>.args` config, and in `$output` if it is
mentioned. However, I broke the latter case in D12190.
Differential Revision: https://phab.mercurial-scm.org/D12378
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Tue, 15 Mar 2022 13:40:45 -0700 |
parents | 92254dcd9255 |
children | a54a866349ed |
line wrap: on
line diff
--- a/tests/test-merge-tools.t Mon Mar 14 17:57:03 2022 +0100 +++ b/tests/test-merge-tools.t Tue Mar 15 13:40:45 2022 -0700 @@ -1213,6 +1213,46 @@ # hg resolve --list R f +with premerge=keep and $output in tool args, $local does not have markers: + + $ beforemerge + [merge-tools] + false.whatever= + true.priority=1 + true.executable=cat + # hg update -C 1 + $ hg merge -r 4 --config merge-tools.true.premerge=keep --config 'merge-tools.true.args=$base $local $other $output' + merging f + revision 0 + space + <<<<<<< working copy: ef83787e2614 - test: revision 1 (known-bad-output !) + revision 1 + space + ======= (known-bad-output !) + revision 4 (known-bad-output !) + >>>>>>> merge rev: 81448d39c9a0 - test: revision 4 (known-bad-output !) + revision 4 + <<<<<<< working copy: ef83787e2614 - test: revision 1 + revision 1 + space + ======= + revision 4 + >>>>>>> merge rev: 81448d39c9a0 - test: revision 4 + 0 files updated, 1 files merged, 0 files removed, 0 files unresolved + (branch merge, don't forget to commit) + $ aftermerge + # cat f + <<<<<<< working copy: ef83787e2614 - test: revision 1 + revision 1 + space + ======= + revision 4 + >>>>>>> merge rev: 81448d39c9a0 - test: revision 4 + # hg stat + M f + # hg resolve --list + R f + premerge=keep-merge3 keeps conflict markers with base content: $ beforemerge