Mercurial > evolve
diff tests/test-topic-tutorial.t @ 2959:ef361938dfa1
doc: integrate graphviz graphs in tutorials
Use the mercurial-docgraph extension (https://pypi.python.org/pypi/hg-
docgraph/) in tutorials in order to have some dot graphs in the tutorials .t
files.
Then generate the doc as usual, the sphinx-graphviz extension (http://www
.sphinx-doc.org/en/stable/ext/graphviz.html) has been added and it should
handle the generation of the graphs. Please be aware that you need the dot
binary installed in your system. Please refer to the extension documentation
for more configuration.
author | Boris Feld <boris.feld@octobus.net> |
---|---|
date | Thu, 21 Sep 2017 10:45:27 +0200 |
parents | 2ddc63d13af8 |
children | e036aab3d0cb |
line wrap: on
line diff
--- a/tests/test-topic-tutorial.t Thu Sep 21 10:45:06 2017 +0200 +++ b/tests/test-topic-tutorial.t Thu Sep 21 10:45:27 2017 +0200 @@ -45,6 +45,9 @@ > [ui] > user= Tutorial User > EOF +#if docgraph-ext + $ . "$TESTDIR/testlib/docgraph_setup.sh" #rest-ignore +#endif Topic branches are lightweight branches which disappear when changes are finalized (moved to the public phase). They can help users to organize and share @@ -62,6 +65,27 @@ date: Thu Jan 01 00:00:00 1970 +0000 summary: Shopping list +#if docgraph-ext + $ hg docgraph -r "all()" --sphinx-directive --rankdir LR #rest-ignore + .. graphviz:: + + strict digraph { + graph [rankdir=LR, + splines=polyline + ]; + node [label="\N"]; + 0 [fillcolor="#7F7FFF", + fixedsize=true, + group=default, + height=2, + label="0: 38da43f0a2ea", + pin=true, + pos="1,0!", + shape=circle, + style=filled, + width=2]; + } +#endif We are about to make some additions to this list and would like to do them within a topic. Creating a new topic is done using the ``topic`` command: @@ -90,6 +114,28 @@ summary: Shopping list +#if docgraph-ext + $ hg docgraph -r "all()" --sphinx-directive --rankdir LR #rest-ignore + .. graphviz:: + + strict digraph { + graph [rankdir=LR, + splines=polyline + ]; + node [label="\N"]; + 0 [fillcolor="#7F7FFF", + fixedsize=true, + group=default, + height=2, + label="0: 38da43f0a2ea", + pin=true, + pos="1,0!", + shape=circle, + style=filled, + width=2]; + } +#endif + Our next commit will be part of the active topic: $ cat >> shopping << EOF @@ -110,6 +156,28 @@ summary: adding condiments +#if docgraph-ext + $ hg docgraph -r "topic("food")" --sphinx-directive --rankdir LR #rest-ignore + .. graphviz:: + + strict digraph { + graph [rankdir=LR, + splines=polyline + ]; + node [label="\N"]; + 1 [fillcolor="#7F7FFF", + fixedsize=true, + group=default, + height=2, + label="1: 13900241408b", + pin=true, + pos="1,1!", + shape=pentagon, + style=filled, + width=2]; + } +#endif + And future commits will be part of that topic too: $ cat >> shopping << EOF @@ -135,6 +203,39 @@ summary: adding condiments +#if docgraph-ext + $ hg docgraph -r "topic("food")" --sphinx-directive --rankdir LR #rest-ignore + .. graphviz:: + + strict digraph { + graph [rankdir=LR, + splines=polyline + ]; + node [label="\N"]; + 1 [fillcolor="#7F7FFF", + fixedsize=true, + group=default, + height=2, + label="1: 13900241408b", + pin=true, + pos="1,1!", + shape=pentagon, + style=filled, + width=2]; + 2 [fillcolor="#7F7FFF", + fixedsize=true, + group=default, + height=2, + label="2: 287de11b401f", + pin=true, + pos="1,2!", + shape=pentagon, + style=filled, + width=2]; + 1 -> 2; + } +#endif + We can get a compact view of the content of our topic using the ``stack`` command: @@ -175,6 +276,50 @@ date: Thu Jan 01 00:00:00 1970 +0000 summary: Shopping list + +#if docgraph-ext + $ hg docgraph -r "all()" --sphinx-directive --rankdir LR #rest-ignore + .. graphviz:: + + strict digraph { + graph [rankdir=LR, + splines=polyline + ]; + node [label="\N"]; + 0 [fillcolor="#7F7FFF", + fixedsize=true, + group=default, + height=2, + label="0: 38da43f0a2ea", + pin=true, + pos="1,0!", + shape=circle, + style=filled, + width=2]; + 1 [fillcolor="#7F7FFF", + fixedsize=true, + group=default, + height=2, + label="1: 13900241408b", + pin=true, + pos="1,1!", + shape=pentagon, + style=filled, + width=2]; + 0 -> 1; + 2 [fillcolor="#7F7FFF", + fixedsize=true, + group=default, + height=2, + label="2: 287de11b401f", + pin=true, + pos="1,2!", + shape=pentagon, + style=filled, + width=2]; + 1 -> 2; + } +#endif And updating back to the topic reactivates it: $ hg update food @@ -253,6 +398,60 @@ date: Thu Jan 01 00:00:00 1970 +0000 summary: Shopping list +#if docgraph-ext + $ hg docgraph -r "all()" --sphinx-directive --rankdir LR #rest-ignore + .. graphviz:: + + strict digraph { + graph [rankdir=LR, + splines=polyline + ]; + node [label="\N"]; + 0 [fillcolor="#7F7FFF", + fixedsize=true, + group=default, + height=2, + label="0: 38da43f0a2ea", + pin=true, + pos="1,0!", + shape=circle, + style=filled, + width=2]; + 1 [fillcolor="#7F7FFF", + fixedsize=true, + group=default, + height=2, + label="1: 13900241408b", + pin=true, + pos="1,1!", + shape=pentagon, + style=filled, + width=2]; + 0 -> 1; + 3 [fillcolor="#7F7FFF", + fixedsize=true, + group=default, + height=2, + label="3: 6104862e8b84", + pin=true, + pos="1,3!", + shape=circle, + style=filled, + width=2]; + 0 -> 3; + 2 [fillcolor="#7F7FFF", + fixedsize=true, + group=default, + height=2, + label="2: 287de11b401f", + pin=true, + pos="1,2!", + shape=pentagon, + style=filled, + width=2]; + 1 -> 2; + } +#endif The topic head will not be considered when merging from the new head of the branch: @@ -303,6 +502,60 @@ date: Thu Jan 01 00:00:00 1970 +0000 summary: Shopping list +#if docgraph-ext + $ hg docgraph -r "all()" --sphinx-directive --rankdir LR #rest-ignore + .. graphviz:: + + strict digraph { + graph [rankdir=LR, + splines=polyline + ]; + node [label="\N"]; + 0 [fillcolor="#7F7FFF", + fixedsize=true, + group=default, + height=2, + label="0: 38da43f0a2ea", + pin=true, + pos="1,0!", + shape=circle, + style=filled, + width=2]; + 3 [fillcolor="#7F7FFF", + fixedsize=true, + group=default, + height=2, + label="3: 6104862e8b84", + pin=true, + pos="1,3!", + shape=circle, + style=filled, + width=2]; + 0 -> 3; + 4 [fillcolor="#7F7FFF", + fixedsize=true, + group=default, + height=2, + label="4: 4011b46eeb33", + pin=true, + pos="1,4!", + shape=pentagon, + style=filled, + width=2]; + 3 -> 4; + 5 [fillcolor="#7F7FFF", + fixedsize=true, + group=default, + height=2, + label="5: 2d50db8b5b4c", + pin=true, + pos="1,5!", + shape=pentagon, + style=filled, + width=2]; + 4 -> 5; + } +#endif The topic information will disappear when we publish the changesets: @@ -344,6 +597,61 @@ date: Thu Jan 01 00:00:00 1970 +0000 summary: Shopping list +#if docgraph-ext + $ hg docgraph -r "all()" --sphinx-directive --rankdir LR #rest-ignore + .. graphviz:: + + strict digraph { + graph [rankdir=LR, + splines=polyline + ]; + node [label="\N"]; + 0 [fillcolor="#7F7FFF", + fixedsize=true, + group=default, + height=2, + label="0: 38da43f0a2ea", + pin=true, + pos="1,0!", + shape=circle, + style=filled, + width=2]; + 3 [fillcolor="#7F7FFF", + fixedsize=true, + group=default, + height=2, + label="3: 6104862e8b84", + pin=true, + pos="1,3!", + shape=circle, + style=filled, + width=2]; + 0 -> 3; + 4 [fillcolor="#7F7FFF", + fixedsize=true, + group=default, + height=2, + label="4: 4011b46eeb33", + pin=true, + pos="1,4!", + shape=circle, + style=filled, + width=2]; + 3 -> 4; + 5 [fillcolor="#7F7FFF", + fixedsize=true, + group=default, + height=2, + label="5: 2d50db8b5b4c", + pin=true, + pos="1,5!", + shape=circle, + style=filled, + width=2]; + 4 -> 5; + } +#endif + $ hg update default 0 files updated, 0 files merged, 0 files removed, 0 files unresolved @@ -510,6 +818,138 @@ date: Thu Jan 01 00:00:00 1970 +0000 summary: Shopping list +#if docgraph-ext + $ hg docgraph -r "all()" --sphinx-directive --rankdir LR #rest-ignore + .. graphviz:: + + strict digraph { + graph [rankdir=LR, + splines=polyline + ]; + node [label="\N"]; + 0 [fillcolor="#7F7FFF", + fixedsize=true, + group=default, + height=2, + label="0: 38da43f0a2ea", + pin=true, + pos="1,0!", + shape=circle, + style=filled, + width=2]; + 3 [fillcolor="#7F7FFF", + fixedsize=true, + group=default, + height=2, + label="3: 6104862e8b84", + pin=true, + pos="1,3!", + shape=circle, + style=filled, + width=2]; + 0 -> 3; + 4 [fillcolor="#7F7FFF", + fixedsize=true, + group=default, + height=2, + label="4: 4011b46eeb33", + pin=true, + pos="1,4!", + shape=circle, + style=filled, + width=2]; + 3 -> 4; + 5 [fillcolor="#7F7FFF", + fixedsize=true, + group=default, + height=2, + label="5: 2d50db8b5b4c", + pin=true, + pos="1,5!", + shape=circle, + style=filled, + width=2]; + 4 -> 5; + 6 [fillcolor="#7F7FFF", + fixedsize=true, + group=default, + height=2, + label="6: 183984ef46d1", + pin=true, + pos="1,6!", + shape=pentagon, + style=filled, + width=2]; + 5 -> 6; + 9 [fillcolor="#7F7FFF", + fixedsize=true, + group=default, + height=2, + label="9: 8dfa45bd5e0c", + pin=true, + pos="1,9!", + shape=pentagon, + style=filled, + width=2]; + 5 -> 9; + 11 [fillcolor="#7F7FFF", + fixedsize=true, + group=default, + height=2, + label="11: f2d6cacc6115", + pin=true, + pos="1,11!", + shape=circle, + style=filled, + width=2]; + 5 -> 11; + 7 [fillcolor="#7F7FFF", + fixedsize=true, + group=default, + height=2, + label="7: cffff85af537", + pin=true, + pos="1,7!", + shape=pentagon, + style=filled, + width=2]; + 6 -> 7; + 8 [fillcolor="#7F7FFF", + fixedsize=true, + group=default, + height=2, + label="8: 34255b455dac", + pin=true, + pos="1,8!", + shape=pentagon, + style=filled, + width=2]; + 7 -> 8; + 10 [fillcolor="#7F7FFF", + fixedsize=true, + group=default, + height=2, + label="10: 70dfa201ed73", + pin=true, + pos="1,10!", + shape=pentagon, + style=filled, + width=2]; + 9 -> 10; + 12 [fillcolor="#7F7FFF", + fixedsize=true, + group=default, + height=2, + label="12: fbff9bc37a43", + pin=true, + pos="1,12!", + shape=circle, + style=filled, + width=2]; + 11 -> 12; + } +#endif + $ hg rebase rebasing 6:183984ef46d1 "Adding hammer" merging shopping @@ -708,6 +1148,99 @@ ~ date: Thu Jan 01 00:00:00 1970 +0000 summary: add a pair of shoes + +#if docgraph-ext + $ hg docgraph -r "t0::" --sphinx-directive --rankdir LR #rest-ignore + .. graphviz:: + + strict digraph { + graph [rankdir=LR, + splines=polyline + ]; + node [label="\N"]; + 12 [fillcolor="#7F7FFF", + fixedsize=true, + group=default, + height=2, + label="12: fbff9bc37a43", + pin=true, + pos="1,12!", + shape=circle, + style=filled, + width=2]; + 13 [fillcolor="#DFDFFF", + fixedsize=true, + group=default_alt, + height=2, + label="13: a8ab3599d53d", + pin=true, + pos="2,13!", + shape=pentagon, + style="dotted, filled", + width=2]; + 12 -> 13; + 18 [fillcolor="#7F7FFF", + fixedsize=true, + group=default, + height=2, + label="18: b7509bd417f8", + pin=true, + pos="1,18!", + shape=pentagon, + style=filled, + width=2]; + 12 -> 18; + 16 [fillcolor="#7F7FFF", + fixedsize=true, + group=default, + height=2, + label="16: 20759cb47ff8", + pin=true, + pos="1,16!", + shape=circle, + style=filled, + width=2]; + 12 -> 16; + 13 -> 18 [arrowtail=dot, + dir=back, + minlen=0, + style=dotted]; + 14 [fillcolor="#FF3535", + fixedsize=true, + group=default_alt, + height=2, + label="14: d4f97f32f8a1", + pin=true, + pos="2,14!", + shape=pentagon, + style=filled, + width=2]; + 13 -> 14; + 15 [fillcolor="#FF3535", + fixedsize=true, + group=default_alt, + height=2, + label="15: bb1e6254f532", + pin=true, + pos="2,15!", + shape=pentagon, + style=filled, + width=2]; + 14 -> 15; + 17 [fillcolor="#7F7FFF", + fixedsize=true, + group=default, + height=2, + label="17: 4cd7c1591a67", + pin=true, + pos="1,17!", + shape=circle, + style=filled, + width=2]; + 16 -> 17; + } +#endif + Fortunately stack shows you a better visualization: $ hg stack @@ -787,6 +1320,83 @@ ~ date: Thu Jan 01 00:00:00 1970 +0000 summary: add a pair of shoes + +#if docgraph-ext + $ hg docgraph -r "t0::" --sphinx-directive --rankdir LR #rest-ignore + .. graphviz:: + + strict digraph { + graph [rankdir=LR, + splines=polyline + ]; + node [label="\N"]; + 12 [fillcolor="#7F7FFF", + fixedsize=true, + group=default, + height=2, + label="12: fbff9bc37a43", + pin=true, + pos="1,12!", + shape=circle, + style=filled, + width=2]; + 16 [fillcolor="#7F7FFF", + fixedsize=true, + group=default, + height=2, + label="16: 20759cb47ff8", + pin=true, + pos="1,16!", + shape=circle, + style=filled, + width=2]; + 12 -> 16; + 18 [fillcolor="#7F7FFF", + fixedsize=true, + group=default, + height=2, + label="18: b7509bd417f8", + pin=true, + pos="1,18!", + shape=pentagon, + style=filled, + width=2]; + 12 -> 18; + 17 [fillcolor="#7F7FFF", + fixedsize=true, + group=default, + height=2, + label="17: 4cd7c1591a67", + pin=true, + pos="1,17!", + shape=circle, + style=filled, + width=2]; + 16 -> 17; + 19 [fillcolor="#7F7FFF", + fixedsize=true, + group=default, + height=2, + label="19: d5c51ee5762a", + pin=true, + pos="1,19!", + shape=pentagon, + style=filled, + width=2]; + 18 -> 19; + 20 [fillcolor="#7F7FFF", + fixedsize=true, + group=default, + height=2, + label="20: bae3758e46bf", + pin=true, + pos="1,20!", + shape=pentagon, + style=filled, + width=2]; + 19 -> 20; + } +#endif Multi-headed stack ------------------ @@ -887,6 +1497,149 @@ summary: Shopping list +#if docgraph-ext + $ hg docgraph -r "all()" --sphinx-directive --rankdir LR #rest-ignore + .. graphviz:: + + strict digraph { + graph [rankdir=LR, + splines=polyline + ]; + node [label="\N"]; + 0 [fillcolor="#7F7FFF", + fixedsize=true, + group=default, + height=2, + label="0: 38da43f0a2ea", + pin=true, + pos="1,0!", + shape=circle, + style=filled, + width=2]; + 3 [fillcolor="#7F7FFF", + fixedsize=true, + group=default, + height=2, + label="3: 6104862e8b84", + pin=true, + pos="1,3!", + shape=circle, + style=filled, + width=2]; + 0 -> 3; + 4 [fillcolor="#7F7FFF", + fixedsize=true, + group=default, + height=2, + label="4: 4011b46eeb33", + pin=true, + pos="1,4!", + shape=circle, + style=filled, + width=2]; + 3 -> 4; + 5 [fillcolor="#7F7FFF", + fixedsize=true, + group=default, + height=2, + label="5: 2d50db8b5b4c", + pin=true, + pos="1,5!", + shape=circle, + style=filled, + width=2]; + 4 -> 5; + 11 [fillcolor="#7F7FFF", + fixedsize=true, + group=default, + height=2, + label="11: f2d6cacc6115", + pin=true, + pos="1,11!", + shape=circle, + style=filled, + width=2]; + 5 -> 11; + 12 [fillcolor="#7F7FFF", + fixedsize=true, + group=default, + height=2, + label="12: fbff9bc37a43", + pin=true, + pos="1,12!", + shape=circle, + style=filled, + width=2]; + 11 -> 12; + 16 [fillcolor="#7F7FFF", + fixedsize=true, + group=default, + height=2, + label="16: 20759cb47ff8", + pin=true, + pos="1,16!", + shape=circle, + style=filled, + width=2]; + 12 -> 16; + 18 [fillcolor="#7F7FFF", + fixedsize=true, + group=default, + height=2, + label="18: b7509bd417f8", + pin=true, + pos="1,18!", + shape=pentagon, + style=filled, + width=2]; + 12 -> 18; + 17 [fillcolor="#7F7FFF", + fixedsize=true, + group=default, + height=2, + label="17: 4cd7c1591a67", + pin=true, + pos="1,17!", + shape=circle, + style=filled, + width=2]; + 16 -> 17; + 19 [fillcolor="#7F7FFF", + fixedsize=true, + group=default, + height=2, + label="19: d5c51ee5762a", + pin=true, + pos="1,19!", + shape=pentagon, + style=filled, + width=2]; + 18 -> 19; + 21 [fillcolor="#7F7FFF", + fixedsize=true, + group=default, + height=2, + label="21: f936c6da9d61", + pin=true, + pos="1,21!", + shape=pentagon, + style=filled, + width=2]; + 18 -> 21; + 20 [fillcolor="#7F7FFF", + fixedsize=true, + group=default, + height=2, + label="20: bae3758e46bf", + pin=true, + pos="1,20!", + shape=pentagon, + style=filled, + width=2]; + 19 -> 20; + } +#endif + $ hg up t4 1 files updated, 0 files merged, 0 files removed, 0 files unresolved