aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs/repository-structure.dot41
-rw-r--r--docs/repository-structure.pdfbin0 -> 2828 bytes
-rw-r--r--docs/repository-structure.txt3
3 files changed, 44 insertions, 0 deletions
diff --git a/docs/repository-structure.dot b/docs/repository-structure.dot
new file mode 100644
index 00000000..a16c424a
--- /dev/null
+++ b/docs/repository-structure.dot
@@ -0,0 +1,41 @@
+// $Id$
+//
+// Pictures to go with repository-structure.txt. First picture is rekeying b with
+// a g(ski)/g(ski)/g(ski).cer model, second is with stable meaningless identifiers.
+//
+// Render thusly:
+//
+// dot -Tps2 repository-structure.dot | ps2pdf - repository-structure.pdf
+
+graph rekeying_ski {
+ rotate=90; size="11,8.5"; splines=true; ratio=fill;
+ node [ shape=box ];
+ a [ color=black, label="rsync://host/foo/g(ski(a)).cer" ]
+ b [ color=red, label="rsync://host/foo/g(ski(a))/g(ski(b)).cer" ]
+ c [ color=red, label="rsync://host/foo/g(ski(a))/g(ski(b))/g(ski(c)).cer" ]
+ d [ color=red, label="rsync://host/foo/g(ski(a))/g(ski(b))/g(ski(c))/g(ski(d)).cer" ]
+ a -- b [ color=red ];
+ b -- c [ color=red ];
+ c -- d [ color=red ];
+ b_ [ color=green, label="rsync://host/foo/g(ski(a))/g(ski(b')).cer" ]
+ c_ [ color=green, label="rsync://host/foo/g(ski(a))/g(ski(b'))/g(ski(c)).cer" ]
+ d_ [ color=green, label="rsync://host/foo/g(ski(a))/g(ski(b'))/g(ski(c))/g(ski(d)).cer" ]
+ a -- b_ [ color=green ];
+ b_ -- c_ [ color=green ];
+ c_ -- d_ [ color=green ];
+}
+
+graph rekeying_gensym {
+ rotate=90; size="11,8.5"; splines=true; ratio=fill;
+ node [ shape=box ];
+ a [ color=black, label="rsync://host/foo/g(ski(a)).cer" ]
+ b [ color=red, label="rsync://host/foo/G001/g(ski(b)).cer" ]
+ c [ color=black, label="rsync://host/foo/G001/G002/g(ski(c)).cer" ]
+ d [ color=black, label="rsync://host/foo/G001/G002/G003/g(ski(d)).cer" ]
+ a -- b [ color=red ];
+ b -- c [ color=red ];
+ c -- d [ color=black ];
+ b_ [ color=green, label="rsync://host/foo/G001/g(ski(b')).cer" ]
+ a -- b_ [ color=green ];
+ b_ -- c [ color=green ];
+}
diff --git a/docs/repository-structure.pdf b/docs/repository-structure.pdf
new file mode 100644
index 00000000..0fcc7615
--- /dev/null
+++ b/docs/repository-structure.pdf
Binary files differ
diff --git a/docs/repository-structure.txt b/docs/repository-structure.txt
index 9c4566ad..9af2b4ea 100644
--- a/docs/repository-structure.txt
+++ b/docs/repository-structure.txt
@@ -76,3 +76,6 @@ reusing keys (dunno), we'd need a naming scheme like:
For those unfamiliar with the notation (borrowed from Lisp): g0001 etc
are just "gensym" symbols, ie, the output of some function whose sole
purpose is to generate meaningless symbols.
+
+See repository-structure.pdf (source in repository-structure.dot) for
+an illustration of the problem and solution.