packs and knits
Robert Collins
robertc at robertcollins.net
Tue Aug 7 05:38:03 BST 2007
On Tue, 2007-08-07 at 00:07 -0400, Aaron Bentley wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Robert Collins wrote:
> > Now, we don't want derivable data in the packs *eventually*, but I think
> > a good start would be to get to the point of having optional indices.
> > Then we can work on making semi derived data cleanly rederivable.
>
> It seems to me that making derivable data *optional* is useful, but some
> derivable data is, nonetheless, expensive to derive. I think that
> discarding such calculations in all cases would be a mistake.
Oh, I agree. Nevertheless, at the moment we have no choice.
> > Now, currently there can only be one representation of a knit delta to
> > construct a given text
>
> If you mean that records can only be in knit delta format, that is
> correct.
No.
> If you mean that, in knit delta format, there is only one way
> to represent the delta between two texts, that is not true in the
> general case. Different approaches to sequence matching will produce
> different deltas most of the time.
This is true. But its also not what I mean. What I mean is that we only
have one record in knits today that is named by a given revision. e.g.
for fileid FOO, to get revision BAR, we *either* have a delta against
the file-graph left most parent of BAR, or a fulltext. We never have
other things like:
a delta against a different text
a delta stored without annotations
or ....
> > so it makes sense to me to name the record
> > ('text', fileid, revisionid). (for a revision knit that would be
> > ('revision', revisionid, etc) - just namespacing.
>
> How would you name a fulltext?
('text', fileid, revisionid). This is not necessarily the final scheme -
I'm trying to change one variable at a time at the moment.
> > If this makes sense I'll put a patch together to do a Pack version bump
> > and API bump to allow tuple based naming.
>
> I think tuple-based naming would be very nice, and I wish I'd had it for
> Bundle format 4.
>
> How will your proposed bumps affect Bundles?
0.18 has your bundle format 4 right? So, there will be a new bundle
signature for bundles with tuple based names. We may choose to write the
old signature out when the name is compatibly encoded with the original
bundle code.
I plan to change the API across the code base, possibly deprecating and
introducing a new method - I'll look closely at options and names when I
tackle this.
Thanks for the feedback.
-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/20070807/bbd6d7d7/attachment-0001.pgp
More information about the bazaar
mailing list