/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: John Arbash Meinel
  • Date: 2007-05-31 20:29:04 UTC
  • mto: This revision was merged to the branch mainline in revision 2499.
  • Revision ID: john@arbash-meinel.com-20070531202904-34h7ygudo7qq9ha1
Update the code so that symlinks aren't cached at incorrect times
and fix the tests so that they don't assume files and symlinks
get cached even when the timestamp doesn't declare them 'safe'.

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