~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to doc/developers/inventory.txt

  • Committer: Patch Queue Manager
  • Date: 2016-02-01 19:13:13 UTC
  • mfrom: (6614.2.2 trunk)
  • Revision ID: pqm@pqm.ubuntu.com-20160201191313-wdfvmfff1djde6oq
(vila) Release 2.7.0 (Vincent Ladeuil)

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