diff tests/test-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-tutorial.t	Thu Sep 21 10:45:06 2017 +0200
+++ b/tests/test-tutorial.t	Thu Sep 21 10:45:27 2017 +0200
@@ -65,6 +65,10 @@
   > rebase =
   > EOF
 
+#if docgraph-ext
+  $ . "$TESTDIR/testlib/docgraph_setup.sh" #rest-ignore
+#endif
+
 -----------------------
 Single Developer Usage
 -----------------------
@@ -125,6 +129,49 @@
   |
   o  7e82d3f3c2cb (public): Monthy Python 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: 7e82d3f3c2cb",
+      		pin=true,
+      		pos="1,0!",
+      		shape=circle,
+      		style=filled,
+      		width=2];
+      	1	 [fillcolor="#7F7FFF",
+      		fixedsize=true,
+      		group=default,
+      		height=2,
+      		label="1: 4d5dc8187023",
+      		pin=true,
+      		pos="1,1!",
+      		shape=pentagon,
+      		style=filled,
+      		width=2];
+      	0 -> 1;
+      	2	 [fillcolor="#7F7FFF",
+      		fixedsize=true,
+      		group=default,
+      		height=2,
+      		label="2: d85de4546133",
+      		pin=true,
+      		pos="1,2!",
+      		shape=pentagon,
+      		style=filled,
+      		width=2];
+      	1 -> 2;
+      }
+#endif
 
 But a typo was made in Babanas!
 
@@ -159,6 +206,50 @@
   o  7e82d3f3c2cb (public): Monthy Python 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: 7e82d3f3c2cb",
+      		pin=true,
+      		pos="1,0!",
+      		shape=circle,
+      		style=filled,
+      		width=2];
+      	1	 [fillcolor="#7F7FFF",
+      		fixedsize=true,
+      		group=default,
+      		height=2,
+      		label="1: 4d5dc8187023",
+      		pin=true,
+      		pos="1,1!",
+      		shape=pentagon,
+      		style=filled,
+      		width=2];
+      	0 -> 1;
+      	2	 [fillcolor="#7F7FFF",
+      		fixedsize=true,
+      		group=default,
+      		height=2,
+      		label="2: d85de4546133",
+      		pin=true,
+      		pos="1,2!",
+      		shape=pentagon,
+      		style=filled,
+      		width=2];
+      	1 -> 2;
+      }
+#endif
+
 Hopefully. I can use `hg commit --amend` to rewrite my faulty changeset!
 
   $ sed -i'' -e s/Bananos/Banana/ shopping
@@ -185,6 +276,50 @@
   |
   o  7e82d3f3c2cb (public): Monthy Python 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: 7e82d3f3c2cb",
+      		pin=true,
+      		pos="1,0!",
+      		shape=circle,
+      		style=filled,
+      		width=2];
+      	1	 [fillcolor="#7F7FFF",
+      		fixedsize=true,
+      		group=default,
+      		height=2,
+      		label="1: 4d5dc8187023",
+      		pin=true,
+      		pos="1,1!",
+      		shape=pentagon,
+      		style=filled,
+      		width=2];
+      	0 -> 1;
+      	3	 [fillcolor="#7F7FFF",
+      		fixedsize=true,
+      		group=default,
+      		height=2,
+      		label="3: 9d0363b81950",
+      		pin=true,
+      		pos="1,3!",
+      		shape=pentagon,
+      		style=filled,
+      		width=2];
+      	1 -> 3;
+      }
+#endif
+
   $ hg export tip
   # HG changeset patch
   # User test
@@ -239,6 +374,61 @@
   o  7e82d3f3c2cb (public): Monthy Python 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: 7e82d3f3c2cb",
+      		pin=true,
+      		pos="1,0!",
+      		shape=circle,
+      		style=filled,
+      		width=2];
+      	1	 [fillcolor="#7F7FFF",
+      		fixedsize=true,
+      		group=default,
+      		height=2,
+      		label="1: 4d5dc8187023",
+      		pin=true,
+      		pos="1,1!",
+      		shape=pentagon,
+      		style=filled,
+      		width=2];
+      	0 -> 1;
+      	4	 [fillcolor="#7F7FFF",
+      		fixedsize=true,
+      		group=default,
+      		height=2,
+      		label="4: 9ca060c80d74",
+      		pin=true,
+      		pos="1,4!",
+      		shape=circle,
+      		style=filled,
+      		width=2];
+      	0 -> 4;
+      	3	 [fillcolor="#7F7FFF",
+      		fixedsize=true,
+      		group=default,
+      		height=2,
+      		label="3: 9d0363b81950",
+      		pin=true,
+      		pos="1,3!",
+      		shape=pentagon,
+      		style=filled,
+      		width=2];
+      	1 -> 3;
+      }
+#endif
+
 Instead of merging my head with the new one. I'm going to rebase my work
 
   $ hg diff
