##// END OF EJS Templates
help: add topic about evolution, based on text from evolve extension...
Martin von Zweigbergk -
r47781:da4e6d7a default
parent child Browse files
Show More
@@ -0,0 +1,56 b''
1 Obsolescence markers make it possible to mark changesets that have been
2 deleted or superseded in a new version of the changeset.
3
4 Unlike the previous way of handling such changes, by stripping the old
5 changesets from the repository, obsolescence markers can be propagated
6 between repositories. This allows for a safe and simple way of exchanging
7 mutable history and altering it after the fact. Changeset phases are
8 respected, such that only draft and secret changesets can be altered (see
9 :hg:`help phases` for details).
10
11 Obsolescence is tracked using "obsolescence markers", a piece of metadata
12 tracking which changesets have been made obsolete, potential successors for
13 a given changeset, the moment the changeset was marked as obsolete, and the
14 user who performed the rewriting operation. The markers are stored
15 separately from standard changeset data can be exchanged without any of the
16 precursor changesets, preventing unnecessary exchange of obsolescence data.
17
18 The complete set of obsolescence markers describes a history of changeset
19 modifications that is orthogonal to the repository history of file
20 modifications. This changeset history allows for detection and automatic
21 resolution of edge cases arising from multiple users rewriting the same part
22 of history concurrently.
23
24 Current feature status
25 ======================
26
27 This feature is still in development.
28
29 Instability
30 ===========
31
32 Rewriting changesets might introduce instability.
33
34 There are two main kinds of instability: orphaning and diverging.
35
36 Orphans are changesets left behind when their ancestors are rewritten.
37 Divergence has two variants:
38
39 * Content-divergence occurs when independent rewrites of the same changesets
40 lead to different results.
41
42 * Phase-divergence occurs when the old (obsolete) version of a changeset
43 becomes public.
44
45 It is possible to prevent local creation of orphans by using the following config::
46
47 [experimental]
48 evolution.createmarkers = true
49 evolution.exchange = true
50
51 You can also enable that option explicitly::
52
53 [experimental]
54 evolution.createmarkers = true
55 evolution.exchange = true
56 evolution.allowunstable = true
@@ -540,6 +540,12 b' helptable = sorted('
540 TOPIC_CATEGORY_CONCEPTS,
540 TOPIC_CATEGORY_CONCEPTS,
541 ),
541 ),
542 (
542 (
543 [b"evolution"],
544 _(b"Safely rewriting history (EXPERIMENTAL)"),
545 loaddoc(b'evolution'),
546 TOPIC_CATEGORY_CONCEPTS,
547 ),
548 (
543 [b'scripting'],
549 [b'scripting'],
544 _(b'Using Mercurial from scripts and automation'),
550 _(b'Using Mercurial from scripts and automation'),
545 loaddoc(b'scripting'),
551 loaddoc(b'scripting'),
@@ -419,6 +419,7 b' Testing -h/--help:'
419 Concepts:
419 Concepts:
420
420
421 bundlespec Bundle File Formats
421 bundlespec Bundle File Formats
422 evolution Safely rewriting history (EXPERIMENTAL)
422 glossary Glossary
423 glossary Glossary
423 phases Working with Phases
424 phases Working with Phases
424 subrepos Subrepositories
425 subrepos Subrepositories
@@ -552,6 +553,7 b' Testing -h/--help:'
552 Concepts:
553 Concepts:
553
554
554 bundlespec Bundle File Formats
555 bundlespec Bundle File Formats
556 evolution Safely rewriting history (EXPERIMENTAL)
555 glossary Glossary
557 glossary Glossary
556 phases Working with Phases
558 phases Working with Phases
557 subrepos Subrepositories
559 subrepos Subrepositories
@@ -117,6 +117,7 b' Test hiding some commands (which also ha'
117 Concepts:
117 Concepts:
118
118
119 bundlespec Bundle File Formats
119 bundlespec Bundle File Formats
120 evolution Safely rewriting history (EXPERIMENTAL)
120 glossary Glossary
121 glossary Glossary
121 phases Working with Phases
122 phases Working with Phases
122 subrepos Subrepositories
123 subrepos Subrepositories
@@ -254,6 +255,7 b' Test hiding some topics.'
254 Concepts:
255 Concepts:
255
256
256 bundlespec Bundle File Formats
257 bundlespec Bundle File Formats
258 evolution Safely rewriting history (EXPERIMENTAL)
257 glossary Glossary
259 glossary Glossary
258 phases Working with Phases
260 phases Working with Phases
259 subrepos Subrepositories
261 subrepos Subrepositories
@@ -169,6 +169,7 b' the extension is unknown.'
169 Concepts:
169 Concepts:
170
170
171 bundlespec Bundle File Formats
171 bundlespec Bundle File Formats
172 evolution Safely rewriting history (EXPERIMENTAL)
172 glossary Glossary
173 glossary Glossary
173 phases Working with Phases
174 phases Working with Phases
174 subrepos Subrepositories
175 subrepos Subrepositories
@@ -298,6 +299,7 b' the extension is unknown.'
298 Concepts:
299 Concepts:
299
300
300 bundlespec Bundle File Formats
301 bundlespec Bundle File Formats
302 evolution Safely rewriting history (EXPERIMENTAL)
301 glossary Glossary
303 glossary Glossary
302 phases Working with Phases
304 phases Working with Phases
303 subrepos Subrepositories
305 subrepos Subrepositories
@@ -2274,6 +2276,13 b' Dish up an empty repo; serve it cold.'
2274 Environment Variables
2276 Environment Variables
2275 </td></tr>
2277 </td></tr>
2276 <tr><td>
2278 <tr><td>
2279 <a href="/help/evolution">
2280 evolution
2281 </a>
2282 </td><td>
2283 Safely rewriting history (EXPERIMENTAL)
2284 </td></tr>
2285 <tr><td>
2277 <a href="/help/extensions">
2286 <a href="/help/extensions">
2278 extensions
2287 extensions
2279 </a>
2288 </a>
@@ -2272,6 +2272,10 b' help/ shows help topics'
2272 "topic": "environment"
2272 "topic": "environment"
2273 },
2273 },
2274 {
2274 {
2275 "summary": "Safely rewriting history (EXPERIMENTAL)",
2276 "topic": "evolution"
2277 },
2278 {
2275 "summary": "Using Additional Features",
2279 "summary": "Using Additional Features",
2276 "topic": "extensions"
2280 "topic": "extensions"
2277 },
2281 },
General Comments 0
You need to be logged in to leave comments. Login now