1.0a bundles now convert bzr.dev

Aaron Bentley aaron.bentley at utoronto.ca
Wed Jun 20 15:57:22 BST 2007


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi all,

I've succeeded in adding support for the bzr.dev repository to the new
bundles.

This turned out to be a challenge, because bzr.dev has some internal
inconsistencies-- the knits refer to versions that are not listed in the
inventory.  These inconsistencies appear to stem from when we converted
from flat-file storage to weaves.  Robert Collins and I have discussed
repairing bzr.dev.

A complete bundle for bzr.dev takes about 17M.  That includes the
"prelude" patch.  Such bundles can be produced in about 4 minutes on
relatively modern hardware.  The largest cost (64%) is
SequenceMatcher.get_matching_blocks.  Since that is used to reduce the
space usage, it is a classic space-time tradeoff.

knit.get_line_list is the cause of 9.18% of compute time.

It is conceivable that future formats could include multi-parent diffs
for every revision of a file.  That would reduce the generation cost
dramatically.  For current formats, further optimization of
get_line_list or get_blocks would be beneficial.  Caching or even
memoization would also be possible.

Anyhow, now that bundles pass the bzr.dev torture test, I'll be working
on missing functionality.

Aaron
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFGeUBS0F+nu1YWqI0RAtSpAKCFMOwMQCVfr2vp4rEoY37+TJr/CwCghrV/
rzmpycEKKsbOhWwhhgF+BFw=
=lL+A
-----END PGP SIGNATURE-----



More information about the bazaar mailing list