[MERGE][1.14][#354036] Make clients push enough data to stacked repos for that repo to calculate inventory deltas
Andrew Bennetts
andrew.bennetts at canonical.com
Tue Apr 14 02:48:19 BST 2009
This is part of the fix for
<https://bugs.edge.launchpad.net/bzr/+bug/354036>. It fixes two fetch code
paths (generic RepoFetcher, and also InterDifferingSerializer) when dealing
with stacked targets to transfer parent inventories of revisions at the
stacking boundary. In other words, it makes sure that for every revision
added to the target, that the corresponding inventory delta can be
calculated without reference to any fallback repositories.
This is necessary for the HPSS Repository.get_stream RPC to function
correctly (and in general for anything that needs to know if it has a
complete set of data to represent the delta for a revision).
So, this patch will avoid the “Error received from smart server: ('error',
"'AbsentContentFactory' object has no attribute 'get_bytes_as'")” problem,
even when pushing to a 1.13 server, or when pushing via a non-smart
protocol.
I will follow-up with another patch to add corresponding logic on the
StreamSink, which will cause existing 1.13 (and 1.14rc1) smart clients to
operate correctly despite not being aware of this problem.
I think we should cherry pick these fixes for 1.14, and also for a 1.13.2
(and make sure that fix gets into Jaunty).
-Andrew.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: stacking-inventory-4266.patch
Type: text/x-diff
Size: 21729 bytes
Desc: not available
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20090414/bb9e3f44/attachment-0001.bin
More information about the bazaar
mailing list