test-drawdag.t
273 lines
| 4.4 KiB
| text/troff
|
Tads3Lexer
/ tests / test-drawdag.t
|
r33153 | $ cat >> $HGRCPATH<<EOF | ||
> [extensions] | ||||
> drawdag=$TESTDIR/drawdag.py | ||||
|
r33154 | > [experimental] | ||
|
r34866 | > evolution=true | ||
|
r33153 | > EOF | ||
$ reinit () { | ||||
> rm -rf .hg && hg init | ||||
> } | ||||
$ hg init | ||||
Test what said in drawdag.py docstring | ||||
$ hg debugdrawdag <<'EOS' | ||||
> c d | ||||
> |/ | ||||
> b | ||||
> | | ||||
> a | ||||
> EOS | ||||
$ hg log -G -T '{rev} {desc} ({tags})' | ||||
o 3 d (d tip) | ||||
| | ||||
| o 2 c (c) | ||||
|/ | ||||
o 1 b (b) | ||||
| | ||||
o 0 a (a) | ||||
$ hg debugdrawdag <<'EOS' | ||||
> foo bar bar foo | ||||
> | / | | | ||||
> ancestor(c,d) a baz | ||||
> EOS | ||||
$ hg log -G -T '{desc}' | ||||
o foo | ||||
|\ | ||||
+---o bar | ||||
| | | | ||||
| o | baz | ||||
| / | ||||
+---o d | ||||
| | | ||||
+---o c | ||||
| | | ||||
o | b | ||||
|/ | ||||
o a | ||||
$ reinit | ||||
$ hg debugdrawdag <<'EOS' | ||||
> o foo | ||||
> |\ | ||||
> +---o bar | ||||
> | | | | ||||
> | o | baz | ||||
> | / | ||||
> +---o d | ||||
> | | | ||||
> +---o c | ||||
> | | | ||||
> o | b | ||||
> |/ | ||||
> o a | ||||
> EOS | ||||
$ hg log -G -T '{desc}' | ||||
o foo | ||||
|\ | ||||
| | o d | ||||
| |/ | ||||
| | o c | ||||
| |/ | ||||
| | o bar | ||||
| |/| | ||||
| o | b | ||||
| |/ | ||||
o / baz | ||||
/ | ||||
o a | ||||
$ reinit | ||||
$ hg debugdrawdag <<'EOS' | ||||
> o foo | ||||
> |\ | ||||
> | | o d | ||||
> | |/ | ||||
> | | o c | ||||
> | |/ | ||||
> | | o bar | ||||
> | |/| | ||||
> | o | b | ||||
> | |/ | ||||
> o / baz | ||||
> / | ||||
> o a | ||||
> EOS | ||||
$ hg log -G -T '{desc}' | ||||
o foo | ||||
|\ | ||||
| | o d | ||||
| |/ | ||||
| | o c | ||||
| |/ | ||||
| | o bar | ||||
| |/| | ||||
| o | b | ||||
| |/ | ||||
o / baz | ||||
/ | ||||
o a | ||||
|
r33558 | $ hg manifest -r a | ||
a | ||||
$ hg manifest -r b | ||||
a | ||||
b | ||||
$ hg manifest -r bar | ||||
a | ||||
b | ||||
$ hg manifest -r foo | ||||
a | ||||
b | ||||
baz | ||||
|
r33153 | |||
Edges existed in repo are no-ops | ||||
$ reinit | ||||
$ hg debugdrawdag <<'EOS' | ||||
> B C C | ||||
> | | | | ||||
> A A B | ||||
> EOS | ||||
$ hg log -G -T '{desc}' | ||||
o C | ||||
|\ | ||||
| o B | ||||
|/ | ||||
o A | ||||
$ hg debugdrawdag <<'EOS' | ||||
> C D C | ||||
> | | | | ||||
> B B A | ||||
> EOS | ||||
$ hg log -G -T '{desc}' | ||||
o D | ||||
| | ||||
| o C | ||||
|/| | ||||
o | B | ||||
|/ | ||||
o A | ||||
Node with more than 2 parents are disallowed | ||||
$ hg debugdrawdag <<'EOS' | ||||
> A | ||||
> /|\ | ||||
> D B C | ||||
> EOS | ||||
abort: A: too many parents: C D B | ||||
[255] | ||||
Cycles are disallowed | ||||
$ hg debugdrawdag <<'EOS' | ||||
> A | ||||
> | | ||||
> A | ||||
> EOS | ||||
abort: the graph has cycles | ||||
[255] | ||||
$ hg debugdrawdag <<'EOS' | ||||
> A | ||||
> | | ||||
> B | ||||
> | | ||||
> A | ||||
> EOS | ||||
abort: the graph has cycles | ||||
[255] | ||||
|
r33154 | |||
Create obsmarkers via comments | ||||
$ reinit | ||||
$ hg debugdrawdag <<'EOS' | ||||
> G | ||||
> | | ||||
> I D C F # split: B -> E, F, G | ||||
> \ \| | # replace: C -> D -> H | ||||
> H B E # prune: F, I | ||||
> \|/ | ||||
> A | ||||
> EOS | ||||
|
r35727 | 1 new orphan changesets | ||
|
r33154 | |||
$ hg log -r 'sort(all(), topo)' -G --hidden -T '{desc} {node}' | ||||
r35524 | * G 711f53bbef0bebd12eb6f0511d5e2e998b984846 | |||
|
r33154 | | | ||
x F 64a8289d249234b9886244d379f15e6b650b28e3 | ||||
| | ||||
o E 7fb047a69f220c21711122dfd94305a9efb60cba | ||||
| | ||||
| x D be0ef73c17ade3fc89dc41701eb9fc3a91b58282 | ||||
| | | ||||
| | x C 26805aba1e600a82e93661149f2313866a221a7b | ||||
| |/ | ||||
| x B 112478962961147124edd43549aedd1a335e44bf | ||||
|/ | ||||
| x I 58e6b987bf7045fcd9c54f496396ca1d1fc81047 | ||||
| | | ||||
| o H 575c4b5ec114d64b681d33f8792853568bfb2b2c | ||||
|/ | ||||
o A 426bada5c67598ca65036d57d9e4b64b0c1ce7a0 | ||||
$ hg debugobsolete | ||||
|
r34962 | 112478962961147124edd43549aedd1a335e44bf 7fb047a69f220c21711122dfd94305a9efb60cba 64a8289d249234b9886244d379f15e6b650b28e3 711f53bbef0bebd12eb6f0511d5e2e998b984846 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '0', 'operation': 'split', 'user': 'test'} | ||
26805aba1e600a82e93661149f2313866a221a7b be0ef73c17ade3fc89dc41701eb9fc3a91b58282 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '9', 'operation': 'replace', 'user': 'test'} | ||||
be0ef73c17ade3fc89dc41701eb9fc3a91b58282 575c4b5ec114d64b681d33f8792853568bfb2b2c 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '13', 'operation': 'replace', 'user': 'test'} | ||||
64a8289d249234b9886244d379f15e6b650b28e3 0 {7fb047a69f220c21711122dfd94305a9efb60cba} (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '0', 'operation': 'prune', 'user': 'test'} | ||||
58e6b987bf7045fcd9c54f496396ca1d1fc81047 0 {575c4b5ec114d64b681d33f8792853568bfb2b2c} (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '0', 'operation': 'prune', 'user': 'test'} | ||||
|
r33785 | |||
Change file contents via comments | ||||
$ reinit | ||||
$ hg debugdrawdag <<'EOS' | ||||
> C # A/dir1/a = 1\n2 | ||||
> |\ # B/dir2/b = 34 | ||||
> A B # C/dir1/c = 5 | ||||
> # C/dir2/c = 6 | ||||
> # C/A = a | ||||
> # C/B = b | ||||
> EOS | ||||
$ hg log -G -T '{desc} {files}' | ||||
o C A B dir1/c dir2/c | ||||
|\ | ||||
| o B B dir2/b | ||||
| | ||||
o A A dir1/a | ||||
$ for f in `hg files -r C`; do | ||||
> echo FILE "$f" | ||||
> hg cat -r C "$f" | ||||
> echo | ||||
> done | ||||
FILE A | ||||
a | ||||
FILE B | ||||
b | ||||
|
r35394 | FILE dir1/a | ||
|
r33785 | 1 | ||
2 | ||||
|
r35394 | FILE dir1/c | ||
|
r33785 | 5 | ||
|
r35394 | FILE dir2/b | ||
|
r33785 | 34 | ||
|
r35394 | FILE dir2/c | ||
|
r33785 | 6 | ||