/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/repository.txt

  • Committer: Martin Pool
  • Date: 2007-10-24 01:52:12 UTC
  • mto: This revision was merged to the branch mainline in revision 2933.
  • Revision ID: mbp@sourcefrog.net-20071024015212-3m7lguxlh48028a3
Initial pack format documentation

Show diffs side-by-side

added added

removed removed

Lines of Context:
300
300
Choosing compression/delta support
301
301
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
302
302
 
303
 
Sketched notes on packs
304
 
~~~~~~~~~~~~~~~~~~~~~~~
305
 
 
306
 
 fast pull:
307
 
 - query and pull revs
308
 
 - query and pull references
309
 
 - query and pull further references
310
 
 - etc
311
 
 - for now:
312
 
 - query and pull revs and sigs
313
 
 - query and pull inventory with cache on
314
 
 - query and pull all of texts
315
 
 
316
 
 pack:
317
 
  - two modes - complete and incremental
318
 
  - complete:
319
 
    - grab all revisions, regenerate deltas, etc.
320
 
    - may want data grouping by recreation not by
321
 
      origin. i.e. 'tip' pack has everything to construct
322
 
      revision -1, older packs have data that is not needed
323
 
      for current revisions.
324
 
 
325
 
  - incremental:
326
 
    - leave most data untouched most of the time
327
 
    - therefore can't really promote old data to be current.
328
 
    - possible approach:
329
 
      upper number of packs = sum of digits in the commit count
330
 
      so we need to combine packs whenever a commit rolls over a power
331
 
      of 10 - at most once every 10 commit, possibly much less.
332
 
      exponential backoff of commits per pack file. So the number of
333
 
      revisions per pack is log10(revisions in repository).
334
 
      up to 10 commits - 1 revision per pack
335
 
      up to 100 commits - 2 revisions per pack
336
 
      10 commits - 1 packs, 100 commits - 2 packs
337
 
 
338
 
      - count number of 1-revision packs, if 10 group them
339
 
        into one larger pack.
340
 
      - count number of 10-unit packs. if 10, group those 
341
 
        into one larger pack.
342
 
      - etc
343
 
      this approach reads 10 entire packs every 10 commits,
344
 
      100 every 100, 1000 every 1000
345
 
 
346
303
Caching and writeing of data
347
304
============================
348
305