# HG changeset patch # User Pierre-Yves David # Date 1504085127 -7200 # Node ID 9b270ce3763b9ac9634585b1726aa61c5374afe6 # Parent a75b4109239b7c6ce0c4c070d8b9912b032dbd76 doc-front-page: expand the paragraph about changeset evolution We clarify the part of the explanation about the changeset evolution concept. diff -r a75b4109239b -r 9b270ce3763b docs/index.rst --- a/docs/index.rst Wed Aug 30 11:24:38 2017 +0200 +++ b/docs/index.rst Wed Aug 30 11:25:27 2017 +0200 @@ -55,8 +55,8 @@ concepts from-mq -Why the ``evolve`` extension ----------------------------- +What is Changeset Evolution ? +----------------------------- With core Mercurial, changesets are permanent and immutable. You can commit new changesets to modify your source code, but you cannot @@ -84,14 +84,14 @@ 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 in Mercurial until you start using ``evolve``. + disabled feature in Mercurial until you start using ``evolve``. Some of the things you can do with ``evolve`` are: * Fix a mistake immediately: “Oops! I just committed a changeset with a syntax error—I'll fix that and amend the changeset so no - one sees my mistake.” (While this is possible using existing - features of core Mercurial, ``evolve`` makes it safer.) + one sees my mistake.” (While this is possible using default + features of core Mercurial, changeset evolution makes it safer.) * Fix a mistake a little bit later: “Oops! I broke the tests three commits back, but only noticed it now—I'll just update back to the @@ -114,6 +114,11 @@ for code review. The solution is to share mutable history with your reviewer, amending each changeset until it passes review. + * Explore and audit the rewrite history of a changeset. Since Mercurial is + tracking the edition you make to a changeset, you can look at the history of + these editions. This is similar to Mercurial tracking the history of a file + edition, but at the changeset level. + ``evolve`` is experimental! ---------------------------