~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to doc/developers/inventory.txt

  • Committer: Andrew Bennetts
  • Date: 2010-10-13 00:26:41 UTC
  • mto: This revision was merged to the branch mainline in revision 5498.
  • Revision ID: andrew.bennetts@canonical.com-20101013002641-9tlh9k89mlj1666m
Keep docs-plain working.

Show diffs side-by-side

added added

removed removed

Lines of Context:
26
26
=============
27
27
 
28
28
There are several variants of serialised tree shape in use by bzr. To date
29
 
these have been mostly XML-based, though plugins have offered non-XML versions.
 
29
these have been mostly xml based, though plugins have offered non-xml versions.
30
30
 
31
31
dirstate
32
32
--------
35
35
for the working tree and one for each parent tree, interleaved to allow
36
36
efficient diff and status operations.
37
37
 
38
 
XML
 
38
xml
39
39
---
40
40
 
41
 
All the XML serialized forms write to and read from a single byte string, whose
 
41
All the xml serialized forms write to and read from a single byte string, whose
42
42
hash is then the inventory validator for the commit object.
43
43
 
44
44
 
82
82
Current situation
83
83
-----------------
84
84
 
85
 
The XML-based implementation we use today layers the inventory as a bytestring
 
85
The xml based implementation we use today layers the inventory as a bytestring
86
86
which is stored under a single key; the bytestring is then compressed as a
87
87
delta against the bytestring of its left hand parent by the knit code.
88
88
 
89
89
Gap analysis:
90
90
 
91
91
 1. Succeeds
92
 
 2. Fails - generating a new XML representation needs full tree data.
 
92
 2. Fails - generating a new xml representation needs full tree data.
93
93
 3. Succeeds - the inventory layer accesses the bytestring, which is
94
94
    deterministic
95
95
 4. Fails - we have to reconstruct both inventories as trees and then delta