Mercurial > evolve
changeset 2887:c1cf3c8947f1
index: edit pass by native english speaker
author | Ryan McElroy <rmcelroy@fb.com> |
---|---|
date | Wed, 30 Aug 2017 17:32:32 +0200 |
parents | 00518926094f |
children | aa5268900ba1 |
files | docs/index.rst |
diffstat | 1 files changed, 35 insertions(+), 34 deletions(-) [+] |
line wrap: on
line diff
--- a/docs/index.rst Wed Aug 30 16:54:26 2017 +0200 +++ b/docs/index.rst Wed Aug 30 17:32:32 2017 +0200 @@ -13,12 +13,12 @@ * It can automatically detect and handle the complex issues that can arise from exchanging draft changesets. -* It makes it even possible for multiple developers to rewrite the same part of - the history in a distributed way. +* It even makes it possible for multiple developers to safely rewrite the same + parts of history in a distributed way. -* It fully respects the Phases concept so unsure users will only rewrite parts - of the history that are safe to be changed. Phases have been part of Mercurial - since early 2012. +* It fully respects the Phases concept so users will only be able to rewrite + parts of the history that are safe to change. Phases have been part of + Mercurial since early 2012. .. _`evolve`: https://www.mercurial-scm.org/wiki/EvolveExtension .. _`Mercurial`: https://www.mercurial-scm.org/ @@ -40,11 +40,11 @@ [extensions] evolve= -You can easily edit the `hgrc` of repository using `hg config --local` or your -user configuration `hg config --edit`. +You can easily edit the `hgrc` of a repository using `hg config --local`. +Alternatively, you can edit your user configuration with `hg config --edit`. -Table of Content ----------------- +Table of Contents +----------------- .. toctree:: :maxdepth: 2 @@ -57,8 +57,8 @@ .. _`changeset evolution`: -What is Changeset Evolution ? ------------------------------ +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 @@ -66,9 +66,9 @@ 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 +However, 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. +destroyed (“stripped”) rather than simply hidden and still easy to recover. ``evolve`` makes things better by changing the behaviour of most existing history modification commands so they use a safer mechanism (*changeset @@ -85,7 +85,7 @@ one changeset replaces another. In the obsolescence model, a 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 + changesets usually become *hidden* as well. Obsolescence is a disabled feature in Mercurial until you start using ``evolve``. Some of the things you can do with ``evolve`` are: @@ -117,47 +117,48 @@ 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. + tracking the edits you make to a changeset, you can look at the history of + these edits. This is similar to Mercurial tracking the history of file + edits, but at the changeset level. -Why the `evolve` extension --------------------------- +Why the `evolve` extension? +--------------------------- Mercurial core already has some support for `changeset evolution`_ so why have a dedicated extension? The long-term plan for ``evolve`` is to add it to core Mercurial. However, -having the extension helps us experimenting with various user experience -approaches and technical prototype. Having a dedicated extensions help current -user to deploy the later changes quickly and provides the developers with -low latency feedbacks. +having the extension helps us experiment with various user experience +approaches and technical prototypes. Having a dedicated extension helps current +users deploy the latest changes quickly and provides developers with low latency +feedback. -Whenever we are happy with a direction experimented in the extension, the -relevant code go upstream. +Whenever we are happy with a experimental direction in the extension, the +relevant code can go upstream into Core Mercurial. Development status ------------------ -While well on the way, the full implementation of the `changeset evolution`_ -concept is still in progress. Core Mercurial already supports many of the +While well underway, the full implementation of the `changeset evolution`_ +concept is still a work in progress. Core Mercurial already supports many of the associated features, but for now they are still disabled by default. The current implementation has been usable for multiple years already, and some parts of it -are used in production in multiple projects and companies (including the +are used in production by multiple projects and companies (including the Mercurial project itself, Facebook, Google, etc…). However, there are still some areas were the current implementation has gaps. This means some use cases or performance issues are not handled as well as they currently are without evolution. Mercurial has been around for a long time and -is strongly committed to backward compatibility, and turning evolution on by -default nowadays could regress the experience of some of our current users. The -feature will be enabled by default at the point where users who do not use or -care about the new features added by evolution won't be impacted by it. +is strongly committed to backward compatibility. Therefore turning evolution on +by default today could regress the experience of some of our current users. The +features will only be enabled by default at the point where users who do not use +or care about the new features added by evolution won't be negatively impacted +by the new default. .. # .. _`this query`: https://bz.mercurial-scm.org/buglist.cgi?component=evolution&bug_status=UNCONFIRMED&bug_status=CONFIRMED&bug_status=NEED_EXAMPLE -Ressources ----------- +Resources +--------- * For a practical guide to using ``evolve`` in a single repository, see the `user guide`_.