##// END OF EJS Templates
debugmergestate: make templated...
debugmergestate: make templated Our IntelliJ team wants to be able to read the merge state in order to help the user resolve merge conflicts. They had so far been reading file contents from p1() and p2() and their merge base. That is not ideal for several reasons (merge base is not necessarily the "graft base", renames are not handled, commands like `hg update -m` is not handled). It will get especially bad as of my D7827. This patch makes the output s a templated. I haven't bothered to make it complete (e.g. merge driver states are not handled), but it's probably good enough as a start. I've done a web search for "debugmergestate" and I can't find any indication that any tools currently rely on its output. If it turns out that we get bug reports for it once this is released, I won't object to backing this patch out on the stable branch (and then perhaps replace it by a separate command, or put it behind a new flag). The changes in test-backout.t are interesting, in particular this: ``` - other path: foo (node not stored in v1 format) + other path: (node foo) ``` I wonder if that means that we actually read v1 format incorrectly. That seems to be an old format that was switched away from in 2014, so it doesn't matter now anyway. Differential Revision: https://phab.mercurial-scm.org/D8120

File last commit:

r44880:acbfa31c default
r44880:acbfa31c default
Show More
next
69 lines | 2.4 KiB | text/plain | TextLexer
Martin von Zweigbergk
releasenotes: add a file in which to record release notes...
r42457 == New Features ==
Valentin Gatien-Baron
purge: add -i flag to delete ignored files instead of untracked files...
r44771 * `hg purge`/`hg clean` can now delete ignored files instead of
untracked files, with the new -i flag.
Martin von Zweigbergk
log: add config for making `hg log -G` always topo-sorted...
r42500
Martin von Zweigbergk
graphlog: use '%' for other context in merge conflict...
r44819 * `hg log` now defaults to using an '%' symbol for commits involved
in unresolved merge conflicts. That includes unresolved conflicts
caused by e.g. `hg update --merge` and `hg graft`. '@' still takes
precedence, so what used to be marked '@' still is.
* New `conflictlocal()` and `conflictother()` revsets return the
Martin von Zweigbergk
revset: add a revset for parents in merge state...
r44817 commits that are being merged, when there are conflicts. Also works
for conflicts caused by e.g. `hg graft`.
Martin von Zweigbergk
copy: add option to unmark file as copied...
r44844 * `hg copy --forget` can be used to unmark a file as copied.
revlog-compression: release note entry for update the config to be a list...
r44875 * The `format.revlog-compression` configuration entry now accept a list. The
first available option will be used. for example setting::
[format]
revlog-compression=zstd, zlib
Will use `zstd` compression for new repositories is available, and will
simply fall back to `zlib` if not.
Martin von Zweigbergk
debugmergestate: make templated...
r44880 * `hg debugmergestate` output is now templated, which may be useful
e.g. for IDEs that want to help the user resolve merge conflicts.
Martin von Zweigbergk
copy: add experimental support for marking committed copies...
r44847 == New Experimental Features ==
Martin von Zweigbergk
revset: add a revset for parents in merge state...
r44817
Martin von Zweigbergk
copy: add experimental support for marking committed copies...
r44847 * `hg copy` now supports a `--at-rev` argument to mark files as
copied in the specified commit. It only works with `--after` for
now (i.e., it's only useful for marking files copied using non-hg
`cp` as copied).
Martin von Zweigbergk
log: add config for making `hg log -G` always topo-sorted...
r42500
Martin von Zweigbergk
copy: add experimetal support for unmarking committed copies...
r44845 * Use `hg copy --forget --at-rev REV` to unmark already committed
copies.
Martin von Zweigbergk
releasenotes: add a file in which to record release notes...
r42457 == Bug Fixes ==
Valentin Gatien-Baron
bookmarks: avoid traceback when two pushes race to delete the same bookmark...
r44852 * Fix server exception when concurrent pushes delete the same bookmark
Martin von Zweigbergk
releasenotes: add a file in which to record release notes...
r42457
Valentin Gatien-Baron
relnotes: move entry to the right spot...
r44876 * Prevent pushes of divergent bookmarks (foo@remote)
Martin von Zweigbergk
releasenotes: add a file in which to record release notes...
r42457 == Backwards Compatibility Changes ==
Martin von Zweigbergk
rebase: don't use rebased node as dirstate p2 (BC)...
r44821 * When `hg rebase` pauses for merge conflict resolution, the working
copy will no longer have the rebased node as a second parent. You
can use the new `conflictparents()` revset for finding the other
parent during a conflict.
Valentin Gatien-Baron
relnotes: add entry about previous `hg recover` change...
r44851 * `hg recover` does not verify the validity of the whole repository
anymore. You can pass `--verify` or call `hg verify` if necessary.
Martin von Zweigbergk
narrow: don't hexify paths and double-hexify known nodes on wire (BC)...
r43214
Martin von Zweigbergk
debugmergestate: make templated...
r44880 * `hg debugmergestate` output format changed. Let us know if that is
causing you problems and we'll roll it back.
Martin von Zweigbergk
releasenotes: add a file in which to record release notes...
r42457 == Internal API Changes ==
Martin von Zweigbergk
progress: delete deprecated ui.progress()...
r44619 * The deprecated `ui.progress()` has now been deleted. Please use
`ui.makeprogress()` instead.
Martin von Zweigbergk
merge: drop now-unused "abort" argument from hg.merge()...
r44639
* `hg.merge()` has lost its `abort` argument. Please call
`hg.abortmerge()` directly instead.
Martin von Zweigbergk
cmdutil: change check_incompatible_arguments() *arg to single iterable...
r44655
* The `*others` argument of `cmdutil.check_incompatible_arguments()`
changed from being varargs argument to being a single collection.