[RFC] Cheap re-pack?

Robert Collins robertc at robertcollins.net
Thu Sep 6 21:16:40 BST 2007


On Thu, 2007-09-06 at 07:51 -0400, Aaron Bentley wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> Hi all,
> 
> With the upcoming pack format, a re-pack is scheduled for every 10
> commits. 

An autopack will occur every 10 commits if you aren't pulling or
merging. If you are pulling or merging it will tend to be less often as
you will already have higher density packs.

>  AIUI, that's an expensive operation, because it requires
> generating deltas for 10 commits at re-pack time.

autopack preserves the existing deltas and does not regenerate them.
Autopack scales with the amount of data that needs to be moved - and
doing that operation on all of bzr.dev takes 30 seconds on my laptop.
(So the incremental one is a small fraction of a second).

Its probably not clearly documented, but there are intended to be two
pack operations eventually. 'autopack' and 'manual pack'. Currently
'manual pack' from the command line or library api just triggers the
'autopack' code.

Autopack is intended to be cheap as possible, its only reason for
existence is to cap the latency generated by having multiple pack files
and their associated indices.

manual pack is intended to regenerate deltas and so forth to provide
global optimisations, apply better delta logic we may have come up with
etc etc.

-Rob

-- 
GPG key available at: <http://www.robertcollins.net/keys.txt>.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20070907/85a61f4b/attachment-0001.pgp 


More information about the bazaar mailing list