comparison mercurial/obsolete.py @ 17775:13744acc4ad7

obsolete: add example of marker usage in the documentation Recent discussion with Augie Fackler pointed the lack of such example in the documentation.
author Pierre-Yves David <pierre-yves.david@ens-lyon.org>
date Sun, 14 Oct 2012 23:33:10 +0200
parents 0496d4f73cf4
children 072812e9f570
comparison
equal deleted inserted replaced
17774:0496d4f73cf4 17775:13744acc4ad7
18 building new tools to reconciliate conflicting rewriting actions. To 18 building new tools to reconciliate conflicting rewriting actions. To
19 facilitate conflicts resolution, markers include various annotations 19 facilitate conflicts resolution, markers include various annotations
20 besides old and news changeset identifiers, such as creation date or 20 besides old and news changeset identifiers, such as creation date or
21 author name. 21 author name.
22 22
23 Examples:
24
25 - When changeset A is replacement by a changeset A', one marker is stored:
26
27 (A, (A'))
28
29 - When changesets A and B are folded into a new changeset C two markers are
30 stored:
31
32 (A, (C,)) and (B, (C,))
33
34 - When changeset A is simply "pruned" from the graph, a marker in create:
35
36 (A, ())
37
38 - When changeset A is split into B and C, a single marker are used:
39
40 (A, (C, C))
41
42 We use a single marker to distinct the "split" case from the "divergence"
43 case. If two independants operation rewrite the same changeset A in to A' and
44 A'' when have an error case: divergent rewriting. We can detect it because
45 two markers will be created independently:
46
47 (A, (B,)) and (A, (C,))
23 48
24 Format 49 Format
25 ------ 50 ------
26 51
27 Markers are stored in an append-only file stored in 52 Markers are stored in an append-only file stored in