@@ -260,6 +450,60 @@
   |
   o  7e82d3f3c2cb (public): Monthy Python 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: 7e82d3f3c2cb",
+      		pin=true,
+      		pos="1,0!",
+      		shape=circle,
+      		style=filled,
+      		width=2];
+      	4	 [fillcolor="#7F7FFF",
+      		fixedsize=true,
+      		group=default,
+      		height=2,
+      		label="4: 9ca060c80d74",
+      		pin=true,
+      		pos="1,4!",
+      		shape=circle,
+      		style=filled,
+      		width=2];
+      	0 -> 4;
+      	5	 [fillcolor="#7F7FFF",
+      		fixedsize=true,
+      		group=default,
+      		height=2,
+      		label="5: dfd3a2d7691e",
+      		pin=true,
+      		pos="1,5!",
+      		shape=pentagon,
+      		style=filled,
+      		width=2];
+      	4 -> 5;
+      	6	 [fillcolor="#7F7FFF",
+      		fixedsize=true,
+      		group=default,
+      		height=2,
+      		label="6: 41aff6a42b75",
+      		pin=true,
+      		pos="1,6!",
+      		shape=pentagon,
+      		style=filled,
+      		width=2];
+      	5 -> 6;
+      }
+#endif
 
 Removing changesets
 ------------------------
@@ -305,6 +549,61 @@
   o  7e82d3f3c2cb (public): Monthy Python 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: 7e82d3f3c2cb",
+      		pin=true,
+      		pos="1,0!",
+      		shape=circle,
+      		style=filled,
+      		width=2];
+      	4	 [fillcolor="#7F7FFF",
+      		fixedsize=true,
+      		group=default,
+      		height=2,
+      		label="4: 9ca060c80d74",
+      		pin=true,
+      		pos="1,4!",
+      		shape=circle,
+      		style=filled,
+      		width=2];
+      	0 -> 4;
+      	5	 [fillcolor="#7F7FFF",
+      		fixedsize=true,
+      		group=default,
+      		height=2,
+      		label="5: dfd3a2d7691e",
+      		pin=true,
+      		pos="1,5!",
+      		shape=pentagon,
+      		style=filled,
+      		width=2];
+      	4 -> 5;
+      	6	 [fillcolor="#7F7FFF",
+      		fixedsize=true,
+      		group=default,
+      		height=2,
+      		label="6: 41aff6a42b75",
+      		pin=true,
+      		pos="1,6!",
+      		shape=pentagon,
+      		style=filled,
+      		width=2];
+      	5 -> 6;
+      }
+#endif
+
 Reordering changesets
 ------------------------
 
@@ -367,6 +666,83 @@
   o  7e82d3f3c2cb (public): Monthy Python 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: 7e82d3f3c2cb",
+      		pin=true,
+      		pos="1,0!",
+      		shape=circle,
+      		style=filled,
+      		width=2];
+      	4	 [fillcolor="#7F7FFF",
+      		fixedsize=true,
+      		group=default,
+      		height=2,
+      		label="4: 9ca060c80d74",
+      		pin=true,
+      		pos="1,4!",
+      		shape=circle,
+      		style=filled,
+      		width=2];
+      	0 -> 4;
+      	5	 [fillcolor="#7F7FFF",
+      		fixedsize=true,
+      		group=default,
+      		height=2,
+      		label="5: dfd3a2d7691e",
+      		pin=true,
+      		pos="1,5!",
+      		shape=pentagon,
+      		style=filled,
+      		width=2];
+      	4 -> 5;
+      	6	 [fillcolor="#7F7FFF",
+      		fixedsize=true,
+      		group=default,
+      		height=2,
+      		label="6: 41aff6a42b75",
+      		pin=true,
+      		pos="1,6!",
+      		shape=pentagon,
+      		style=filled,
+      		width=2];
+      	5 -> 6;
+      	8	 [fillcolor="#7F7FFF",
+      		fixedsize=true,
+      		group=default,
+      		height=2,
+      		label="8: 10b8aeaa8cc8",
+      		pin=true,
+      		pos="1,8!",
+      		shape=pentagon,
+      		style=filled,
+      		width=2];
+      	6 -> 8;
+      	10	 [fillcolor="#7F7FFF",
+      		fixedsize=true,
+      		group=default,
+      		height=2,
+      		label="10: a224f2a4fb9f",
+      		pin=true,
+      		pos="1,10!",
+      		shape=pentagon,
+      		style=filled,
+      		width=2];
+      	6 -> 10;
+      }
+#endif
+
 We have a new SPAM SPAM version without the bathroom stuff
 
   $ grep Spam shopping  # enough spam
