Mercurial > hg-stable
annotate tests/test-drawdag.t @ 34865:a0100f34e20b
config: replace experimental.stabilization by experimental.evolution
We replace 'experimental.stabilization=all' by 'experimental.evolution=true'
as we will extract individual config in their own config in later patches.
Differential Revision: https://phab.mercurial-scm.org/D1148
author | Boris Feld <boris.feld@octobus.net> |
---|---|
date | Tue, 17 Oct 2017 11:29:26 +0200 |
parents | ecc96506c49d |
children | a7e49a5b3e6f |
rev | line source |
---|---|
33158 | 1 $ cat >> $HGRCPATH<<EOF |
2 > [extensions] | |
3 > drawdag=$TESTDIR/drawdag.py | |
33159
4d780d510b44
drawdag: support obsmarker creation in comments
Jun Wu <quark@fb.com>
parents:
33158
diff
changeset
|
4 > [experimental] |
34865
a0100f34e20b
config: replace experimental.stabilization by experimental.evolution
Boris Feld <boris.feld@octobus.net>
parents:
34293
diff
changeset
|
5 > evolution=true |
33158 | 6 > EOF |
7 | |
8 $ reinit () { | |
9 > rm -rf .hg && hg init | |
10 > } | |
11 | |
12 $ hg init | |
13 | |
14 Test what said in drawdag.py docstring | |
15 | |
16 $ hg debugdrawdag <<'EOS' | |
17 > c d | |
18 > |/ | |
19 > b | |
20 > | | |
21 > a | |
22 > EOS | |
23 | |
24 $ hg log -G -T '{rev} {desc} ({tags})' | |
25 o 3 d (d tip) | |
26 | | |
27 | o 2 c (c) | |
28 |/ | |
29 o 1 b (b) | |
30 | | |
31 o 0 a (a) | |
32 | |
33 $ hg debugdrawdag <<'EOS' | |
34 > foo bar bar foo | |
35 > | / | | | |
36 > ancestor(c,d) a baz | |
37 > EOS | |
38 | |
39 $ hg log -G -T '{desc}' | |
40 o foo | |
41 |\ | |
42 +---o bar | |
43 | | | | |
44 | o | baz | |
45 | / | |
46 +---o d | |
47 | | | |
48 +---o c | |
49 | | | |
50 o | b | |
51 |/ | |
52 o a | |
53 | |
54 $ reinit | |
55 | |
56 $ hg debugdrawdag <<'EOS' | |
57 > o foo | |
58 > |\ | |
59 > +---o bar | |
60 > | | | | |
61 > | o | baz | |
62 > | / | |
63 > +---o d | |
64 > | | | |
65 > +---o c | |
66 > | | | |
67 > o | b | |
68 > |/ | |
69 > o a | |
70 > EOS | |
71 | |
72 $ hg log -G -T '{desc}' | |
73 o foo | |
74 |\ | |
75 | | o d | |
76 | |/ | |
77 | | o c | |
78 | |/ | |
79 | | o bar | |
80 | |/| | |
81 | o | b | |
82 | |/ | |
83 o / baz | |
84 / | |
85 o a | |
86 | |
87 $ reinit | |
88 | |
89 $ hg debugdrawdag <<'EOS' | |
90 > o foo | |
91 > |\ | |
92 > | | o d | |
93 > | |/ | |
94 > | | o c | |
95 > | |/ | |
96 > | | o bar | |
97 > | |/| | |
98 > | o | b | |
99 > | |/ | |
100 > o / baz | |
101 > / | |
102 > o a | |
103 > EOS | |
104 | |
105 $ hg log -G -T '{desc}' | |
106 o foo | |
107 |\ | |
108 | | o d | |
109 | |/ | |
110 | | o c | |
111 | |/ | |
112 | | o bar | |
113 | |/| | |
114 | o | b | |
115 | |/ | |
116 o / baz | |
117 / | |
118 o a | |
119 | |
33558
0103e7187237
drawdag: include files from both parents in merge commits
Martin von Zweigbergk <martinvonz@google.com>
parents:
33159
diff
changeset
|
120 $ hg manifest -r a |
0103e7187237
drawdag: include files from both parents in merge commits
Martin von Zweigbergk <martinvonz@google.com>
parents:
33159
diff
changeset
|
121 a |
0103e7187237
drawdag: include files from both parents in merge commits
Martin von Zweigbergk <martinvonz@google.com>
parents:
33159
diff
changeset
|
122 $ hg manifest -r b |
0103e7187237
drawdag: include files from both parents in merge commits
Martin von Zweigbergk <martinvonz@google.com>
parents:
33159
diff
changeset
|
123 a |
0103e7187237
drawdag: include files from both parents in merge commits
Martin von Zweigbergk <martinvonz@google.com>
parents:
33159
diff
changeset
|
124 b |
0103e7187237
drawdag: include files from both parents in merge commits
Martin von Zweigbergk <martinvonz@google.com>
parents:
33159
diff
changeset
|
125 $ hg manifest -r bar |
0103e7187237
drawdag: include files from both parents in merge commits
Martin von Zweigbergk <martinvonz@google.com>
parents:
33159
diff
changeset
|
126 a |
0103e7187237
drawdag: include files from both parents in merge commits
Martin von Zweigbergk <martinvonz@google.com>
parents:
33159
diff
changeset
|
127 b |
0103e7187237
drawdag: include files from both parents in merge commits
Martin von Zweigbergk <martinvonz@google.com>
parents:
33159
diff
changeset
|
128 $ hg manifest -r foo |
0103e7187237
drawdag: include files from both parents in merge commits
Martin von Zweigbergk <martinvonz@google.com>
parents:
33159
diff
changeset
|
129 a |
0103e7187237
drawdag: include files from both parents in merge commits
Martin von Zweigbergk <martinvonz@google.com>
parents:
33159
diff
changeset
|
130 b |
0103e7187237
drawdag: include files from both parents in merge commits
Martin von Zweigbergk <martinvonz@google.com>
parents:
33159
diff
changeset
|
131 baz |
33158 | 132 |
133 Edges existed in repo are no-ops | |
134 | |
135 $ reinit | |
136 $ hg debugdrawdag <<'EOS' | |
137 > B C C | |
138 > | | | | |
139 > A A B | |
140 > EOS | |
141 | |
142 $ hg log -G -T '{desc}' | |
143 o C | |
144 |\ | |
145 | o B | |
146 |/ | |
147 o A | |
148 | |
149 | |
150 $ hg debugdrawdag <<'EOS' | |
151 > C D C | |
152 > | | | | |
153 > B B A | |
154 > EOS | |
155 | |
156 $ hg log -G -T '{desc}' | |
157 o D | |
158 | | |
159 | o C | |
160 |/| | |
161 o | B | |
162 |/ | |
163 o A | |
164 | |
165 | |
166 Node with more than 2 parents are disallowed | |
167 | |
168 $ hg debugdrawdag <<'EOS' | |
169 > A | |
170 > /|\ | |
171 > D B C | |
172 > EOS | |
173 abort: A: too many parents: C D B | |
174 [255] | |
175 | |
176 Cycles are disallowed | |
177 | |
178 $ hg debugdrawdag <<'EOS' | |
179 > A | |
180 > | | |
181 > A | |
182 > EOS | |
183 abort: the graph has cycles | |
184 [255] | |
185 | |
186 $ hg debugdrawdag <<'EOS' | |
187 > A | |
188 > | | |
189 > B | |
190 > | | |
191 > A | |
192 > EOS | |
193 abort: the graph has cycles | |
194 [255] | |
33159
4d780d510b44
drawdag: support obsmarker creation in comments
Jun Wu <quark@fb.com>
parents:
33158
diff
changeset
|
195 |
4d780d510b44
drawdag: support obsmarker creation in comments
Jun Wu <quark@fb.com>
parents:
33158
diff
changeset
|
196 Create obsmarkers via comments |
4d780d510b44
drawdag: support obsmarker creation in comments
Jun Wu <quark@fb.com>
parents:
33158
diff
changeset
|
197 |
4d780d510b44
drawdag: support obsmarker creation in comments
Jun Wu <quark@fb.com>
parents:
33158
diff
changeset
|
198 $ reinit |
4d780d510b44
drawdag: support obsmarker creation in comments
Jun Wu <quark@fb.com>
parents:
33158
diff
changeset
|
199 |
4d780d510b44
drawdag: support obsmarker creation in comments
Jun Wu <quark@fb.com>
parents:
33158
diff
changeset
|
200 $ hg debugdrawdag <<'EOS' |
4d780d510b44
drawdag: support obsmarker creation in comments
Jun Wu <quark@fb.com>
parents:
33158
diff
changeset
|
201 > G |
4d780d510b44
drawdag: support obsmarker creation in comments
Jun Wu <quark@fb.com>
parents:
33158
diff
changeset
|
202 > | |
4d780d510b44
drawdag: support obsmarker creation in comments
Jun Wu <quark@fb.com>
parents:
33158
diff
changeset
|
203 > I D C F # split: B -> E, F, G |
4d780d510b44
drawdag: support obsmarker creation in comments
Jun Wu <quark@fb.com>
parents:
33158
diff
changeset
|
204 > \ \| | # replace: C -> D -> H |
4d780d510b44
drawdag: support obsmarker creation in comments
Jun Wu <quark@fb.com>
parents:
33158
diff
changeset
|
205 > H B E # prune: F, I |
4d780d510b44
drawdag: support obsmarker creation in comments
Jun Wu <quark@fb.com>
parents:
33158
diff
changeset
|
206 > \|/ |
4d780d510b44
drawdag: support obsmarker creation in comments
Jun Wu <quark@fb.com>
parents:
33158
diff
changeset
|
207 > A |
4d780d510b44
drawdag: support obsmarker creation in comments
Jun Wu <quark@fb.com>
parents:
33158
diff
changeset
|
208 > EOS |
4d780d510b44
drawdag: support obsmarker creation in comments
Jun Wu <quark@fb.com>
parents:
33158
diff
changeset
|
209 |
4d780d510b44
drawdag: support obsmarker creation in comments
Jun Wu <quark@fb.com>
parents:
33158
diff
changeset
|
210 $ hg log -r 'sort(all(), topo)' -G --hidden -T '{desc} {node}' |
4d780d510b44
drawdag: support obsmarker creation in comments
Jun Wu <quark@fb.com>
parents:
33158
diff
changeset
|
211 o G 711f53bbef0bebd12eb6f0511d5e2e998b984846 |
4d780d510b44
drawdag: support obsmarker creation in comments
Jun Wu <quark@fb.com>
parents:
33158
diff
changeset
|
212 | |
4d780d510b44
drawdag: support obsmarker creation in comments
Jun Wu <quark@fb.com>
parents:
33158
diff
changeset
|
213 x F 64a8289d249234b9886244d379f15e6b650b28e3 |
4d780d510b44
drawdag: support obsmarker creation in comments
Jun Wu <quark@fb.com>
parents:
33158
diff
changeset
|
214 | |
4d780d510b44
drawdag: support obsmarker creation in comments
Jun Wu <quark@fb.com>
parents:
33158
diff
changeset
|
215 o E 7fb047a69f220c21711122dfd94305a9efb60cba |
4d780d510b44
drawdag: support obsmarker creation in comments
Jun Wu <quark@fb.com>
parents:
33158
diff
changeset
|
216 | |
4d780d510b44
drawdag: support obsmarker creation in comments
Jun Wu <quark@fb.com>
parents:
33158
diff
changeset
|
217 | x D be0ef73c17ade3fc89dc41701eb9fc3a91b58282 |
4d780d510b44
drawdag: support obsmarker creation in comments
Jun Wu <quark@fb.com>
parents:
33158
diff
changeset
|
218 | | |
4d780d510b44
drawdag: support obsmarker creation in comments
Jun Wu <quark@fb.com>
parents:
33158
diff
changeset
|
219 | | x C 26805aba1e600a82e93661149f2313866a221a7b |
4d780d510b44
drawdag: support obsmarker creation in comments
Jun Wu <quark@fb.com>
parents:
33158
diff
changeset
|
220 | |/ |
4d780d510b44
drawdag: support obsmarker creation in comments
Jun Wu <quark@fb.com>
parents:
33158
diff
changeset
|
221 | x B 112478962961147124edd43549aedd1a335e44bf |
4d780d510b44
drawdag: support obsmarker creation in comments
Jun Wu <quark@fb.com>
parents:
33158
diff
changeset
|
222 |/ |
4d780d510b44
drawdag: support obsmarker creation in comments
Jun Wu <quark@fb.com>
parents:
33158
diff
changeset
|
223 | x I 58e6b987bf7045fcd9c54f496396ca1d1fc81047 |
4d780d510b44
drawdag: support obsmarker creation in comments
Jun Wu <quark@fb.com>
parents:
33158
diff
changeset
|
224 | | |
4d780d510b44
drawdag: support obsmarker creation in comments
Jun Wu <quark@fb.com>
parents:
33158
diff
changeset
|
225 | o H 575c4b5ec114d64b681d33f8792853568bfb2b2c |
4d780d510b44
drawdag: support obsmarker creation in comments
Jun Wu <quark@fb.com>
parents:
33158
diff
changeset
|
226 |/ |
4d780d510b44
drawdag: support obsmarker creation in comments
Jun Wu <quark@fb.com>
parents:
33158
diff
changeset
|
227 o A 426bada5c67598ca65036d57d9e4b64b0c1ce7a0 |
4d780d510b44
drawdag: support obsmarker creation in comments
Jun Wu <quark@fb.com>
parents:
33158
diff
changeset
|
228 |
4d780d510b44
drawdag: support obsmarker creation in comments
Jun Wu <quark@fb.com>
parents:
33158
diff
changeset
|
229 $ hg debugobsolete |
34293
ecc96506c49d
obsmarker: track operation by default
Martin von Zweigbergk <martinvonz@google.com>
parents:
34205
diff
changeset
|
230 112478962961147124edd43549aedd1a335e44bf 7fb047a69f220c21711122dfd94305a9efb60cba 64a8289d249234b9886244d379f15e6b650b28e3 711f53bbef0bebd12eb6f0511d5e2e998b984846 0 (Thu Jan 01 00:00:00 1970 +0000) {'operation': 'split', 'user': 'test'} |
ecc96506c49d
obsmarker: track operation by default
Martin von Zweigbergk <martinvonz@google.com>
parents:
34205
diff
changeset
|
231 26805aba1e600a82e93661149f2313866a221a7b be0ef73c17ade3fc89dc41701eb9fc3a91b58282 0 (Thu Jan 01 00:00:00 1970 +0000) {'operation': 'replace', 'user': 'test'} |
ecc96506c49d
obsmarker: track operation by default
Martin von Zweigbergk <martinvonz@google.com>
parents:
34205
diff
changeset
|
232 be0ef73c17ade3fc89dc41701eb9fc3a91b58282 575c4b5ec114d64b681d33f8792853568bfb2b2c 0 (Thu Jan 01 00:00:00 1970 +0000) {'operation': 'replace', 'user': 'test'} |
ecc96506c49d
obsmarker: track operation by default
Martin von Zweigbergk <martinvonz@google.com>
parents:
34205
diff
changeset
|
233 64a8289d249234b9886244d379f15e6b650b28e3 0 {7fb047a69f220c21711122dfd94305a9efb60cba} (Thu Jan 01 00:00:00 1970 +0000) {'operation': 'prune', 'user': 'test'} |
ecc96506c49d
obsmarker: track operation by default
Martin von Zweigbergk <martinvonz@google.com>
parents:
34205
diff
changeset
|
234 58e6b987bf7045fcd9c54f496396ca1d1fc81047 0 {575c4b5ec114d64b681d33f8792853568bfb2b2c} (Thu Jan 01 00:00:00 1970 +0000) {'operation': 'prune', 'user': 'test'} |
33809
0531ffd59a98
drawdag: allow override file contents via comments
Jun Wu <quark@fb.com>
parents:
33794
diff
changeset
|
235 |
0531ffd59a98
drawdag: allow override file contents via comments
Jun Wu <quark@fb.com>
parents:
33794
diff
changeset
|
236 Change file contents via comments |
0531ffd59a98
drawdag: allow override file contents via comments
Jun Wu <quark@fb.com>
parents:
33794
diff
changeset
|
237 |
0531ffd59a98
drawdag: allow override file contents via comments
Jun Wu <quark@fb.com>
parents:
33794
diff
changeset
|
238 $ reinit |
0531ffd59a98
drawdag: allow override file contents via comments
Jun Wu <quark@fb.com>
parents:
33794
diff
changeset
|
239 $ hg debugdrawdag <<'EOS' |
0531ffd59a98
drawdag: allow override file contents via comments
Jun Wu <quark@fb.com>
parents:
33794
diff
changeset
|
240 > C # A/dir1/a = 1\n2 |
0531ffd59a98
drawdag: allow override file contents via comments
Jun Wu <quark@fb.com>
parents:
33794
diff
changeset
|
241 > |\ # B/dir2/b = 34 |
0531ffd59a98
drawdag: allow override file contents via comments
Jun Wu <quark@fb.com>
parents:
33794
diff
changeset
|
242 > A B # C/dir1/c = 5 |
0531ffd59a98
drawdag: allow override file contents via comments
Jun Wu <quark@fb.com>
parents:
33794
diff
changeset
|
243 > # C/dir2/c = 6 |
0531ffd59a98
drawdag: allow override file contents via comments
Jun Wu <quark@fb.com>
parents:
33794
diff
changeset
|
244 > # C/A = a |
0531ffd59a98
drawdag: allow override file contents via comments
Jun Wu <quark@fb.com>
parents:
33794
diff
changeset
|
245 > # C/B = b |
0531ffd59a98
drawdag: allow override file contents via comments
Jun Wu <quark@fb.com>
parents:
33794
diff
changeset
|
246 > EOS |
0531ffd59a98
drawdag: allow override file contents via comments
Jun Wu <quark@fb.com>
parents:
33794
diff
changeset
|
247 |
0531ffd59a98
drawdag: allow override file contents via comments
Jun Wu <quark@fb.com>
parents:
33794
diff
changeset
|
248 $ hg log -G -T '{desc} {files}' |
0531ffd59a98
drawdag: allow override file contents via comments
Jun Wu <quark@fb.com>
parents:
33794
diff
changeset
|
249 o C A B dir1/c dir2/c |
0531ffd59a98
drawdag: allow override file contents via comments
Jun Wu <quark@fb.com>
parents:
33794
diff
changeset
|
250 |\ |
0531ffd59a98
drawdag: allow override file contents via comments
Jun Wu <quark@fb.com>
parents:
33794
diff
changeset
|
251 | o B B dir2/b |
0531ffd59a98
drawdag: allow override file contents via comments
Jun Wu <quark@fb.com>
parents:
33794
diff
changeset
|
252 | |
0531ffd59a98
drawdag: allow override file contents via comments
Jun Wu <quark@fb.com>
parents:
33794
diff
changeset
|
253 o A A dir1/a |
0531ffd59a98
drawdag: allow override file contents via comments
Jun Wu <quark@fb.com>
parents:
33794
diff
changeset
|
254 |
0531ffd59a98
drawdag: allow override file contents via comments
Jun Wu <quark@fb.com>
parents:
33794
diff
changeset
|
255 $ for f in `hg files -r C`; do |
0531ffd59a98
drawdag: allow override file contents via comments
Jun Wu <quark@fb.com>
parents:
33794
diff
changeset
|
256 > echo FILE "$f" |
0531ffd59a98
drawdag: allow override file contents via comments
Jun Wu <quark@fb.com>
parents:
33794
diff
changeset
|
257 > hg cat -r C "$f" |
0531ffd59a98
drawdag: allow override file contents via comments
Jun Wu <quark@fb.com>
parents:
33794
diff
changeset
|
258 > echo |
0531ffd59a98
drawdag: allow override file contents via comments
Jun Wu <quark@fb.com>
parents:
33794
diff
changeset
|
259 > done |
0531ffd59a98
drawdag: allow override file contents via comments
Jun Wu <quark@fb.com>
parents:
33794
diff
changeset
|
260 FILE A |
0531ffd59a98
drawdag: allow override file contents via comments
Jun Wu <quark@fb.com>
parents:
33794
diff
changeset
|
261 a |
0531ffd59a98
drawdag: allow override file contents via comments
Jun Wu <quark@fb.com>
parents:
33794
diff
changeset
|
262 FILE B |
0531ffd59a98
drawdag: allow override file contents via comments
Jun Wu <quark@fb.com>
parents:
33794
diff
changeset
|
263 b |
34205
402efa8421b8
tests: add and remove some (glob) markers
Augie Fackler <augie@google.com>
parents:
33809
diff
changeset
|
264 FILE dir1/a (glob) |
33809
0531ffd59a98
drawdag: allow override file contents via comments
Jun Wu <quark@fb.com>
parents:
33794
diff
changeset
|
265 1 |
0531ffd59a98
drawdag: allow override file contents via comments
Jun Wu <quark@fb.com>
parents:
33794
diff
changeset
|
266 2 |
34205
402efa8421b8
tests: add and remove some (glob) markers
Augie Fackler <augie@google.com>
parents:
33809
diff
changeset
|
267 FILE dir1/c (glob) |
33809
0531ffd59a98
drawdag: allow override file contents via comments
Jun Wu <quark@fb.com>
parents:
33794
diff
changeset
|
268 5 |
34205
402efa8421b8
tests: add and remove some (glob) markers
Augie Fackler <augie@google.com>
parents:
33809
diff
changeset
|
269 FILE dir2/b (glob) |
33809
0531ffd59a98
drawdag: allow override file contents via comments
Jun Wu <quark@fb.com>
parents:
33794
diff
changeset
|
270 34 |
34205
402efa8421b8
tests: add and remove some (glob) markers
Augie Fackler <augie@google.com>
parents:
33809
diff
changeset
|
271 FILE dir2/c (glob) |
33809
0531ffd59a98
drawdag: allow override file contents via comments
Jun Wu <quark@fb.com>
parents:
33794
diff
changeset
|
272 6 |