[MERGE] Review feedback on hash trie inventories, and describe radix tree inventories, plus some details on hash trie implementation.
Vincent Ladeuil
v.ladeuil+lp at free.fr
Thu Aug 28 15:03:38 BST 2008
>>>>> "robert" == Robert Collins <robertc at robertcollins.net> writes:
<snip/>
robert> Canonical form isn't delta based at all;
May be I mispoked then, what I meant is that the full
representation is stored as fragments on disk somehow. Accessing
all the fragments may have a cost. This cost can be reduced by
putting all the fragments at the same place, eventually
*duplicating* the same information. As long as the representation
is canonical this should not be a problem.
robert> I think the penny hasn't quite dropped all the way
robert> into the slot :). Also note that we're not using a
robert> hash partition, there are no delta representations at
robert> all. Its history independent (which is one of the
robert> goals) - anything that ever writes deltas isn't
robert> history independent.
Hmm. Just to be clear, in the example you gave:
robert> Ok, so - we start at the root node, and deserialise
robert> it. This gives us a list of child node CHK's, as
robert> pointers in a tree. e.g.
robert> '0' : HASH1
robert> '1' : HASH2
robert> '2' : HASH3
robert> We then read the other root node, which might give us:
robert> '0' : HASH1
robert> '1' : HASH4
robert> '2' : HASH5
Is the tree associated with HASH0 stored once and shared between
the two trees or stored for each tree ?
Vincent
More information about the bazaar
mailing list