evolve: always create commit when resolving divergence
When resolving content-divergence, the final commit we create may end
up empty (which means that Mercurial won't even create it). We've had
code for handling that in evolve ever since 41bf6c27a122 (evolve:
stabilize now handle conflicting changeset, 2012-08-23). However, that
resolved the issue by marking on the divergent commits as
successor. As Pierre-Yves has pointed out (in other code reviews), we
should instead be creating a new successor. So that's what this patch
does. It does that by setting `ui.allowemptycommit` while creating the
final commit. However, that is not enough, because we may end up
creating the same nodeid as already existed (we'd then end up trying
to mark the "new" commit a successor of itself). To solve that, we add
some salt to the commit extras. That salt affects lots of tests.
.. Copyright © 2017 Pierre-Yves David <pierre-yves.david@octobus.net>
==============================================
Known limitations of the current documentation
==============================================
Features not covered by tutorials
=================================
Some of the *newer* features of evolution might not be reflected in the
documentation yet. You can directly check the inline documentation of the
extension itself for fresher details using `hg help -e evolve`.
Known undocumented features are:
* `hg prev`,
* `hg next`,
* `hg next --evolve`,
* `hg evolve --rev`,
* `hg evolve --list`,
* `hg obslog`,
* `hg split`,
* `hg metaedit`,
* `hg touch`,
* `hg amend --extract`,
* `hg pdiff`,
* `hg pstatus`,
* `hg amend -i`,
* various topic related elements (in particular `hg stack`),
Unreferenced Documents
======================
There are documents with content not linked in the flow of the main
documentation. Some might be outdated and some are too fresh to be integrated in
the main flow yet.
.. toctree::
:maxdepth: 1
evolve-faq
evolve-good-practice
obs-terms
tutorials/topic-tutorial
tutorials/tutorial