Mercurial > hg
annotate tests/test-stabletailgraph.t @ 50517:cd2a2963b982
stream-clone: upgrade the error message for bad stream request
The new version if more compact and more consistent with the general Mercurial
usage.
author | Arseniy Alekseyev <aalekseyev@janestreet.com> |
---|---|
date | Sun, 21 May 2023 00:00:29 +0200 |
parents | e06331275a53 |
children | 8fb3e942473a |
rev | line source |
---|---|
50426
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
1 ==================================== |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
2 Test for the stabletailgraph package |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
3 ==================================== |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
4 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
5 This test file contains a bunch of small test graphs with some minimal yet |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
6 non-trivial structure, on which the various stable-tail graph and stable-tail |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
7 sort functions are tested. |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
8 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
9 Each case consists of the creation of the interesting graph structure, followed |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
10 by a check, for each noteworthy node, of: |
50462
e06331275a53
stabletailgraph: clarify omission of linear parts in test sorts
pacien <pacien.trangirard@pacien.net>
parents:
50461
diff
changeset
|
11 - the stable-tail sort output (with the linear parts globbed). |
50426
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
12 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
13 In the ASCII art of the diagrams, the side of the exclusive part which is |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
14 followed in priority is denoted with "<" or ">" if it is on the left or right |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
15 respectively. |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
16 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
17 The intermediary linear parts in the example graph are there to force the |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
18 exclusive part choice (made on a min rank condition). |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
19 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
20 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
21 Setup |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
22 ===== |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
23 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
24 Enable the rank computation to test sorting based on the rank. |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
25 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
26 $ cat << EOF >> $HGRCPATH |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
27 > [format] |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
28 > exp-use-changelog-v2=enable-unstable-format-and-corrupt-my-data |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
29 > |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
30 > [alias] |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
31 > test-sts = debug::stable-tail-sort -T '{tags},' |
50461
a6522a7de594
stabletailgraph: omit uninteresting linear parts in test log
pacien <pacien.trangirard@pacien.net>
parents:
50460
diff
changeset
|
32 > test-log = log --graph -T '{tags} rank={_fast_rank}' --rev 'tagged()' |
50426
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
33 > EOF |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
34 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
35 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
36 Example 1: single merge node |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
37 ============================ |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
38 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
39 A base case with one branchpoint "b" and one merge node "e". |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
40 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
41 The exclusive part, starting with the lowest-ranking parent "c" of "e", |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
42 appears first in stable-tail sort of "e" and "f". |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
43 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
44 # f |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
45 # | |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
46 # e |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
47 # | |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
48 # --<-- |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
49 # | | |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
50 # c d |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
51 # | | |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
52 # --+-- <- at this point, the sort of "e" is done consuming its |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
53 # | exclusive part [c] and jumps back to its other parent "d" |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
54 # b |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
55 # | |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
56 # a |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
57 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
58 $ hg init example-1 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
59 $ cd example-1 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
60 $ hg debugbuilddag '.:a*a:b*b:c<b+2:d*c/d:e*e:f.' |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
61 $ hg test-log |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
62 o f rank=7 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
63 | |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
64 o e rank=6 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
65 |\ |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
66 | o d rank=4 |
50461
a6522a7de594
stabletailgraph: omit uninteresting linear parts in test log
pacien <pacien.trangirard@pacien.net>
parents:
50460
diff
changeset
|
67 | : |
a6522a7de594
stabletailgraph: omit uninteresting linear parts in test log
pacien <pacien.trangirard@pacien.net>
parents:
50460
diff
changeset
|
68 o : c rank=3 |
a6522a7de594
stabletailgraph: omit uninteresting linear parts in test log
pacien <pacien.trangirard@pacien.net>
parents:
50460
diff
changeset
|
69 :/ |
50426
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
70 o b rank=2 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
71 | |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
72 o a rank=1 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
73 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
74 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
75 Check the sort of the base linear case. |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
76 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
77 $ hg test-sts c |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
78 c,b,a, (no-eol) |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
79 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
80 Check the stable-tail sort of "e": "c" should come before "d". |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
81 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
82 $ hg test-sts e |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
83 e,c,d,*,b,a, (no-eol) (glob) |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
84 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
85 Check that the linear descendant of the merge inherits its sort properly. |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
86 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
87 $ hg test-sts f |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
88 f,e,c,d,*,b,a, (no-eol) (glob) |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
89 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
90 $ cd .. |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
91 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
92 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
93 Example 2: nested exclusive parts, without specific leap |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
94 ======================================================== |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
95 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
96 "g" is a merge node whose exclusive part contains a merge node "e". |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
97 We check that the stable-tail sort recurses properly by delegating. |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
98 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
99 Notice that parts of the sort of "e" is an infix of the sort of "g". |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
100 This is an expected property of the sort. |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
101 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
102 # g |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
103 # | |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
104 # ---<--- |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
105 # | | |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
106 # e | <- while processing the sort in the exclusive part of "g" |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
107 # | | we recursively process the exclusive part of "e" |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
108 # --<-- f |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
109 # | | | |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
110 # c d | |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
111 # | | | |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
112 # --+-- | |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
113 # | | |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
114 # b | |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
115 # | | |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
116 # ---+--- <- done with excl(g), jump to "f" |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
117 # | |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
118 # a |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
119 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
120 $ hg init example-2 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
121 $ cd example-2 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
122 $ hg debugbuilddag '.:a*a:b*b:c<b+2:d*c/d:e<a+6:f*e/f:g.' |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
123 $ hg test-log |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
124 o g rank=13 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
125 |\ |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
126 | o f rank=7 |
50461
a6522a7de594
stabletailgraph: omit uninteresting linear parts in test log
pacien <pacien.trangirard@pacien.net>
parents:
50460
diff
changeset
|
127 | : |
a6522a7de594
stabletailgraph: omit uninteresting linear parts in test log
pacien <pacien.trangirard@pacien.net>
parents:
50460
diff
changeset
|
128 o : e rank=6 |
50426
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
129 |\ \ |
50461
a6522a7de594
stabletailgraph: omit uninteresting linear parts in test log
pacien <pacien.trangirard@pacien.net>
parents:
50460
diff
changeset
|
130 | o : d rank=4 |
a6522a7de594
stabletailgraph: omit uninteresting linear parts in test log
pacien <pacien.trangirard@pacien.net>
parents:
50460
diff
changeset
|
131 | : : |
a6522a7de594
stabletailgraph: omit uninteresting linear parts in test log
pacien <pacien.trangirard@pacien.net>
parents:
50460
diff
changeset
|
132 o : : c rank=3 |
a6522a7de594
stabletailgraph: omit uninteresting linear parts in test log
pacien <pacien.trangirard@pacien.net>
parents:
50460
diff
changeset
|
133 :/ / |
50426
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
134 o / b rank=2 |
50461
a6522a7de594
stabletailgraph: omit uninteresting linear parts in test log
pacien <pacien.trangirard@pacien.net>
parents:
50460
diff
changeset
|
135 :/ |
50426
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
136 o a rank=1 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
137 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
138 Display the sort of "e" for reference |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
139 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
140 $ hg test-sts e |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
141 e,c,d,*,b,a, (no-eol) (glob) |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
142 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
143 Check the correctness of the sort of "g", |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
144 and that a part of the sort of "e" appears as an infix. |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
145 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
146 $ hg test-sts g |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
147 g,e,c,d,*,b,f,*,a, (no-eol) (glob) |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
148 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
149 $ cd .. |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
150 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
151 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
152 Example 3: shadowing of a final leap |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
153 ==================================== |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
154 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
155 We have a merge "f" whose exclusive part contains a merge "d". |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
156 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
157 The inherited parent of "d" is not in the exclusive part of "f". |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
158 At the end of the exclusive part of "d", |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
159 the leap to "c" is shadowed by the leap to "e", i.e. the inherited part to "f". |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
160 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
161 Notice that emitting "c" before "e" would break the reverse topological |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
162 ordering. |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
163 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
164 # f |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
165 # | |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
166 # ---<--- |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
167 # | | |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
168 # d | |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
169 # | e |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
170 # --<-- | |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
171 # | | | |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
172 # | +---- |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
173 # b | |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
174 # | c |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
175 # | | |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
176 # --+-- <- at this point, jumping to "e", not the shadowed "c" |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
177 # | |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
178 # a |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
179 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
180 $ hg init example-3 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
181 $ cd example-3 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
182 $ hg debugbuilddag '.:a*a:b<a+2:c*b/c:d<c+3:e*d/e:f.' |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
183 $ hg test-log |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
184 o f rank=9 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
185 |\ |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
186 | o e rank=6 |
50461
a6522a7de594
stabletailgraph: omit uninteresting linear parts in test log
pacien <pacien.trangirard@pacien.net>
parents:
50460
diff
changeset
|
187 | : |
a6522a7de594
stabletailgraph: omit uninteresting linear parts in test log
pacien <pacien.trangirard@pacien.net>
parents:
50460
diff
changeset
|
188 o : d rank=5 |
a6522a7de594
stabletailgraph: omit uninteresting linear parts in test log
pacien <pacien.trangirard@pacien.net>
parents:
50460
diff
changeset
|
189 |\: |
50426
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
190 | o c rank=3 |
50461
a6522a7de594
stabletailgraph: omit uninteresting linear parts in test log
pacien <pacien.trangirard@pacien.net>
parents:
50460
diff
changeset
|
191 | : |
a6522a7de594
stabletailgraph: omit uninteresting linear parts in test log
pacien <pacien.trangirard@pacien.net>
parents:
50460
diff
changeset
|
192 o : b rank=2 |
a6522a7de594
stabletailgraph: omit uninteresting linear parts in test log
pacien <pacien.trangirard@pacien.net>
parents:
50460
diff
changeset
|
193 :/ |
50426
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
194 o a rank=1 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
195 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
196 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
197 Display the sort of "d" for reference: |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
198 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
199 $ hg test-sts d |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
200 d,b,c,*,a, (no-eol) (glob) |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
201 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
202 Check that we leap from "b" directly to "e" (shadowing the leap to "c"), |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
203 and that "c" is then emitted after "e" (its descendant). |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
204 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
205 $ hg test-sts f |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
206 f,d,b,e,*,c,*,a, (no-eol) (glob) |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
207 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
208 $ cd .. |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
209 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
210 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
211 Example 4: skipping over nested exclusive part (entirely) |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
212 ========================================================= |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
213 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
214 We have a merge "f" whose exclusive part contains a merge "d". |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
215 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
216 The exclusive part of "d" is not in the exclusive part of "f". |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
217 However, some of the inherited part of "d" is part of the exclusive part of "f" |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
218 and needs to be iterated over before leaping to the inherited part of "f". |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
219 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
220 The sort of "d" is partially reused for the ordering of the exclusive part of |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
221 "f". However the reused part is not contiguous in the sort of "d". |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
222 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
223 # f |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
224 # | |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
225 # ---<--- |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
226 # | | |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
227 # d | |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
228 # | e |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
229 # -->-- | <- in the sort of "f", we need to skip "c" and leap to the |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
230 # | | | inherited part of "d" |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
231 # | +---- |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
232 # b | |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
233 # | c |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
234 # | | |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
235 # --+-- |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
236 # | |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
237 # a |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
238 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
239 $ hg init example-4 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
240 $ cd example-4 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
241 $ hg debugbuilddag '.:a*a+1:b<a+1:c*b/c:d<c+4:e*d/e:f.' |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
242 $ hg test-log |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
243 o f rank=10 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
244 |\ |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
245 | o e rank=6 |
50461
a6522a7de594
stabletailgraph: omit uninteresting linear parts in test log
pacien <pacien.trangirard@pacien.net>
parents:
50460
diff
changeset
|
246 | : |
a6522a7de594
stabletailgraph: omit uninteresting linear parts in test log
pacien <pacien.trangirard@pacien.net>
parents:
50460
diff
changeset
|
247 o : d rank=5 |
a6522a7de594
stabletailgraph: omit uninteresting linear parts in test log
pacien <pacien.trangirard@pacien.net>
parents:
50460
diff
changeset
|
248 |\: |
50426
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
249 | o c rank=2 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
250 | | |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
251 o | b rank=3 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
252 |/ |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
253 o a rank=1 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
254 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
255 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
256 Display the sort of "d" for reference: |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
257 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
258 $ hg test-sts d |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
259 d,c,b,*,a, (no-eol) (glob) |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
260 |
50460
1e31eda9c845
stabletailgraph: fix typo in test
pacien <pacien.trangirard@pacien.net>
parents:
50426
diff
changeset
|
261 Check that sort "f" leaps from "d" to "b": |
50426
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
262 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
263 $ hg test-sts f |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
264 f,d,b,*,e,*,c,a, (no-eol) (glob) |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
265 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
266 $ cd .. |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
267 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
268 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
269 Example 5: skipping over nested exclusive part (partially) |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
270 ========================================================== |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
271 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
272 We have a merge "f" whose exclusive part contains a merge "d". |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
273 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
274 Similar to example 4, but the exclusive part of "d" is only partially |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
275 contained in the inherited part of "f". |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
276 So, we need to leap in the middle of the exclusive part of "d". |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
277 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
278 # f |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
279 # | |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
280 # ---<--- |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
281 # | | |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
282 # d | |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
283 # | e |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
284 # -->-- | |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
285 # | | | |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
286 # | g | |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
287 # | | | |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
288 # | +---- <- in the sort of "f", leaping from "g" to "b" |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
289 # b | |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
290 # | c |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
291 # | | |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
292 # --+-- |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
293 # | |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
294 # a |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
295 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
296 $ hg init example-5 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
297 $ cd example-5 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
298 $ hg debugbuilddag '.:a*a+2:b<a+1:c+1:g*b/g:d<c+6:e*d/e:f.' |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
299 $ hg test-log |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
300 o f rank=14 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
301 |\ |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
302 | o e rank=8 |
50461
a6522a7de594
stabletailgraph: omit uninteresting linear parts in test log
pacien <pacien.trangirard@pacien.net>
parents:
50460
diff
changeset
|
303 | : |
a6522a7de594
stabletailgraph: omit uninteresting linear parts in test log
pacien <pacien.trangirard@pacien.net>
parents:
50460
diff
changeset
|
304 o : d rank=7 |
50426
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
305 |\ \ |
50461
a6522a7de594
stabletailgraph: omit uninteresting linear parts in test log
pacien <pacien.trangirard@pacien.net>
parents:
50460
diff
changeset
|
306 | o : g rank=3 |
a6522a7de594
stabletailgraph: omit uninteresting linear parts in test log
pacien <pacien.trangirard@pacien.net>
parents:
50460
diff
changeset
|
307 | :/ |
50426
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
308 | o c rank=2 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
309 | | |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
310 o | b rank=4 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
311 |/ |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
312 o a rank=1 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
313 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
314 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
315 Display the sort of "d" for reference: |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
316 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
317 $ hg test-sts d |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
318 d,g,c,b,*,a, (no-eol) (glob) |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
319 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
320 Check that sort "f" leaps from "g" to "b": |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
321 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
322 $ hg test-sts f |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
323 f,d,g,b,*,e,*,c,a, (no-eol) (glob) |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
324 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
325 $ cd .. |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
326 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
327 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
328 Example 6: merge in the inherited part |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
329 ====================================== |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
330 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
331 Variant of example 2, but with a merge ("f") in the inherited part of "g". |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
332 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
333 "g" is a merge node whose inherited part contains a merge node "f". |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
334 We check that the stable-tail sort delegates properly after the exclusive part. |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
335 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
336 # g |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
337 # | |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
338 # ---<--- |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
339 # | | |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
340 # d f |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
341 # | | |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
342 # | ---<--- |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
343 # | | | |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
344 # | e c |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
345 # | | | |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
346 # ---+ | <- at this point, we're done (for good) with the exclusive |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
347 # | | part of "g" |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
348 # b | |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
349 # | | |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
350 # ---+--- |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
351 # | |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
352 # a |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
353 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
354 $ hg init example-6 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
355 $ cd example-6 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
356 $ hg debugbuilddag '.:a*a:b<a+3:c*b:d*b:e*e/c:f*d/f:g.' |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
357 $ hg test-log |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
358 o g rank=9 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
359 |\ |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
360 | o f rank=7 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
361 | |\ |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
362 | | o e rank=3 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
363 | | | |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
364 o---+ d rank=3 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
365 / / |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
366 o | c rank=4 |
50461
a6522a7de594
stabletailgraph: omit uninteresting linear parts in test log
pacien <pacien.trangirard@pacien.net>
parents:
50460
diff
changeset
|
367 : | |
a6522a7de594
stabletailgraph: omit uninteresting linear parts in test log
pacien <pacien.trangirard@pacien.net>
parents:
50460
diff
changeset
|
368 : o b rank=2 |
a6522a7de594
stabletailgraph: omit uninteresting linear parts in test log
pacien <pacien.trangirard@pacien.net>
parents:
50460
diff
changeset
|
369 :/ |
50426
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
370 o a rank=1 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
371 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
372 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
373 Display the sort of "f" for reference: |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
374 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
375 $ hg test-sts f |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
376 f,e,b,c,*,a, (no-eol) (glob) |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
377 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
378 Check that the sort of "g" delegates to the sort of "f" after processing its |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
379 exclusive part of "g": |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
380 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
381 $ hg test-sts g |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
382 g,d,f,e,b,c,*,a, (no-eol) (glob) |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
383 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
384 $ cd .. |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
385 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
386 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
387 Example 7: postponed iteration of common exclusive ancestors |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
388 ============================================================ |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
389 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
390 Sibling merges "j" and "k", with partially shared exclusive parts. |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
391 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
392 When considering the sort of "l", the iteration over this shared part cannot |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
393 happen when iterating over excl(j) and has to be postponed to excl(k). |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
394 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
395 # l |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
396 # | |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
397 # ----<---- |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
398 # | | |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
399 # j k |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
400 # | | |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
401 # -->-- --<-- |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
402 # | | | | |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
403 # g e h i |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
404 # | | | | |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
405 # | --+-- | <- at this point, for the sort of "l", the iteration on |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
406 # f | | the end of excl(j) is postponed to the iteration of |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
407 # | d | excl(k) |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
408 # | | | |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
409 # | c | |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
410 # | | | |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
411 # ---+--- | |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
412 # | | |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
413 # b | |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
414 # | | |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
415 # ----+----- |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
416 # | |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
417 # a |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
418 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
419 $ hg init example-7 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
420 $ cd example-7 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
421 $ hg debugbuilddag \ |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
422 > '.:a*a:b*b:c*c:d*d:e*b:f<f+3:g<d+2:h<a+6:i*e/g:j*h/i:k*j/k:l.' |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
423 $ hg test-log |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
424 o l rank=20 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
425 |\ |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
426 | o k rank=13 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
427 | |\ |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
428 o \ \ j rank=10 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
429 |\ \ \ |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
430 | | | o i rank=7 |
50461
a6522a7de594
stabletailgraph: omit uninteresting linear parts in test log
pacien <pacien.trangirard@pacien.net>
parents:
50460
diff
changeset
|
431 | | | : |
a6522a7de594
stabletailgraph: omit uninteresting linear parts in test log
pacien <pacien.trangirard@pacien.net>
parents:
50460
diff
changeset
|
432 | | o : h rank=6 |
a6522a7de594
stabletailgraph: omit uninteresting linear parts in test log
pacien <pacien.trangirard@pacien.net>
parents:
50460
diff
changeset
|
433 | | : : |
a6522a7de594
stabletailgraph: omit uninteresting linear parts in test log
pacien <pacien.trangirard@pacien.net>
parents:
50460
diff
changeset
|
434 | o : : g rank=6 |
a6522a7de594
stabletailgraph: omit uninteresting linear parts in test log
pacien <pacien.trangirard@pacien.net>
parents:
50460
diff
changeset
|
435 | : : : |
a6522a7de594
stabletailgraph: omit uninteresting linear parts in test log
pacien <pacien.trangirard@pacien.net>
parents:
50460
diff
changeset
|
436 | o : : f rank=3 |
a6522a7de594
stabletailgraph: omit uninteresting linear parts in test log
pacien <pacien.trangirard@pacien.net>
parents:
50460
diff
changeset
|
437 | | : : |
a6522a7de594
stabletailgraph: omit uninteresting linear parts in test log
pacien <pacien.trangirard@pacien.net>
parents:
50460
diff
changeset
|
438 o---+ : e rank=5 |
50426
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
439 / / / |
50461
a6522a7de594
stabletailgraph: omit uninteresting linear parts in test log
pacien <pacien.trangirard@pacien.net>
parents:
50460
diff
changeset
|
440 | o : d rank=4 |
a6522a7de594
stabletailgraph: omit uninteresting linear parts in test log
pacien <pacien.trangirard@pacien.net>
parents:
50460
diff
changeset
|
441 | | : |
a6522a7de594
stabletailgraph: omit uninteresting linear parts in test log
pacien <pacien.trangirard@pacien.net>
parents:
50460
diff
changeset
|
442 | o : c rank=3 |
50426
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
443 |/ / |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
444 o / b rank=2 |
50461
a6522a7de594
stabletailgraph: omit uninteresting linear parts in test log
pacien <pacien.trangirard@pacien.net>
parents:
50460
diff
changeset
|
445 :/ |
50426
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
446 o a rank=1 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
447 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
448 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
449 Display the sort of "j" for reference: |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
450 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
451 $ hg test-sts j |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
452 j,e,d,c,g,*,f,b,a, (no-eol) (glob) |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
453 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
454 Display the sort of "k" for reference: |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
455 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
456 $ hg test-sts k |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
457 k,h,*,d,c,b,i,*,a, (no-eol) (glob) |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
458 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
459 Check that the common part of excl(j) and excl(k) is iterated over after "k": |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
460 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
461 $ hg test-sts l |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
462 l,j,e,g,*,f,k,h,*,d,c,b,i,*,a, (no-eol) (glob) |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
463 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
464 $ cd .. |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
465 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
466 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
467 Example 8: postponed iteration of common ancestors between parts |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
468 ================================================================ |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
469 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
470 Sibling merges "g" and "i", with some part shared between the inherited part |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
471 of "g" and the exclusive part of "i". |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
472 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
473 When considering the sort of "j", the iteration over this shared part cannot |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
474 happen when iterating over inherited(g) and has to be postponed to excl(i). |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
475 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
476 # j |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
477 # | |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
478 # ----<---- |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
479 # | | |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
480 # g i |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
481 # | | |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
482 # --<-- --<-- |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
483 # | | | | |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
484 # c f | h |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
485 # | | | | |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
486 # | --+-- | <- at this point, for the sort of "j", the iteration |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
487 # | | | on the end of inherited(g) is postponed to the |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
488 # | e | iteration of excl(k) |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
489 # | | | |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
490 # ---+--- | |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
491 # b | |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
492 # | | |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
493 # ----+----- |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
494 # | |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
495 # a |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
496 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
497 $ hg init example-8 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
498 $ cd example-8 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
499 $ hg debugbuilddag '.:a*a:b*b:c*b:d*d:e*e:f*c/f:g<a+5:h*e/h:i*g/i:j.' |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
500 $ hg test-log |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
501 o j rank=14 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
502 |\ |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
503 | o i rank=10 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
504 | |\ |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
505 | | o h rank=6 |
50461
a6522a7de594
stabletailgraph: omit uninteresting linear parts in test log
pacien <pacien.trangirard@pacien.net>
parents:
50460
diff
changeset
|
506 | | : |
a6522a7de594
stabletailgraph: omit uninteresting linear parts in test log
pacien <pacien.trangirard@pacien.net>
parents:
50460
diff
changeset
|
507 o | : g rank=7 |
50426
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
508 |\ \ \ |
50461
a6522a7de594
stabletailgraph: omit uninteresting linear parts in test log
pacien <pacien.trangirard@pacien.net>
parents:
50460
diff
changeset
|
509 | o | : f rank=5 |
50426
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
510 | |/ / |
50461
a6522a7de594
stabletailgraph: omit uninteresting linear parts in test log
pacien <pacien.trangirard@pacien.net>
parents:
50460
diff
changeset
|
511 | o : e rank=4 |
a6522a7de594
stabletailgraph: omit uninteresting linear parts in test log
pacien <pacien.trangirard@pacien.net>
parents:
50460
diff
changeset
|
512 | | : |
a6522a7de594
stabletailgraph: omit uninteresting linear parts in test log
pacien <pacien.trangirard@pacien.net>
parents:
50460
diff
changeset
|
513 | o : d rank=3 |
a6522a7de594
stabletailgraph: omit uninteresting linear parts in test log
pacien <pacien.trangirard@pacien.net>
parents:
50460
diff
changeset
|
514 | | : |
a6522a7de594
stabletailgraph: omit uninteresting linear parts in test log
pacien <pacien.trangirard@pacien.net>
parents:
50460
diff
changeset
|
515 o | : c rank=3 |
50426
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
516 |/ / |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
517 o / b rank=2 |
50461
a6522a7de594
stabletailgraph: omit uninteresting linear parts in test log
pacien <pacien.trangirard@pacien.net>
parents:
50460
diff
changeset
|
518 :/ |
50426
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
519 o a rank=1 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
520 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
521 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
522 Display the sort of "g" for reference: |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
523 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
524 $ hg test-sts g |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
525 g,c,f,e,d,b,a, (no-eol) |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
526 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
527 Display the sort of "i" for reference: |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
528 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
529 $ hg test-sts i |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
530 i,e,d,b,h,*,a, (no-eol) (glob) |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
531 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
532 Check that the common part of inherited(g) and excl(k) is iterated over after |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
533 "i": |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
534 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
535 $ hg test-sts j |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
536 j,g,c,f,i,e,d,b,h,*,a, (no-eol) (glob) |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
537 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
538 $ cd .. |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
539 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
540 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
541 Example 9: postponed iteration of common ancestors between both parts |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
542 ===================================================================== |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
543 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
544 This is a combination of example 7 and 8 at the same time. |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
545 Both excl(i) and excl(j) share a common part. |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
546 Same with inherited(i) and inherited(j). |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
547 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
548 We test that the walk on the common ancestors in both cases is properly |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
549 postponed when considering sort(k). |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
550 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
551 # k |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
552 # | |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
553 # ----<---- |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
554 # | | |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
555 # i j |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
556 # | | |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
557 # --<-- --<-- |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
558 # | | | | |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
559 # c f g h |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
560 # | | | | |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
561 # | e | | |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
562 # | | | | |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
563 # +--]|[--- | <- rest of excl(i) postponed to excl(j) |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
564 # | | | |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
565 # b ----+---- <- rest of inherited(i) postponed to inherited(j) |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
566 # | | |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
567 # | d |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
568 # | | |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
569 # ----+---- |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
570 # | |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
571 # a |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
572 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
573 $ hg init example-9 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
574 $ cd example-9 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
575 $ hg debugbuilddag '.:a*a:b*b:c*a:d*d:e*e:f<b+2:g<d+3:h*c/f:i*g/h:j*i/j:k.' |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
576 $ hg test-log |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
577 o k rank=14 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
578 |\ |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
579 | o j rank=9 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
580 | |\ |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
581 o \ \ i rank=7 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
582 |\ \ \ |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
583 | | | o h rank=5 |
50461
a6522a7de594
stabletailgraph: omit uninteresting linear parts in test log
pacien <pacien.trangirard@pacien.net>
parents:
50460
diff
changeset
|
584 | | | : |
a6522a7de594
stabletailgraph: omit uninteresting linear parts in test log
pacien <pacien.trangirard@pacien.net>
parents:
50460
diff
changeset
|
585 | | o : g rank=4 |
a6522a7de594
stabletailgraph: omit uninteresting linear parts in test log
pacien <pacien.trangirard@pacien.net>
parents:
50460
diff
changeset
|
586 | | : : |
a6522a7de594
stabletailgraph: omit uninteresting linear parts in test log
pacien <pacien.trangirard@pacien.net>
parents:
50460
diff
changeset
|
587 | o : : f rank=4 |
a6522a7de594
stabletailgraph: omit uninteresting linear parts in test log
pacien <pacien.trangirard@pacien.net>
parents:
50460
diff
changeset
|
588 | | : : |
50426
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
589 | o---+ e rank=3 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
590 | / / |
50461
a6522a7de594
stabletailgraph: omit uninteresting linear parts in test log
pacien <pacien.trangirard@pacien.net>
parents:
50460
diff
changeset
|
591 | : o d rank=2 |
a6522a7de594
stabletailgraph: omit uninteresting linear parts in test log
pacien <pacien.trangirard@pacien.net>
parents:
50460
diff
changeset
|
592 | : | |
a6522a7de594
stabletailgraph: omit uninteresting linear parts in test log
pacien <pacien.trangirard@pacien.net>
parents:
50460
diff
changeset
|
593 o : | c rank=3 |
a6522a7de594
stabletailgraph: omit uninteresting linear parts in test log
pacien <pacien.trangirard@pacien.net>
parents:
50460
diff
changeset
|
594 :/ / |
50426
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
595 o / b rank=2 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
596 |/ |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
597 o a rank=1 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
598 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
599 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
600 Display sort(i) for reference: |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
601 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
602 $ hg test-sts i |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
603 i,c,b,f,e,d,a, (no-eol) |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
604 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
605 Display sort(j) for reference: |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
606 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
607 $ hg test-sts j |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
608 j,g,*,b,h,*,d,a, (no-eol) (glob) |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
609 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
610 Check that the end of excl(i) is postponed to excl(j), the end of inherited(i) |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
611 is postponed to inherited(j) in sort(k): |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
612 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
613 $ hg test-sts k |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
614 k,i,c,f,e,j,g,*,b,h,*,d,a, (no-eol) (glob) |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
615 |
f0d2b18f0274
stabletailgraph: implement stable-tail sort
pacien <pacien.trangirard@pacien.net>
parents:
diff
changeset
|
616 $ cd .. |