get_record_stream(include_delta_closure=???) wrong meaning
Robert Collins
robertc at robertcollins.net
Mon Jun 30 23:40:58 BST 2008
On Mon, 2008-06-30 at 13:15 -0500, John Arbash Meinel wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> While trying to figure out how the logic was working I came across this
> flag.
>
> The docstring says:
> ~ :param include_delta_closure: If True then the closure across any
> ~ compression parents will be included (in the opaque data).
>
>
> However, when looking at the implementations and callers, they seem to
> actually mean "as_fulltexts=True".
>
> Specifically, 'fetch()' passes False, because it knows it only wants the
> deltas.
>
> The Knit data converters use True, as does iter_files_bytes. And when
> you look at the implementation:
>
> ~ if include_delta_closure:
> ~ # XXX: get_content_maps performs its own index queries;
> allow state
> ~ # to be passed in.
> ~ text_map, _ = self._get_content_maps(present_keys)
> ~ for key in present_keys:
> ~ yield FulltextContentFactory(key, parent_map[key], None,
> ~ ''.join(text_map[key]))
>
>
> ^- This does return the "delta closure" deltas in the data stream, it
> unpacks everything into fulltexts and returns that.
>
> Which is okay, considering it is actually what we want, and it unpacks
> everything in a proper order (such that it performs well, doesn't have
> to double extract things, etc.).
>
> I'm mostly just arguing that the parameter is misleading, and it should
> be something like "return_fulltexts = True" or something else like it.
It could be renamed that yes.
> This may be something that Robert was thinking in terms of a Remote api,
> where it would return the deltas, and then the local abstraction might
> turn them back into fulltexts. But it seems like it would be better to
> request what you actually are asking for.
I don't know that anyone _cares_ to get the knit hunks when they want
fulltexts; but at least in my initial concept it was optional;
implementation is lacking.
I'm happy with renaming it.
-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/20080701/c3f6e428/attachment.pgp
More information about the bazaar
mailing list