From d1b975ae1c69ee6e1654f12f9be5abc829f468da Mon Sep 17 00:00:00 2001 From: Stefano Zacchiroli <zack@upsilon.cc> Date: Fri, 9 Feb 2018 16:50:24 +0100 Subject: [PATCH] docs: add snapshot, branches, and visits to Merkle DAG diagram --- docs/images/swh-merkle-dag.dia | Bin 5482 -> 8072 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/docs/images/swh-merkle-dag.dia b/docs/images/swh-merkle-dag.dia index 3e4ddc9106078a68c83869a4bf98cbf26a2d90ae..00edd643bf62df4f65766dcfaaf96be5611ea25b 100644 GIT binary patch literal 8072 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 literal 5482 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 -- GitLab