New Evolve extension release: version 10.4.0


We released a new version of the evolve extension: 10.4.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 changes are: evolve will now produce the same result regardless of revision numbers when resolving content-divergence; an annoying topic bug that sometimes prevented various history-rewriting commands from completing with a KeyError was fixed. See issue6500. Also compatibility with Mercurial 4.6 was dropped in this release.

Thanks to all the people involved:

Evolve: 10.4.0

  • evolve: use a more stable criteria for picking p1 when solving content-divergence (most recent evolution will be used)
  • evolve: drop the deprecated --unstable, --divergent and --bumped flags, they were replaced by --orphan, --content-divergent and --phase-divergent respectively a long time ago
  • evolve: remove experimental.obshashrange.lru-size docs, that config option didn't do anything for a long time
  • evolve: use precheck function from Mercurial 5.9+ when available, mostly affects error messages and exit codes

  • next: add an --abort flag

  • evolve, topic, pullbundle: drop compatibility with Mercurial 4.6

Topic: 0.23.0

  • topic: don't cache .topic() of memctx instances, as that could produce KeyError: b'topic' during some rewrite operations (issue6500)
  • topic: drop old code for working with amends on ancient hg versions (~3.6)