view relnotes/5.2 @ 45634:9a6b409b8ebc

changing-files: rework the way we store changed files in side-data We need to store new data so this is a good opportunity to rework this fully. 1) We directly store the list of affected file in the side data: * This avoid having to fetch and parse the `files` list in the revision in addition to the sidedata. Making the data more self sufficient. * This work around situation where that `files` field contains wrong information, and open the way to other bug fixing (eg: issue6219) * The format (fixed initial index, sorted files) allow for fast lookup of filename within the structure. * This unify the storage of affected files and copies sources and destination, limiting the number filename stored redundantly. * This prepare for the fact we should drop the `files` as soon as we do any change affecting the revision schema. * This rely on compression to avoid a significant increase of the changelog.d. More testing on this will be done before we freeze the final format. 2) We can store additional data: * The new "merged" field, * A future "salvaged" set recording files that might have been deleted but have were still present in the final result. Differential Revision: https://phab.mercurial-scm.org/D9090
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Tue, 15 Sep 2020 10:55:17 +0200
parents a825ba8eb0a1
children
line wrap: on
line source

== New Features ==

 * The amend extension supports the `--currentuser` argument.

 * The amend extension supports the `--close-branch` argument.

 * The amend extension supports the `--secret` argument.

 * The uncommit extension supports the `rewrite.update-timestamp` config option.

== New Experimental Features ==


== Bug Fixes  ==


== Backwards Compatibility Changes ==

 * A shell that supports `$(command)`` syntax for command substitution is now
   required for running the test suite. The test runner normally uses
   `sh`, so if that is a shell that doesn't support `$(command)` syntax,
   you can override it by setting `$HGTEST_SHELL` or by passing it to
   `run-tests.py --shell <shell>`.

 * The (experimental) narrow extension's wire protocol changed. If
   you're using it, you'll need to make sure to upgrade server and
   client at the same time.

== Internal API Changes ==