[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Status of ra_serf

From: C. Michael Pilato <cmpilato_at_collab.net>
Date: 2006-02-17 16:42:55 CET

Justin Erenkrantz wrote:
> On 2/17/06, C. Michael Pilato <cmpilato@collab.net> wrote:
>
>>I'm not really sure how the whole pipelining thing works, but we (I)
>>made fixes to Subversion's diff/merge code which caches the whole REPORT
>>response to disk before processing it and doing the GET thang. I did
>
>
> That's part of the problem I have - this is bad for the case where you
> do not want full-texts. The client is sitting around waiting for a
> response...Can we skip writing the REPORT response to disk if we're
> not doing full-text?

I admit that my fix violated the knowledge barriers between libraries.
I had three options:

  (1) Always spool all REPORT responses -- this was inefficient for
      checkouts, updates, switches, etc.

  (2) Give the caller the option of spooling the responses -- I couldn't
      think of a good RA-method-independent, un-implementation-detail-y
      way of exposing this option thru the RA interface.

  (3) Exploit the knowledge that Subversion clients tend only to do
      the full-text fetching stuff in diff and merge operations, and
      only spool REPORT responses for svn_ra_do_diff* invocations.

I went with option #3. #2 would have been ideal if I'd been able to
expose that parameter in some non-hacky way, but...

I'm not sure why this is a problem /you/ have, though. The spooling
decision/implementation code is completely within libsvn_ra_dav.

-- 
C. Michael Pilato <cmpilato@collab.net>
CollabNet   <>   www.collab.net   <>   Distributed Development On Demand

Received on Fri Feb 17 16:55:48 2006

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.