Comment 2 for bug 205156

Revision history for this message
Robert Collins (lifeless) wrote : Re: [Bug 205156] Re: KnitRepository.insert_data_stream() copies data in improper order

On Sun, 2008-03-23 at 17:32 +0000, John A Meinel wrote:
> Someone should confirm the output stream sequence. My cursory double
> check seems to say that the data stream sent by the server should be
> reasonable.
>
> Specifically, get_data_stream seems to be layered on top of
> Repository.item_keys_introduced_by() whose default implementation seems
> to stream the inventories after the file texts.
>
> However, we still have some real-world cases where it seems to have
> streamed in the wrong order.
>
> My quick test of creating a --knit with bzr.dev, and then committing a
> couple and manually stepping the 'get_data_stream()' iterator also says
> that we copy file texts first.
>
> So we still need to figure out how ^C during a push could copy the
> inventories, but not the file texts.

I suggest for the short term we assert in the smart server that the
output is correctly ordered. However in the long term we want pack to
pack operations to stream by packs not by fileid so this is
inappropriate; instead we need a capability flag from the client to say
that its ok not to be ordered.
-Rob
--
GPG key available at: <http://www.robertcollins.net/keys.txt>.