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

RE: General question on Serf

From: Bert Huijben <bert_at_qqmail.nl>
Date: Wed, 26 Sep 2012 15:36:34 +0200

I think I can answer this question, but maybe one of the ra_serf gurus can
fill in the details.

 

With the get request serf sends a header to tell the server which version of
the file the client already knows. The server than usually sends the delta,
just like neon or svnserve do/did. The server is allowed to send the whole
file, but our implementation doesn't do this.

 

(We used to send the whole files early in HTTPv2 development because we
somehow missed this header and things got a lot faster when we fixed this).

 

                Bert

 

From: Mark Phippard [mailto:markphip_at_gmail.com]
Sent: woensdag 26 september 2012 15:14
To: Subversion Development
Subject: General question on Serf

 

I have a question about how Serf works that I keep forgetting to send to
this list.

 

When you do an update with Serf, my understanding is that it does a REPORT
request that gives it back a list of files that it needs to update and then
it fires off a bunch of GET requests to retrieve those files. With Neon,
the changes are all included in the REPORT response.

 

My question is how this intersects with Deltas.

 

Suppose I have a large text file in my working copy and someone has made a
small minor change to the file. When using Neon, I know that the client and
server just exchange a relatively small delta that is applied to my working
copy. I imagine this delta is part of the REPORT response that the client
receives.

 

What happens with Serf? From what I know, I would assume that Serf has to
do a GET of the entire file. Is this true or does it somehow only request a
delta? And what might this mean for real world performance.

 

Kind of a side question. One of the benefits of the Serf design is that
theoretically enables the usage of caching proxies between the client and
server. This is another reason I assume that Serf must request the entire
file. I do not see how a caching proxy would provide much benefit if the
Serf requests were for somewhat arbitrary deltas between two revisions.

 

-- 
Thanks
Mark Phippard
http://markphip.blogspot.com/
Received on 2012-09-26 15:37:28 CEST

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.