@@ -429,7 +805,82 @@
   o  7e82d3f3c2cb (public): Monthy Python 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: 7e82d3f3c2cb",
+      		pin=true,
+      		pos="1,0!",
+      		shape=circle,
+      		style=filled,
+      		width=2];
+      	4	 [fillcolor="#7F7FFF",
+      		fixedsize=true,
+      		group=default,
+      		height=2,
+      		label="4: 9ca060c80d74",
+      		pin=true,
+      		pos="1,4!",
+      		shape=circle,
+      		style=filled,
+      		width=2];
+      	0 -> 4;
+      	5	 [fillcolor="#7F7FFF",
+      		fixedsize=true,
+      		group=default,
+      		height=2,
+      		label="5: dfd3a2d7691e",
+      		pin=true,
+      		pos="1,5!",
+      		shape=circle,
+      		style=filled,
+      		width=2];
+      	4 -> 5;
+      	6	 [fillcolor="#7F7FFF",
+      		fixedsize=true,
+      		group=default,
+      		height=2,
+      		label="6: 41aff6a42b75",
+      		pin=true,
+      		pos="1,6!",
+      		shape=circle,
+      		style=filled,
+      		width=2];
+      	5 -> 6;
+      	10	 [fillcolor="#7F7FFF",
+      		fixedsize=true,
+      		group=default,
+      		height=2,
+      		label="10: a224f2a4fb9f",
+      		pin=true,
+      		pos="1,10!",
+      		shape=circle,
+      		style=filled,
+      		width=2];
+      	6 -> 10;
+      	11	 [fillcolor="#7F7FFF",
+      		fixedsize=true,
+      		group=default,
+      		height=2,
+      		label="11: 75954b8cd933",
+      		pin=true,
+      		pos="1,11!",
+      		shape=pentagon,
+      		style=filled,
+      		width=2];
+      	10 -> 11;
+      }
+#endif
 
 Splitting change
 ------------------
@@ -640,6 +1091,83 @@
   o  7e82d3f3c2cb (public): Monthy Python 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: 7e82d3f3c2cb",
+      		pin=true,
+      		pos="1,0!",
+      		shape=circle,
+      		style=filled,
+      		width=2];
+      	4	 [fillcolor="#7F7FFF",
+      		fixedsize=true,
+      		group=default,
+      		height=2,
+      		label="4: 9ca060c80d74",
+      		pin=true,
+      		pos="1,4!",
+      		shape=circle,
+      		style=filled,
+      		width=2];
+      	0 -> 4;
+      	5	 [fillcolor="#7F7FFF",
+      		fixedsize=true,
+      		group=default,
+      		height=2,
+      		label="5: dfd3a2d7691e",
+      		pin=true,
+      		pos="1,5!",
+      		shape=circle,
+      		style=filled,
+      		width=2];
+      	4 -> 5;
+      	6	 [fillcolor="#7F7FFF",
+      		fixedsize=true,
+      		group=default,
+      		height=2,
+      		label="6: 41aff6a42b75",
+      		pin=true,
+      		pos="1,6!",
+      		shape=circle,
+      		style=filled,
+      		width=2];
+      	5 -> 6;
+      	10	 [fillcolor="#7F7FFF",
+      		fixedsize=true,
+      		group=default,
+      		height=2,
+      		label="10: a224f2a4fb9f",
+      		pin=true,
+      		pos="1,10!",
+      		shape=circle,
+      		style=filled,
+      		width=2];
+      	6 -> 10;
+      	12	 [fillcolor="#7F7FFF",
+      		fixedsize=true,
+      		group=default,
+      		height=2,
+      		label="12: a44c85f957d3",
+      		pin=true,
+      		pos="1,12!",
+      		shape=pentagon,
+      		style=filled,
+      		width=2];
+      	10 -> 12;
+      }
+#endif
+
 When we pull from remote again we get an unstable state!
 
   $ hg pull remote
