/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to doc/developers/bundle-creation.txt

  • Committer: Canonical.com Patch Queue Manager
  • Date: 2009-07-20 08:56:45 UTC
  • mfrom: (4526.9.23 apply-inventory-delta)
  • Revision ID: pqm@pqm.ubuntu.com-20090720085645-54mtgybxua0yx6hw
(robertc) Add checks for inventory deltas which try to ensure that
        deltas that are not an exact fit are not applied. (Robert
        Collins, bug 397705, bug 367633)

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
Bundle Creation
 
2
===============
 
3
1. Find common ancestor [O(a)] **O(b)**
 
4
2. Emit bundle [O(a)] **O(b) O(h)**
 
5
 
 
6
  Per revision
 
7
 
 
8
  1. emit metadata O(1)
 
9
  2. emit changes for files
 
10
 
 
11
    1. find changed files [O(c)] **O(f)**
 
12
    2. emit file metadata O(d)
 
13
    3. emit diff [O(e * e) * O(f) + O(h)] **O(i)**
 
14
    4. base64 encode O(g)
 
15
 
 
16
3. **emit overal diff (or maybe do interdiff) O(e * e) * O(f)**
 
17
 
 
18
:a: nodes in revision graph
 
19
:b: number of descendants of common ancestor
 
20
:c: number of files in the tree
 
21
:d: length of metadata
 
22
:e: number of lines
 
23
:f: number of modified files
 
24
:g: length of diff
 
25
:h: nodes in knit graph of modified files
 
26
:i: length of stored diff
 
27
 
 
28
Needs
 
29
-----
 
30
- Improved common ancestor algorithm
 
31
- Access to partial revision graph proportional to relevant revisions
 
32
- Access to changed files proportional to number of change files and
 
33
  intervening revisions
 
34
- Use knit deltas without recomputing
 
35
- Access to knit deltas in O(1) time
 
36
- Access to snapshots in O(1) amortized time
 
37
- All snapshots must have knit deltas