New Evolve extension release: version 11.1.0

2023-10-23

We released a new version of the evolve extension: 11.1.0.

This extension extends core features around history rewriting and draft changesets sharing.

As usual, the release is available on PyPI, and upgrade is recommended.

This is a feature release. The most notable change is: the next step in implementing topic namespaces, a feature designed to help users organize their topics and at the same time separate their work during development. For more technical context see TopicPlan#sub branches, namespacing and representation. UI work is still underway, but we plan the next feature release to contain a lot of improvements in this area. Other notable changes in this release: hg pick command will now update commit hashes in descriptions if they refer to now-obsolete commits, certain commit extras are now preserved on relocating a commit (and there is a mechanism to modify the list of extras to preserve), evolve.serveronly and serverminitopic extensions were removed (after being deprecated in the previous feature release); evolve and topic extensions replace these extensions for both clients and servers. Also compatibility with Mercurial 4.8 (which was released in 2018, and is the latest available in Debian Buster) was dropped.

Thanks to all the people involved:

Evolve: 11.1.0

  • remove deprecated evolve.serveronly extension, evolve extension is recommended for all users, clients and servers

  • evolve: don't warn about topics while resolving public content-divergence

  • evolve: add obsdiff as alternative for odiff
  • evolve: retain certain commit extras when relocating a commit

  • pick: update commit message hashes like other rewrite commands

  • evolve, pullbundle: drop compatibility with Mercurial 4.8

Topic 1.1.0

  • remove deprecated serverminitopic extension, topic extension is recommended for all users, clients and servers

  • topic namespaces: add experimental.tns-allow-rewrite config option to check topic namespace before rewriting changesets (known limitations: does not prevent rebase and histedit from editing changesets outside of configured topic namespaces on Mercurial 5.2 and older)

  • topic namespaces: add experimental.tns-default-pull-namespaces config option to pull only certain changesets by default
  • topic namespaces: teach hg import and hg export to handle topic namespaces
  • topic namespaces: invalidate topic namespace cache in repo.invalidatecaches()

  • topic: only set topic on workingcommitctx if it doesn't already have one, making hg import always prioritize patch metadata

  • topic: properly process revbranchcache before sending it to peers (issue6841)

  • drop compatibility with Mercurial 4.8