@@ -674,6 +1202,109 @@
   o  7e82d3f3c2cb (public): Monthy Python 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: 7e82d3f3c2cb",
+      		pin=true,
+      		pos="1,0!",
+      		shape=circle,
+      		style=filled,
+      		width=2];
+      	4	 [fillcolor="#7F7FFF",
+      		fixedsize=true,
+      		group=default,
+      		height=2,
+      		label="4: 9ca060c80d74",
+      		pin=true,
+      		pos="1,4!",
+      		shape=circle,
+      		style=filled,
+      		width=2];
+      	0 -> 4;
+      	5	 [fillcolor="#7F7FFF",
+      		fixedsize=true,
+      		group=default,
+      		height=2,
+      		label="5: dfd3a2d7691e",
+      		pin=true,
+      		pos="1,5!",
+      		shape=circle,
+      		style=filled,
+      		width=2];
+      	4 -> 5;
+      	6	 [fillcolor="#7F7FFF",
+      		fixedsize=true,
+      		group=default,
+      		height=2,
+      		label="6: 41aff6a42b75",
+      		pin=true,
+      		pos="1,6!",
+      		shape=circle,
+      		style=filled,
+      		width=2];
+      	5 -> 6;
+      	10	 [fillcolor="#7F7FFF",
+      		fixedsize=true,
+      		group=default,
+      		height=2,
+      		label="10: a224f2a4fb9f",
+      		pin=true,
+      		pos="1,10!",
+      		shape=circle,
+      		style=filled,
+      		width=2];
+      	6 -> 10;
+      	11	 [fillcolor="#DFDFFF",
+      		fixedsize=true,
+      		group=default_alt,
+      		height=2,
+      		label="11: 75954b8cd933",
+      		pin=true,
+      		pos="2,11!",
+      		shape=pentagon,
+      		style="dotted, filled",
+      		width=2];
+      	10 -> 11;
+      	12	 [fillcolor="#7F7FFF",
+      		fixedsize=true,
+      		group=default,
+      		height=2,
+      		label="12: a44c85f957d3",
+      		pin=true,
+      		pos="1,12!",
+      		shape=pentagon,
+      		style=filled,
+      		width=2];
+      	10 -> 12;
+      	11 -> 12	 [arrowtail=dot,
+      		dir=back,
+      		minlen=0,
+      		style=dotted];
+      	13	 [fillcolor="#FF3535",
+      		fixedsize=true,
+      		group=default_alt,
+      		height=2,
+      		label="13: bf1b0d202029",
+      		pin=true,
+      		pos="2,13!",
+      		shape=pentagon,
+      		style=filled,
+      		width=2];
+      	11 -> 13;
+      }
+#endif
+
 The older version 75954b8cd933 never ceased to exist in the local repo. It was
 just hidden and excluded from pull and push.
 
@@ -726,6 +1357,94 @@
   o  7e82d3f3c2cb (public): Monthy Python 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: 7e82d3f3c2cb",
+      		pin=true,
+      		pos="1,0!",
+      		shape=circle,
+      		style=filled,
+      		width=2];
+      	4	 [fillcolor="#7F7FFF",
+      		fixedsize=true,
+      		group=default,
+      		height=2,
+      		label="4: 9ca060c80d74",
+      		pin=true,
+      		pos="1,4!",
+      		shape=circle,
+      		style=filled,
+      		width=2];
+      	0 -> 4;
+      	5	 [fillcolor="#7F7FFF",
+      		fixedsize=true,
+      		group=default,
+      		height=2,
+      		label="5: dfd3a2d7691e",
+      		pin=true,
+      		pos="1,5!",
+      		shape=circle,
+      		style=filled,
+      		width=2];
+      	4 -> 5;
+      	6	 [fillcolor="#7F7FFF",
+      		fixedsize=true,
+      		group=default,
+      		height=2,
+      		label="6: 41aff6a42b75",
+      		pin=true,
+      		pos="1,6!",
+      		shape=circle,
+      		style=filled,
+      		width=2];
+      	5 -> 6;
+      	10	 [fillcolor="#7F7FFF",
+      		fixedsize=true,
+      		group=default,
+      		height=2,
+      		label="10: a224f2a4fb9f",
+      		pin=true,
+      		pos="1,10!",
+      		shape=circle,
+      		style=filled,
+      		width=2];
+      	6 -> 10;
+      	12	 [fillcolor="#7F7FFF",
+      		fixedsize=true,
+      		group=default,
+      		height=2,
+      		label="12: a44c85f957d3",
+      		pin=true,
+      		pos="1,12!",
+      		shape=pentagon,
+      		style=filled,
+      		width=2];
+      	10 -> 12;
+      	14	 [fillcolor="#7F7FFF",
+      		fixedsize=true,
+      		group=default,
+      		height=2,
+      		label="14: ee942144f952",
+      		pin=true,
+      		pos="1,14!",
+      		shape=pentagon,
+      		style=filled,
+      		width=2];
+      	12 -> 14;
+      }
+#endif
+
 We can push this evolution to remote.
 
   $ hg push remote
@@ -797,6 +1516,105 @@
   o  7e82d3f3c2cb (public): Monthy Python 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: 7e82d3f3c2cb",
+      		pin=true,
+      		pos="1,0!",
+      		shape=circle,
+      		style=filled,
+      		width=2];
+      	4	 [fillcolor="#7F7FFF",
+      		fixedsize=true,
+      		group=default,
+      		height=2,
+      		label="4: 9ca060c80d74",
+      		pin=true,
+      		pos="1,4!",
+      		shape=circle,
+      		style=filled,
+      		width=2];
+      	0 -> 4;
+      	5	 [fillcolor="#7F7FFF",
+      		fixedsize=true,
+      		group=default,
+      		height=2,
+      		label="5: dfd3a2d7691e",
+      		pin=true,
+      		pos="1,5!",
+      		shape=circle,
+      		style=filled,
+      		width=2];
+      	4 -> 5;
+      	6	 [fillcolor="#7F7FFF",
+      		fixedsize=true,
+      		group=default,
+      		height=2,
+      		label="6: 41aff6a42b75",
+      		pin=true,
+      		pos="1,6!",
+      		shape=circle,
+      		style=filled,
+      		width=2];
+      	5 -> 6;
+      	10	 [fillcolor="#7F7FFF",
+      		fixedsize=true,
+      		group=default,
+      		height=2,
+      		label="10: a224f2a4fb9f",
+      		pin=true,
+      		pos="1,10!",
+      		shape=circle,
+      		style=filled,
+      		width=2];
+      	6 -> 10;
+      	12	 [fillcolor="#7F7FFF",
+      		fixedsize=true,
+      		group=default,
+      		height=2,
+      		label="12: a44c85f957d3",
+      		pin=true,
+      		pos="1,12!",
+      		shape=pentagon,
+      		style=filled,
+      		width=2];
+      	10 -> 12;
+      	14	 [fillcolor="#7F7FFF",
+      		fixedsize=true,
+      		group=default,
+      		height=2,
+      		label="14: ee942144f952",
+      		pin=true,
+      		pos="1,14!",
+      		shape=pentagon,
+      		style=filled,
+      		width=2];
+      	12 -> 14;
+      	15	 [fillcolor="#7F7FFF",
+      		fixedsize=true,
+      		group=default,
+      		height=2,
+      		label="15: 99f039c5ec9e",
+      		pin=true,
+      		pos="1,15!",
+      		shape=pentagon,
+      		style=filled,
+      		width=2];
+      	14 -> 15;
+      }
+#endif
+
 In the mean time I noticed you can't buy animals in a super market and I prune the animal changeset:
 
   $ hg prune ee942144f952
@@ -826,9 +1644,131 @@
   |
   o  7e82d3f3c2cb (public): Monthy Python 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: 7e82d3f3c2cb",
