Skip to content

Instantly share code, notes, and snippets.

@RockyRoad29
Last active December 31, 2017 20:02
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save RockyRoad29/70727e2a0411223d1cf822876f465d9b to your computer and use it in GitHub Desktop.
Save RockyRoad29/70727e2a0411223d1cf822876f465d9b to your computer and use it in GitHub Desktop.
Draw a graph of multiple instances of same project
/*
Did you ever hatively make different checkouts of the same project
to test a feature, describe a bug, or whatever reason, and then forget to clean up or tidy
them afterwards ? After a while, it could get difficult to find your way ...
This example graph could help me a lot to visualize which is what, what could cause problems
when upgrading, and to correct things.
It should be easy enough to use as a base to describe your own data.
*/
digraph G {
subgraph cluster_gh { // remote urls
label = "GitHub";
node [shape=box, style=filled];
syl20;RR29;
{ // branches
syl20 -> syl20_master [label="master"];
syl20 -> syl20_dev [label="develop"];
RR29 -> RR29_master [label="master"];
}
{ // commits
node [shape=record];
edge [weight=1];
_c277 [label="{#c277|tag:0.200.7|date:TODO}"];
syl20_master -> _c277 [label="release 0.200.7"];
_0c8a [label="{#0c8a|date:TODO}"];
syl20_dev -> _0c8a [label="HEAD"];
_2fbd [label="{#2fbd|date:TODO}"];
RR29_master -> _2fbd [label="fix org contrib"];
}
}
subgraph cluster_dennet{ // instances ( local urls)
label = "Dennet";
d1 [label="~/.emacs.d1"];
d2 [label="~/.emacs.d2"];
d3 [label="~/.emacs.d3"];
d4 [label="~/.emacs4"];
dev [label="~/.emacs.dev.d"];
node [shape=ellipse]
{// symlinks
node [style=dashed];
d [label="~/.emacs.d"];
edge [label = "symlink-to", weight=10, arrowhead=empty, style=dotted];
d->dev;
}
{ // checkouts
edge [weight=5];
{d1; d2; d4} -> _c277;
dev -> _0c8a;
d2 -> _2fbd;
}
}
{ // url names
edge [style=dashed];
edge [label="checkversion"];
{d;d1;dev} -> syl20 [color=green,fontcolor=green];
edge [label="origin"];
{d; dev} -> d [color=red,fontcolor=red];
{d2} -> d1;
{d1; d3} -> syl20 [color=blue,fontcolor=blue];
edge [label="rr"];
{d1} -> RR29 [color=orange,fontcolor=orange];
edge [label="gh"];
{d2} -> RR29 [color=orange,fontcolor=orange];
edge [label="upstream"];
{d1} -> syl20;
edge [label=""];
}
}
/*
Copyright (c) 2017 RockyRoad29 , some rights reserved
Distributed under License CC-BY-NC-SA 4.0
*/
@RockyRoad29
Copy link
Author

Once compiled with dot, it gives this:
instances
I might post my corrected layout later, but it is not my real point here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment