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

DAV updates

From: <cmpilato_at_collab.net>
Date: 2001-09-21 17:32:33 CEST

I am planning to modify the RA layer to have a new function in the RA
vtable, do_status(). do_status() is basically just like do_update(),
except it always uses the head revision, and it ignores text-deltas.

In the course of this planning, I realized that ra_dav/mod_dav_svn
already ignore the text-deltas during updates, so my immediately
thoughts were two-fold:

  (1) Sweet! I don't have to make server-side changes!
  (2) Suck! Does that mean we're always GETting the whole file even
       if one character has changed?!

Well, Ben ran ethereal during an update, and put our fears of (2) to
rest:

   GET /testing/cmpilato-test/$svn/ver/358.2/bendir7/campaign1 HTTP/1.1
   User-Agent: SVN/M3 neon/0.15.3
   Keep-Alive:
   Connection: TE, Keep-Alive
   TE: trailers
   Host: svn.collab.net
   
   HTTP/1.1 200 OK
   Date: Fri, 21 Sep 2001 15:20:20 GMT
   Server: Apache/2.0.26-dev (Unix) DAV/2 SVN/M3
   ETag: "358.2"
   Accept-Ranges: bytes
   Content-Length: 5
   Keep-Alive: timeout=15, max=100
   Connection: Keep-Alive
   Content-Type: text/plain; charset=ISO-8859-1
   
   moob

"moob" is the diff between what Ben had on disk, and what was current
in the HEAD of the repository. So we did actually get only the diff,
not the whole contents of the file `campaign1'.

But we're scratching our heads as to how mod_dav_svn knew to only send
the diff? GregS? Someone? What are we overlooking here?

--
Back on my original track, though, I am still thrilled about (1) up
there.  In order to make a status function that just checks
out-of-dateness, I need only change libsvn_ra_dav to not do those GETs
at all.  So I will.
Sweet.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sat Oct 21 14:36:42 2006

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