+      		pin=true,
+      		pos="1,0!",
+      		shape=circle,
+      		style=filled,
+      		width=2];
+      	4	 [fillcolor="#7F7FFF",
+      		fixedsize=true,
+      		group=default,
+      		height=2,
+      		label="4: 9ca060c80d74",
+      		pin=true,
+      		pos="1,4!",
+      		shape=circle,
+      		style=filled,
+      		width=2];
+      	0 -> 4;
+      	5	 [fillcolor="#7F7FFF",
+      		fixedsize=true,
+      		group=default,
+      		height=2,
+      		label="5: dfd3a2d7691e",
+      		pin=true,
+      		pos="1,5!",
+      		shape=circle,
+      		style=filled,
+      		width=2];
+      	4 -> 5;
+      	6	 [fillcolor="#7F7FFF",
+      		fixedsize=true,
+      		group=default,
+      		height=2,
+      		label="6: 41aff6a42b75",
+      		pin=true,
+      		pos="1,6!",
+      		shape=circle,
+      		style=filled,
+      		width=2];
+      	5 -> 6;
+      	10	 [fillcolor="#7F7FFF",
+      		fixedsize=true,
+      		group=default,
+      		height=2,
+      		label="10: a224f2a4fb9f",
+      		pin=true,
+      		pos="1,10!",
+      		shape=circle,
+      		style=filled,
+      		width=2];
+      	6 -> 10;
+      	12	 [fillcolor="#7F7FFF",
+      		fixedsize=true,
+      		group=default,
+      		height=2,
+      		label="12: a44c85f957d3",
+      		pin=true,
+      		pos="1,12!",
+      		shape=pentagon,
+      		style=filled,
+      		width=2];
+      	10 -> 12;
+      	14	 [fillcolor="#DFDFFF",
+      		fixedsize=true,
+      		group=default_alt,
+      		height=2,
+      		label="14: ee942144f952",
+      		pin=true,
+      		pos="2,14!",
+      		shape=pentagon,
+      		style="dotted, filled",
+      		width=2];
+      	12 -> 14;
+      	15	 [fillcolor="#FF3535",
+      		fixedsize=true,
+      		group=default_alt,
+      		height=2,
+      		label="15: 99f039c5ec9e",
+      		pin=true,
+      		pos="2,15!",
+      		shape=pentagon,
+      		style=filled,
+      		width=2];
+      	14 -> 15;
+      }
+#endif
+
   $ hg log -r "orphan()"
   99f039c5ec9e (draft): SPAM SPAM SPAM
 
+#if docgraph-ext
+  $ hg docgraph -r "orphan()" --sphinx-directive --rankdir LR #rest-ignore
+  .. graphviz::
+  
+      strict digraph  {
+      	graph [rankdir=LR,
+      		splines=polyline
+      	];
+      	node [label="\N"];
+      	15	 [fillcolor="#FF3535",
+      		fixedsize=true,
+      		group=default_alt,
+      		height=2,
+      		label="15: 99f039c5ec9e",
+      		pin=true,
+      		pos="1,15!",
+      		shape=pentagon,
+      		style=filled,
+      		width=2];
+      }
+#endif
+
   $ hg evolve
   move:[15] SPAM SPAM SPAM
   atop:[12] bathroom stuff
@@ -850,6 +1790,95 @@
   |
   o  7e82d3f3c2cb (public): Monthy Python 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: 7e82d3f3c2cb",
+      		pin=true,
+      		pos="1,0!",
+      		shape=circle,
+      		style=filled,
+      		width=2];
+      	4	 [fillcolor="#7F7FFF",
+      		fixedsize=true,
+      		group=default,
+      		height=2,
+      		label="4: 9ca060c80d74",
+      		pin=true,
+      		pos="1,4!",
+      		shape=circle,
+      		style=filled,
+      		width=2];
+      	0 -> 4;
+      	5	 [fillcolor="#7F7FFF",
+      		fixedsize=true,
+      		group=default,
+      		height=2,
+      		label="5: dfd3a2d7691e",
+      		pin=true,
+      		pos="1,5!",
+      		shape=circle,
+      		style=filled,
+      		width=2];
+      	4 -> 5;
+      	6	 [fillcolor="#7F7FFF",
+      		fixedsize=true,
+      		group=default,
+      		height=2,
+      		label="6: 41aff6a42b75",
+      		pin=true,
+      		pos="1,6!",
+      		shape=circle,
+      		style=filled,
+      		width=2];
+      	5 -> 6;
+      	10	 [fillcolor="#7F7FFF",
+      		fixedsize=true,
+      		group=default,
+      		height=2,
+      		label="10: a224f2a4fb9f",
+      		pin=true,
+      		pos="1,10!",
+      		shape=circle,
+      		style=filled,
+      		width=2];
+      	6 -> 10;
+      	12	 [fillcolor="#7F7FFF",
+      		fixedsize=true,
+      		group=default,
+      		height=2,
+      		label="12: a44c85f957d3",
+      		pin=true,
+      		pos="1,12!",
+      		shape=pentagon,
+      		style=filled,
+      		width=2];
+      	10 -> 12;
+      	16	 [fillcolor="#7F7FFF",
+      		fixedsize=true,
+      		group=default,
+      		height=2,
+      		label="16: 40aa40daeefb",
+      		pin=true,
+      		pos="1,16!",
+      		shape=pentagon,
+      		style=filled,
+      		width=2];
+      	12 -> 16;
+      }
+#endif
+
 Handling Divergent amend
 ----------------------------------------------