doc: simplify the reference to in-core features
This should do the whole thing lighter.
--- a/docs/index.rst Tue Aug 29 16:14:28 2017 +0200
+++ b/docs/index.rst Tue Aug 29 16:15:02 2017 +0200
@@ -20,33 +20,21 @@
commit new changesets to modify your source code, but you cannot
modify or remove old changesets.
-For years, Mercurial has included various extensions that allow
-history modification: ``rebase``, ``mq``, ``histedit``, and so forth.
-These are useful and popular extensions, and in fact history
-modification is one of the big reasons DVCSes (distributed version
-control systems) like Mercurial took off.
-
+For years, Mercurial has included various commands that allow
+history modification: ``rebase``, ``histedit``, ``commit --amend`` and so forth.
But there's a catch: until now, Mercurial's various mechanisms for
modifying history have been *unsafe*, in that changesets were
destroyed (“stripped”) rather than simply made hidden.
-``evolve`` makes things better in a couple of ways:
+``evolve`` makes things better by changing the behaviour of most existing
+history modification commands so they use a safer mechanism (*changeset
+obsolescence*, covered below) rather than the older, less safe *strip*
+operation.
- * It changes the behaviour of most existing history modification
- extensions (``rebase``, ``histedit``, etc.) so they use a safer
- mechanism (*changeset obsolescence*, covered below) rather than
- the older, less safe *strip* operation.
-
- * It provides a new way of modifying history that is roughly
- equivalent to ``mq`` (but much nicer and safer).
-
-It helps to understand that ``evolve`` builds on infrastructure
-already in core Mercurial:
+``evolve`` is built on infrastructure in core Mercurial:
* *Phases* (starting in Mercurial 2.1) allow you to distinguish
- mutable and immutable changesets. We'll cover phases early in the
- user guide, since understanding phases is essential to
- understanding ``evolve``.
+ mutable and immutable changesets.
* *Changeset obsolescence* (starting in Mercurial 2.3) is how
Mercurial knows how history has been modified, specifically when
@@ -54,8 +42,7 @@
changeset is neither removed nor modified, but is instead marked
*obsolete* and typically replaced by a *successor*. Obsolete
changesets usually become *hidden* as well. Obsolescence is an
- invisible feature until you start using ``evolve``, so we'll cover
- it in the user guide too.
+ invisible feature in Mercurial until you start using ``evolve``.
Some of the things you can do with ``evolve`` are: