Julian Foad <julianf...@btopenworld.com> writes:

> Philip Martin wrote:

>> [Conceivably
>> the RA implementation of the current Ev2 API could deltify the list sent
>> back by caching the list received but that's horrible and doesn't solve
>> the problem of getting the list in the first place.]

> Why is this different from the delta-transmission of file content? 
> The principle of Ev2 is to describe changes in terms of "the new state
> is Y" at the API level, and to leave deltification to be arranged
> between the producer implementation and the consumer implementation. 
> Why cannot properties be handled this way, and why cannot (or should
> not) children-lists be handled this way?

For this operation 

  svn cp http://host/repo/trunk ^/branches/foo

I don't see how to avoid the having the server transmit the existing
children-list to the client.  Ev2 has introduced that inefficiency.  I
can see that with caching we could implement some sort of delta for
sending the children-list back to the server, but even that looks ugly.
Does the RA layer cache every children-list received?  Does the client
provide a callback for the RA layer to cache and retrieve
children-lists.

A cheap branch operation which transfers a few dozen bytes in Ev1 (plus
a few thousand bytes for HTTP headers) will have to transfer Megabytes
with Ev2.

-- 
Philip Martin | Subversion Committer
WANdisco // *Non-Stop Data*

Reply via email to