view relnotes/next @ 44382:f0027a3dd7cb

revlog-compression: update the config to be a list format.revlog-compression is now a list of engine, the first supported one is to be used. Doing this have several benefits: 1) this is fully backward compatible, config using a single entry will be read as a single item list, not changing any behavior. 2) This open the way to use zstd by default without impacting platform were it is not available. This will be done in a later changesets. Using zstd provide a significant performance boost explained in : bb271ec2fbfb. However zstd is not available in some cases, A notable example is the `--pure` version of Mercurial which doesn't come with zstd support. Differential Revision: https://phab.mercurial-scm.org/D8148
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Wed, 19 Feb 2020 17:30:04 +0100
parents 8407031f195f
children a6fb134bd086
line wrap: on
line source

== New Features ==

 * `hg purge`/`hg clean` can now delete ignored files instead of
   untracked files, with the new -i flag.

 * `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
   commits that are being merged, when there are conflicts. Also works
   for conflicts caused by e.g. `hg graft`.

 * `hg copy --forget` can be used to unmark a file as copied.

== New Experimental Features ==

 * `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).

 * Use `hg copy --forget --at-rev REV` to unmark already committed
   copies.

 * prevent pushes of divergent bookmarks (foo@remote)

== Bug Fixes  ==

 * Fix server exception when concurrent pushes delete the same bookmark

== Backwards Compatibility Changes ==

 * 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.

 * `hg recover` does not verify the validity of the whole repository
   anymore. You can pass `--verify` or call `hg verify` if necessary.

== Internal API Changes ==

 * The deprecated `ui.progress()` has now been deleted. Please use
   `ui.makeprogress()` instead.

 * `hg.merge()` has lost its `abort` argument. Please call
   `hg.abortmerge()` directly instead.

 * The `*others` argument of `cmdutil.check_incompatible_arguments()`
   changed from being varargs argument to being a single collection.