Differences between revisions 5 and 6
Revision 5 as of 2017-01-19 01:40:56
Size: 1514
Editor: AugieFackler
Comment:
Revision 6 as of 2017-01-19 02:17:21
Size: 1841
Editor: GregorySzorc
Comment: more on compression engines; debugupgraderepo
Deletions are marked like this. Additions are marked like this.
Line 10: Line 10:
   * New compression formats are fully supported in bundles and the wire protocol. There is experimental support for different compression in revlogs.
Line 11: Line 12:
   * Bundles using zstd are faster to create and smaller than zlib bundles    * HTTP payloads for many commands will now use zstd by default (as opposed to zlib) when both client and server support it
Line 16: Line 17:
 * An experimental ``hg debugupgraderepo`` command allows in-place upgrading of repositories to the latest storage format.

Mercurial 4.1 release

/!\ This is a draft and may not accurately reflect what lands in the 4.1 release.

1. Features

  • A new extensible "compression engines" API has been implemented. Support for a new compression format can now be implemented in extensions.
    • New compression formats are fully supported in bundles and the wire protocol. There is experimental support for different compression in revlogs.
  • zstd - a new and exciting compression engine - is now distributed with Mercurial and built by default
    • HTTP payloads for many commands will now use zstd by default (as opposed to zlib) when both client and server support it
  • A new statistical profiler has been added and made the default profiler for --profile. This profiler gives more accurate results than Python's built-in cProfile (the previous default) because the profiler overhead is much smaller. The output from --profile now displays the code hot path by default. This allows Mercurial developers to more accurately identify performance problems.

  • New followlines(file, from:to, startrev=.) revset predicate to track a part of changes.

  • Experimental support for additional git-diff features.
  • Troubled changes (from ChangesetEvolution) are noted more prominently in a few places.

  • An experimental hg debugupgraderepo command allows in-place upgrading of repositories to the latest storage format.

2. Improvements

  • Performance of reading individual revlog entries has been greatly improved. This will be noticeable when performing changelog scans on large repositories (such as when executing certain revsets).
  • The low-level content diffing algorithm is now ~2x faster. Operations that write data to the repository (like commit) can be noticeably faster as a result.

Release4.1 (last edited 2017-03-22 22:21:00 by MartinVonZweigbergk)