[MERGE][RFC] Compact origin information for *.knit (Draft)
Dmitry Vasiliev
lists at hlabs.spb.ru
Thu Dec 7 13:47:58 GMT 2006
The attached bundle is a draft implementation of my proposal described in
https://lists.ubuntu.com/archives/bazaar-ng/2006q4/019626.html
Brief overview of the changes:
- Added tests for Knit(Annotated|Plain)Factory.
- Some optimizations/fixes for Knit(Annotated|Plain)Factory methods. Some
changes are the same as proposed by John in
https://lists.ubuntu.com/archives/bazaar-ng/2006q4/020144.html (optimized
parse_line_delta() and fixed parse_line_delta_iter()).
- Added support for compact origin information in *.knit files (details
described in the proposal).
- Added new repository format.
Open questions:
- After upgrade to the new format I've got the following results:
$ find .bzr/repository/knits/ -name '*.knit' -exec cat '{}' \; | wc -c
17468574
$ find .bzr.backup/repository/knits/ -name '*.knit' -exec cat '{}' \; | wc -c
18178308
The changes are not so big and moreover some new *.knit files are even bigger
than the old ones (because gzip can't compress them better). So currently I'm
even not sure about the proposed idea. Maybe I just need to leave only the
tests/optimizations/fixes? What do you think?
- It seems Knit1ToKnit1Compact class (or maybe even all the upgrade process)
can be optimized in some ways. For example some fulltext/fulltext sequences can
be converted into fulltext/line-delta sequences. I haven't dug into this yet.
--
Dmitry Vasiliev (dima at hlabs.spb.ru)
http://hlabs.spb.ru
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: compact_knit_draft.bundle
Url: https://lists.ubuntu.com/archives/bazaar/attachments/20061207/39bae4cb/attachment.diff
More information about the bazaar
mailing list