##// END OF EJS Templates
simplemerge: take over formatting of label from `filemerge`...
simplemerge: take over formatting of label from `filemerge` The padding we do of conflict labels depends on which conflict marker style is used. For two-way conflict markers (the default), the length of the base label shouldn't matter. It does before this patch, however. This patch moves the formatting from `filemerge` to `simplemerge`. The latter knows which conflict marker style to use, so it can easily decide about the padding. This change will allow us to use more descriptive "base" labels without causing illogical padding in 2-way markers. I'll do that next. One wrinkle is that we pass the same labels to external merge tools. I decided to change that in this patch to be simpler: no padding, and no ellipsis to fit within 80 columns. My reasoning is that the typical external, 3-or-4-panel merge tool doesn't show the labels on top of each others, so the padding doesn't make sense there. The ellipsis is probably not necessary because the external tools probably have their own way of dealing with long labels. Also, we limit them to "80 - 8" to fit the "<<<<<<< " before, which is almost definitely not what an external tool would put there. Differential Revision: https://phab.mercurial-scm.org/D12019

File last commit:

r46405:84eb4c83 merge default
r49433:3c8cc987 default
Show More
5.6
44 lines | 1.4 KiB | application/x-troff | GroffLexer
== New Features ==
* `hg mv -A` can now be used with `--at-rev`. It behaves just like
`hg cp -A --at-rev`, i.e. it marks the destination as a copy of the
source whether or not the source still exists (but the source must
exist in the parent revision).
* New revset predicate `diffcontains(pattern)` for filtering revisions
in the same way as `hg grep --diff pattern`.
* The memory footprint per changeset and per file during pull/unbundle
operations has been significantly reduced.
== New Experimental Features ==
== Bug Fixes ==
== Backwards Compatibility Changes ==
== Internal API Changes ==
* `merge.update()` is now private (renamed to `_update()`). Hopefully
the higher-level functions available in the same module cover your
use cases.
* `phases.registernew` now takes a set of revisions instead of a list
of nodes. `phases.advanceboundary` takes an optional set of revisions
in addition to the list of nodes. The corresponeding members of the
`phasecache` class follow this change.
* The `addgroup` member of `revlog` classes no longer keeps a list of
all found nodes. It now returns True iff a node was found in the group.
An optional callback for duplicated nodes can be used by callers to keep
track of all nodes themselve.
* The `_chaininfocache` of `revlog` classes has been changed from a dict
to a LRU cache.