Comment 45 for bug 390563

Revision history for this message
Aaron Bentley (abentley) wrote : Re: [Bug 390563] Re: absent factory exception from smart server when streaming 2a stacked branches

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

John A Meinel wrote:
>>> Thus even though we don't have the parent
>>> inventory later when doing "streaming fetch" we don't try to send more
>>> data then we have available because it just wasn't referenced.
>> If you are suggesting that installing an inventory requires installing
>> all the texts it references, that would require doing it on the client
>> side, because storing all that in the bundle is pointless waste.
>
> Assume you have revisions a, b, c
>
> In the base repository you have a & b
> in the stacked you have c
>
> All revisions have texts foo, bar, baz
> 'c' only modifies baz
>
> At that point, we need to be able to create a fulltext for the inventory
> at c. Either via
> 1) A fulltext of c
> or
> 2) A fulltext of a parent, and a delta chain including c.
>
> At that point, the stacked branch has 2 options:
>
> 1) If it doesn't have inventory for b, it must have the file content for
> foo, bar and baz

Why?

> 2) If it does have inventory b, it only needs the file content for baz.
>
> The basic requirement is that a stacked repository should be independent
> of its fallback for the case of streaming fetch. So either we
>
> 1) Insert a parent inventory so that we can determine that someone who
> has revision 'b' will already have these file keys
> or

Why do we care about that? Why can't we just send the keys we have and
let the client worry about getting the keys we didn't send?

> 2) Have the file keys ourselves so that we can ensure someone fetching
> 'c' has everything they need.
>
> Does that make sense?

Not yet.

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

iEYEARECAAYFAkpf2bwACgkQ0F+nu1YWqI3rigCeKKGJVBz7PJvizKG3RviVpFXv
8vAAn1rhpas7k39tARvv1HzdTFfE2RVH
=oZpW
-----END PGP SIGNATURE-----