Martin von Zweigbergk <martinvonz@google.com> [Fri, 07 Jan 2022 23:29:19 -0800] rev 48560
simplemerge: move default labels to simplemerge extension
I want to remove knowledge of paths from the `simplemerge` core
module. As part of that, let's move the default labels from the core
module to the extension.
Differential Revision: https://phab.mercurial-scm.org/D11977
Martin von Zweigbergk <martinvonz@google.com> [Fri, 07 Jan 2022 22:23:44 -0800] rev 48559
simplemerge: use same newline detection for :mergediff as for :merge[3]
The `:merge` and `:merge3` markers used the newline style detected
from the base input. The `:mergediff` style always used LF as newline
character. This patch teaches `:mergediff` to use the same detection
as the others did.
Differential Revision: https://phab.mercurial-scm.org/D11976
Martin von Zweigbergk <martinvonz@google.com> [Tue, 11 Jan 2022 16:54:42 -0800] rev 48558
simplemerge: clarify names of functions that render conflict markers
Differential Revision: https://phab.mercurial-scm.org/D11975
Martin von Zweigbergk <martinvonz@google.com> [Fri, 07 Jan 2022 22:16:22 -0800] rev 48557
simplemerge: make merge_lines() a free function
IMO, the rendering of a conflict as text with merge markers should be
separate from the code for resolving conflicts. The latter is what
`Merge3Text` is mostly about already.
Differential Revision: https://phab.mercurial-scm.org/D11974
Martin von Zweigbergk <martinvonz@google.com> [Fri, 07 Jan 2022 18:42:31 -0800] rev 48556
simplemerge: convert `merge_lines()` away from generator
We always consume all the lines and put them in a list anyway. By
making the function not a generator, we can later make it return an
additional value (to indicate if there were conflicts).
Differential Revision: https://phab.mercurial-scm.org/D11973
Martin von Zweigbergk <martinvonz@google.com> [Tue, 14 Dec 2021 13:12:56 -0800] rev 48555
simplemerge: use 3-way markers if mode=='merge3', ignoring number of labels
Before this patch, we use a combination of `mode` and `labels` to
decide which marker style to use. That's mostly my own fault because I
was the one who added the `mergediff` as a "mode" instead of adding a
separate argument for marker style. Still, let's make these arguments
more orthogonal by ignoring the number of labels when deciding which
marker style to use.
This refactoring makes it a little clearer in the simplemerge
*extension* that passing more than 2 `--label` arguments changes the
marker style.
Differential Revision: https://phab.mercurial-scm.org/D11972