author | Pierre-Yves David <pierre-yves.david@octobus.net> |
Wed, 30 Aug 2017 11:26:00 +0200 | |
changeset 2883 | a23045b61e6d |
parent 2882 | 4b7252600e57 |
child 2884 | 5a836fa589a4 |
permissions | -rw-r--r-- |
977
cc0f0d94bf30
docs: rewrite index page (including dangling links to future docs)
Greg Ward <greg@gerg.ca>
parents:
709
diff
changeset
|
1 |
.. Copyright © 2014 Greg Ward <greg@gerg.ca> |
161
4e3f25ba5401
More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
2 |
|
977
cc0f0d94bf30
docs: rewrite index page (including dangling links to future docs)
Greg Ward <greg@gerg.ca>
parents:
709
diff
changeset
|
3 |
================================== |
cc0f0d94bf30
docs: rewrite index page (including dangling links to future docs)
Greg Ward <greg@gerg.ca>
parents:
709
diff
changeset
|
4 |
Changeset Evolution with Mercurial |
cc0f0d94bf30
docs: rewrite index page (including dangling links to future docs)
Greg Ward <greg@gerg.ca>
parents:
709
diff
changeset
|
5 |
================================== |
709
60582b861a00
minor help changes
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
667
diff
changeset
|
6 |
|
2879
3fd8acc06780
doc-front-page: mention that "Changeset Evolution" is a specific concept
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2878
diff
changeset
|
7 |
`evolve`_ is a Mercurial extension for faster and safer mutable history. It |
3fd8acc06780
doc-front-page: mention that "Changeset Evolution" is a specific concept
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2878
diff
changeset
|
8 |
implements the changeset evolution concept for `Mercurial`_. |
2873
2c4171a53475
doc-front-page: move introduction before the table of content
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2872
diff
changeset
|
9 |
|
2876
c47c988b239b
doc-front-page: add a feature summary at the beginning of the page
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2875
diff
changeset
|
10 |
* It offers a safe and simple way to refine changesets locally and propagate |
c47c988b239b
doc-front-page: add a feature summary at the beginning of the page
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2875
diff
changeset
|
11 |
those changes to other repositories. |
c47c988b239b
doc-front-page: add a feature summary at the beginning of the page
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2875
diff
changeset
|
12 |
|
c47c988b239b
doc-front-page: add a feature summary at the beginning of the page
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2875
diff
changeset
|
13 |
* It can automatically detect and handle the complex issues that can arise from |
c47c988b239b
doc-front-page: add a feature summary at the beginning of the page
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2875
diff
changeset
|
14 |
exchanging draft changesets. |
c47c988b239b
doc-front-page: add a feature summary at the beginning of the page
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2875
diff
changeset
|
15 |
|
c47c988b239b
doc-front-page: add a feature summary at the beginning of the page
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2875
diff
changeset
|
16 |
* It makes it even possible for multiple developers to rewrite the same part of |
c47c988b239b
doc-front-page: add a feature summary at the beginning of the page
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2875
diff
changeset
|
17 |
the history in a distributed way. |
c47c988b239b
doc-front-page: add a feature summary at the beginning of the page
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2875
diff
changeset
|
18 |
|
c47c988b239b
doc-front-page: add a feature summary at the beginning of the page
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2875
diff
changeset
|
19 |
* It fully respects the Phases concept so unsure users will only rewrite parts |
c47c988b239b
doc-front-page: add a feature summary at the beginning of the page
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2875
diff
changeset
|
20 |
of the history that are safe to be changed. Phases have been part of Mercurial |
c47c988b239b
doc-front-page: add a feature summary at the beginning of the page
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2875
diff
changeset
|
21 |
since early 2012. |
c47c988b239b
doc-front-page: add a feature summary at the beginning of the page
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2875
diff
changeset
|
22 |
|
2873
2c4171a53475
doc-front-page: move introduction before the table of content
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2872
diff
changeset
|
23 |
.. _`evolve`: https://www.mercurial-scm.org/wiki/EvolveExtension |
2879
3fd8acc06780
doc-front-page: mention that "Changeset Evolution" is a specific concept
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2878
diff
changeset
|
24 |
.. _`Mercurial`: https://www.mercurial-scm.org/ |
2873
2c4171a53475
doc-front-page: move introduction before the table of content
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2872
diff
changeset
|
25 |
|
2874
2b84eee4c040
doc-front-page: move installation instruction earliero
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2873
diff
changeset
|
26 |
Installation and setup |
2b84eee4c040
doc-front-page: move installation instruction earliero
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2873
diff
changeset
|
27 |
---------------------- |
2b84eee4c040
doc-front-page: move installation instruction earliero
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2873
diff
changeset
|
28 |
|
2875
483152bab9b9
doc-front-page: mention the mailing list in the documentation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2874
diff
changeset
|
29 |
We recommend you subscribe to the `evolve-testers`_ mailing list to stay up |
483152bab9b9
doc-front-page: mention the mailing list in the documentation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2874
diff
changeset
|
30 |
to date with the latest news and announcement. |
483152bab9b9
doc-front-page: mention the mailing list in the documentation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2874
diff
changeset
|
31 |
|
483152bab9b9
doc-front-page: mention the mailing list in the documentation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2874
diff
changeset
|
32 |
.. _`evolve-testers`: https://www.mercurial-scm.org/mailman/listinfo/evolve-testers |
483152bab9b9
doc-front-page: mention the mailing list in the documentation
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2874
diff
changeset
|
33 |
|
2874
2b84eee4c040
doc-front-page: move installation instruction earliero
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2873
diff
changeset
|
34 |
Using pip:: |
2b84eee4c040
doc-front-page: move installation instruction earliero
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2873
diff
changeset
|
35 |
|
2b84eee4c040
doc-front-page: move installation instruction earliero
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2873
diff
changeset
|
36 |
pip install --user hg-evolve |
2b84eee4c040
doc-front-page: move installation instruction earliero
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2873
diff
changeset
|
37 |
|
2b84eee4c040
doc-front-page: move installation instruction earliero
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2873
diff
changeset
|
38 |
Then add in your `hgrc` config:: |
2b84eee4c040
doc-front-page: move installation instruction earliero
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2873
diff
changeset
|
39 |
|
2b84eee4c040
doc-front-page: move installation instruction earliero
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2873
diff
changeset
|
40 |
[extensions] |
2b84eee4c040
doc-front-page: move installation instruction earliero
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2873
diff
changeset
|
41 |
evolve= |
2b84eee4c040
doc-front-page: move installation instruction earliero
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2873
diff
changeset
|
42 |
|
2b84eee4c040
doc-front-page: move installation instruction earliero
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2873
diff
changeset
|
43 |
You can easily edit the `hgrc` of repository using `hg config --local` or your |
2b84eee4c040
doc-front-page: move installation instruction earliero
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2873
diff
changeset
|
44 |
user configuration `hg config --edit`. |
2b84eee4c040
doc-front-page: move installation instruction earliero
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2873
diff
changeset
|
45 |
|
2878
641cdc2e4bfb
doc-front-page: include the index in the TOC
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2877
diff
changeset
|
46 |
Table of Content |
641cdc2e4bfb
doc-front-page: include the index in the TOC
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2877
diff
changeset
|
47 |
---------------- |
641cdc2e4bfb
doc-front-page: include the index in the TOC
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2877
diff
changeset
|
48 |
|
1284 | 49 |
.. toctree:: |
50 |
:maxdepth: 2 |
|
51 |
||
2878
641cdc2e4bfb
doc-front-page: include the index in the TOC
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2877
diff
changeset
|
52 |
index |
1284 | 53 |
user-guide |
54 |
sharing |
|
55 |
concepts |
|
56 |
from-mq |
|
57 |
||
2881
9b270ce3763b
doc-front-page: expand the paragraph about changeset evolution
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2880
diff
changeset
|
58 |
What is Changeset Evolution ? |
9b270ce3763b
doc-front-page: expand the paragraph about changeset evolution
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2880
diff
changeset
|
59 |
----------------------------- |
161
4e3f25ba5401
More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
60 |
|
977
cc0f0d94bf30
docs: rewrite index page (including dangling links to future docs)
Greg Ward <greg@gerg.ca>
parents:
709
diff
changeset
|
61 |
With core Mercurial, changesets are permanent and immutable. You can |
cc0f0d94bf30
docs: rewrite index page (including dangling links to future docs)
Greg Ward <greg@gerg.ca>
parents:
709
diff
changeset
|
62 |
commit new changesets to modify your source code, but you cannot |
2871
c6289ec369cb
doc: be less dramatic about changeset immutability
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2870
diff
changeset
|
63 |
modify or remove old changesets. |
161
4e3f25ba5401
More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
64 |
|
2872
78debdfb3e4d
doc: simplify the reference to in-core features
Philippe Pepiot <phil@philpep.org>
parents:
2871
diff
changeset
|
65 |
For years, Mercurial has included various commands that allow |
78debdfb3e4d
doc: simplify the reference to in-core features
Philippe Pepiot <phil@philpep.org>
parents:
2871
diff
changeset
|
66 |
history modification: ``rebase``, ``histedit``, ``commit --amend`` and so forth. |
977
cc0f0d94bf30
docs: rewrite index page (including dangling links to future docs)
Greg Ward <greg@gerg.ca>
parents:
709
diff
changeset
|
67 |
But there's a catch: until now, Mercurial's various mechanisms for |
cc0f0d94bf30
docs: rewrite index page (including dangling links to future docs)
Greg Ward <greg@gerg.ca>
parents:
709
diff
changeset
|
68 |
modifying history have been *unsafe*, in that changesets were |
2861
54a95c333102
doc: use "hidden" instead of "invisible"
Philippe Pepiot <phil@philpep.org>
parents:
2557
diff
changeset
|
69 |
destroyed (“stripped”) rather than simply made hidden. |
163
92b073d13f2d
more doc update
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
161
diff
changeset
|
70 |
|
2872
78debdfb3e4d
doc: simplify the reference to in-core features
Philippe Pepiot <phil@philpep.org>
parents:
2871
diff
changeset
|
71 |
``evolve`` makes things better by changing the behaviour of most existing |
78debdfb3e4d
doc: simplify the reference to in-core features
Philippe Pepiot <phil@philpep.org>
parents:
2871
diff
changeset
|
72 |
history modification commands so they use a safer mechanism (*changeset |
78debdfb3e4d
doc: simplify the reference to in-core features
Philippe Pepiot <phil@philpep.org>
parents:
2871
diff
changeset
|
73 |
obsolescence*, covered below) rather than the older, less safe *strip* |
78debdfb3e4d
doc: simplify the reference to in-core features
Philippe Pepiot <phil@philpep.org>
parents:
2871
diff
changeset
|
74 |
operation. |
227
abe52cf492ee
doc: several update and review.
Pierre-Yves.David@ens-lyon.org
parents:
194
diff
changeset
|
75 |
|
2872
78debdfb3e4d
doc: simplify the reference to in-core features
Philippe Pepiot <phil@philpep.org>
parents:
2871
diff
changeset
|
76 |
``evolve`` is built on infrastructure in core Mercurial: |
161
4e3f25ba5401
More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
77 |
|
977
cc0f0d94bf30
docs: rewrite index page (including dangling links to future docs)
Greg Ward <greg@gerg.ca>
parents:
709
diff
changeset
|
78 |
* *Phases* (starting in Mercurial 2.1) allow you to distinguish |
2872
78debdfb3e4d
doc: simplify the reference to in-core features
Philippe Pepiot <phil@philpep.org>
parents:
2871
diff
changeset
|
79 |
mutable and immutable changesets. |
227
abe52cf492ee
doc: several update and review.
Pierre-Yves.David@ens-lyon.org
parents:
194
diff
changeset
|
80 |
|
977
cc0f0d94bf30
docs: rewrite index page (including dangling links to future docs)
Greg Ward <greg@gerg.ca>
parents:
709
diff
changeset
|
81 |
* *Changeset obsolescence* (starting in Mercurial 2.3) is how |
cc0f0d94bf30
docs: rewrite index page (including dangling links to future docs)
Greg Ward <greg@gerg.ca>
parents:
709
diff
changeset
|
82 |
Mercurial knows how history has been modified, specifically when |
cc0f0d94bf30
docs: rewrite index page (including dangling links to future docs)
Greg Ward <greg@gerg.ca>
parents:
709
diff
changeset
|
83 |
one changeset replaces another. In the obsolescence model, a |
cc0f0d94bf30
docs: rewrite index page (including dangling links to future docs)
Greg Ward <greg@gerg.ca>
parents:
709
diff
changeset
|
84 |
changeset is neither removed nor modified, but is instead marked |
cc0f0d94bf30
docs: rewrite index page (including dangling links to future docs)
Greg Ward <greg@gerg.ca>
parents:
709
diff
changeset
|
85 |
*obsolete* and typically replaced by a *successor*. Obsolete |
cc0f0d94bf30
docs: rewrite index page (including dangling links to future docs)
Greg Ward <greg@gerg.ca>
parents:
709
diff
changeset
|
86 |
changesets usually become *hidden* as well. Obsolescence is an |
2881
9b270ce3763b
doc-front-page: expand the paragraph about changeset evolution
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2880
diff
changeset
|
87 |
disabled feature in Mercurial until you start using ``evolve``. |
163
92b073d13f2d
more doc update
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
161
diff
changeset
|
88 |
|
977
cc0f0d94bf30
docs: rewrite index page (including dangling links to future docs)
Greg Ward <greg@gerg.ca>
parents:
709
diff
changeset
|
89 |
Some of the things you can do with ``evolve`` are: |
163
92b073d13f2d
more doc update
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
161
diff
changeset
|
90 |
|
977
cc0f0d94bf30
docs: rewrite index page (including dangling links to future docs)
Greg Ward <greg@gerg.ca>
parents:
709
diff
changeset
|
91 |
* Fix a mistake immediately: “Oops! I just committed a changeset |
cc0f0d94bf30
docs: rewrite index page (including dangling links to future docs)
Greg Ward <greg@gerg.ca>
parents:
709
diff
changeset
|
92 |
with a syntax error—I'll fix that and amend the changeset so no |
2881
9b270ce3763b
doc-front-page: expand the paragraph about changeset evolution
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2880
diff
changeset
|
93 |
one sees my mistake.” (While this is possible using default |
9b270ce3763b
doc-front-page: expand the paragraph about changeset evolution
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2880
diff
changeset
|
94 |
features of core Mercurial, changeset evolution makes it safer.) |
166
8f8a52cd0b9f
big doc update
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
165
diff
changeset
|
95 |
|
977
cc0f0d94bf30
docs: rewrite index page (including dangling links to future docs)
Greg Ward <greg@gerg.ca>
parents:
709
diff
changeset
|
96 |
* Fix a mistake a little bit later: “Oops! I broke the tests three |
cc0f0d94bf30
docs: rewrite index page (including dangling links to future docs)
Greg Ward <greg@gerg.ca>
parents:
709
diff
changeset
|
97 |
commits back, but only noticed it now—I'll just update back to the |
cc0f0d94bf30
docs: rewrite index page (including dangling links to future docs)
Greg Ward <greg@gerg.ca>
parents:
709
diff
changeset
|
98 |
bad changeset, fix my mistake, amend the changeset, and evolve |
cc0f0d94bf30
docs: rewrite index page (including dangling links to future docs)
Greg Ward <greg@gerg.ca>
parents:
709
diff
changeset
|
99 |
history to update the affected changesets.” |
161
4e3f25ba5401
More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
100 |
|
977
cc0f0d94bf30
docs: rewrite index page (including dangling links to future docs)
Greg Ward <greg@gerg.ca>
parents:
709
diff
changeset
|
101 |
* Remove unwanted changes: “I hacked in some debug output two |
cc0f0d94bf30
docs: rewrite index page (including dangling links to future docs)
Greg Ward <greg@gerg.ca>
parents:
709
diff
changeset
|
102 |
commits back; everything is working now, so I'll just prune that |
cc0f0d94bf30
docs: rewrite index page (including dangling links to future docs)
Greg Ward <greg@gerg.ca>
parents:
709
diff
changeset
|
103 |
unwanted changeset and evolve history before pushing.” |
161
4e3f25ba5401
More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
104 |
|
977
cc0f0d94bf30
docs: rewrite index page (including dangling links to future docs)
Greg Ward <greg@gerg.ca>
parents:
709
diff
changeset
|
105 |
* Share mutable history with yourself: say you do most of your |
cc0f0d94bf30
docs: rewrite index page (including dangling links to future docs)
Greg Ward <greg@gerg.ca>
parents:
709
diff
changeset
|
106 |
programming work locally, but need to test on a big remote server |
cc0f0d94bf30
docs: rewrite index page (including dangling links to future docs)
Greg Ward <greg@gerg.ca>
parents:
709
diff
changeset
|
107 |
somewhere before you know everything is good. You can use |
cc0f0d94bf30
docs: rewrite index page (including dangling links to future docs)
Greg Ward <greg@gerg.ca>
parents:
709
diff
changeset
|
108 |
``evolve`` to share mutable history between two computers, pushing |
cc0f0d94bf30
docs: rewrite index page (including dangling links to future docs)
Greg Ward <greg@gerg.ca>
parents:
709
diff
changeset
|
109 |
finely polished changesets to a public repository only after |
cc0f0d94bf30
docs: rewrite index page (including dangling links to future docs)
Greg Ward <greg@gerg.ca>
parents:
709
diff
changeset
|
110 |
testing on the test server. |
166
8f8a52cd0b9f
big doc update
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
165
diff
changeset
|
111 |
|
977
cc0f0d94bf30
docs: rewrite index page (including dangling links to future docs)
Greg Ward <greg@gerg.ca>
parents:
709
diff
changeset
|
112 |
* Share mutable history for code review: you don't want to publish |
cc0f0d94bf30
docs: rewrite index page (including dangling links to future docs)
Greg Ward <greg@gerg.ca>
parents:
709
diff
changeset
|
113 |
unreviewed changesets, but you can't block every commit waiting |
cc0f0d94bf30
docs: rewrite index page (including dangling links to future docs)
Greg Ward <greg@gerg.ca>
parents:
709
diff
changeset
|
114 |
for code review. The solution is to share mutable history with |
cc0f0d94bf30
docs: rewrite index page (including dangling links to future docs)
Greg Ward <greg@gerg.ca>
parents:
709
diff
changeset
|
115 |
your reviewer, amending each changeset until it passes review. |
166
8f8a52cd0b9f
big doc update
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
165
diff
changeset
|
116 |
|
2881
9b270ce3763b
doc-front-page: expand the paragraph about changeset evolution
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2880
diff
changeset
|
117 |
* Explore and audit the rewrite history of a changeset. Since Mercurial is |
9b270ce3763b
doc-front-page: expand the paragraph about changeset evolution
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2880
diff
changeset
|
118 |
tracking the edition you make to a changeset, you can look at the history of |
9b270ce3763b
doc-front-page: expand the paragraph about changeset evolution
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2880
diff
changeset
|
119 |
these editions. This is similar to Mercurial tracking the history of a file |
9b270ce3763b
doc-front-page: expand the paragraph about changeset evolution
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2880
diff
changeset
|
120 |
edition, but at the changeset level. |
9b270ce3763b
doc-front-page: expand the paragraph about changeset evolution
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2880
diff
changeset
|
121 |
|
2882
4b7252600e57
doc-front-pagE: add a paragraph about "why the extension"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2881
diff
changeset
|
122 |
Why the `evolve` extension |
4b7252600e57
doc-front-pagE: add a paragraph about "why the extension"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2881
diff
changeset
|
123 |
-------------------------- |
4b7252600e57
doc-front-pagE: add a paragraph about "why the extension"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2881
diff
changeset
|
124 |
|
4b7252600e57
doc-front-pagE: add a paragraph about "why the extension"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2881
diff
changeset
|
125 |
Mercurial core already has some support for changeset evolution so why have a |
4b7252600e57
doc-front-pagE: add a paragraph about "why the extension"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2881
diff
changeset
|
126 |
dedicated extension? |
4b7252600e57
doc-front-pagE: add a paragraph about "why the extension"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2881
diff
changeset
|
127 |
|
4b7252600e57
doc-front-pagE: add a paragraph about "why the extension"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2881
diff
changeset
|
128 |
The long-term plan for ``evolve`` is to add it to core Mercurial. However, |
4b7252600e57
doc-front-pagE: add a paragraph about "why the extension"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2881
diff
changeset
|
129 |
having the extension helps us experimenting with various user experience |
4b7252600e57
doc-front-pagE: add a paragraph about "why the extension"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2881
diff
changeset
|
130 |
approaches and technical prototype. Having a dedicated extensions help current |
4b7252600e57
doc-front-pagE: add a paragraph about "why the extension"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2881
diff
changeset
|
131 |
user to deploy the later changes quickly and provides the developers with |
4b7252600e57
doc-front-pagE: add a paragraph about "why the extension"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2881
diff
changeset
|
132 |
low latency feedbacks. |
4b7252600e57
doc-front-pagE: add a paragraph about "why the extension"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2881
diff
changeset
|
133 |
|
4b7252600e57
doc-front-pagE: add a paragraph about "why the extension"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2881
diff
changeset
|
134 |
Whenever we are happy with a direction experimented in the extension, the |
4b7252600e57
doc-front-pagE: add a paragraph about "why the extension"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2881
diff
changeset
|
135 |
relevant code go upstream. |
4b7252600e57
doc-front-pagE: add a paragraph about "why the extension"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2881
diff
changeset
|
136 |
|
2883
a23045b61e6d
doc-front-page: use a clearer statement about the experimental status
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2882
diff
changeset
|
137 |
Development status |
a23045b61e6d
doc-front-page: use a clearer statement about the experimental status
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2882
diff
changeset
|
138 |
------------------ |
166
8f8a52cd0b9f
big doc update
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
165
diff
changeset
|
139 |
|
2883
a23045b61e6d
doc-front-page: use a clearer statement about the experimental status
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2882
diff
changeset
|
140 |
While well on the way, the full implementation of the changeset evolution |
a23045b61e6d
doc-front-page: use a clearer statement about the experimental status
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2882
diff
changeset
|
141 |
concept is still in progress. Core Mercurial already supports many of the |
a23045b61e6d
doc-front-page: use a clearer statement about the experimental status
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2882
diff
changeset
|
142 |
associated features, but for now they are still disabled by default. The current |
a23045b61e6d
doc-front-page: use a clearer statement about the experimental status
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2882
diff
changeset
|
143 |
implementation has been usable for multiple years already, and some parts of it |
a23045b61e6d
doc-front-page: use a clearer statement about the experimental status
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2882
diff
changeset
|
144 |
are used in production in multiple projects and companies (including the |
a23045b61e6d
doc-front-page: use a clearer statement about the experimental status
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2882
diff
changeset
|
145 |
Mercurial project itself, Facebook, Google, etc…). |
1266
c94aaf6df69c
docs: flesh out unfinished bits in the intro page
Greg Ward <greg@gerg.ca>
parents:
980
diff
changeset
|
146 |
|
2883
a23045b61e6d
doc-front-page: use a clearer statement about the experimental status
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2882
diff
changeset
|
147 |
However, there are still some areas were the current implementation has gaps. |
a23045b61e6d
doc-front-page: use a clearer statement about the experimental status
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2882
diff
changeset
|
148 |
This means some use cases or performance issues are not handled as well as they |
a23045b61e6d
doc-front-page: use a clearer statement about the experimental status
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2882
diff
changeset
|
149 |
currently are without evolution. Mercurial has been around for a long time and |
a23045b61e6d
doc-front-page: use a clearer statement about the experimental status
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2882
diff
changeset
|
150 |
is strongly committed to backward compatibility, and turning evolution on by |
a23045b61e6d
doc-front-page: use a clearer statement about the experimental status
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2882
diff
changeset
|
151 |
default nowadays could regress the experience of some of our current users. The |
a23045b61e6d
doc-front-page: use a clearer statement about the experimental status
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2882
diff
changeset
|
152 |
feature will be enabled by default at the point where users who do not use or |
a23045b61e6d
doc-front-page: use a clearer statement about the experimental status
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2882
diff
changeset
|
153 |
care about the new features added by evolution won't be impacted by it. |
166
8f8a52cd0b9f
big doc update
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
165
diff
changeset
|
154 |
|
2883
a23045b61e6d
doc-front-page: use a clearer statement about the experimental status
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2882
diff
changeset
|
155 |
.. # .. _`this query`: https://bz.mercurial-scm.org/buglist.cgi?component=evolution&bug_status=UNCONFIRMED&bug_status=CONFIRMED&bug_status=NEED_EXAMPLE |
161
4e3f25ba5401
More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
156 |
|
2880
a75b4109239b
doc-front-page: rename the "next step" section
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2879
diff
changeset
|
157 |
Ressources |
a75b4109239b
doc-front-page: rename the "next step" section
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2879
diff
changeset
|
158 |
---------- |
1266
c94aaf6df69c
docs: flesh out unfinished bits in the intro page
Greg Ward <greg@gerg.ca>
parents:
980
diff
changeset
|
159 |
|
977
cc0f0d94bf30
docs: rewrite index page (including dangling links to future docs)
Greg Ward <greg@gerg.ca>
parents:
709
diff
changeset
|
160 |
* For a practical guide to using ``evolve`` in a single repository, |
978 | 161 |
see the `user guide`_. |
979
c7b2ccd99dab
docs: add guide to sharing mutable history
Greg Ward <greg@gerg.ca>
parents:
978
diff
changeset
|
162 |
* For more advanced tricks, see `sharing mutable history`_. |
977
cc0f0d94bf30
docs: rewrite index page (including dangling links to future docs)
Greg Ward <greg@gerg.ca>
parents:
709
diff
changeset
|
163 |
* To learn about the concepts underlying ``evolve``, see `concepts`_ |
980
64a2e940e1b2
docs: add concepts guide (the set theory behind obsolescence)
Greg Ward <greg@gerg.ca>
parents:
979
diff
changeset
|
164 |
(incomplete). |
977
cc0f0d94bf30
docs: rewrite index page (including dangling links to future docs)
Greg Ward <greg@gerg.ca>
parents:
709
diff
changeset
|
165 |
* If you're coming from MQ, see the `MQ migration guide`_ (incomplete). |
364
616305c63510
doc: cleanup in caveat and 2.1 compat
Pierre-Yves.David@ens-lyon.org
parents:
363
diff
changeset
|
166 |
|
977
cc0f0d94bf30
docs: rewrite index page (including dangling links to future docs)
Greg Ward <greg@gerg.ca>
parents:
709
diff
changeset
|
167 |
.. _`user guide`: user-guide.html |
1284 | 168 |
.. _`sharing mutable history`: sharing.html |
977
cc0f0d94bf30
docs: rewrite index page (including dangling links to future docs)
Greg Ward <greg@gerg.ca>
parents:
709
diff
changeset
|
169 |
.. _`concepts`: concepts.html |
cc0f0d94bf30
docs: rewrite index page (including dangling links to future docs)
Greg Ward <greg@gerg.ca>
parents:
709
diff
changeset
|
170 |
.. _`MQ migration guide`: from-mq.html |