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

svn's webdav not honouring partial GETs

From: Steve Simon <steve_at_quintile.net>
Date: Fri, 26 Mar 2010 12:58:01 +0000

Hi,

Many appologies if this is not the correct place to ask about
svn's dav support, if so please rediect me.

AS per the subject, SVN's WebDAV server does not seem to
be honouring partial HTTP GETs even though it appears to
offer the facility with

        Accept-Range: bytes

To demonstrate use wget (on windows or Linux), using the command line
interrupt the processing once the transfer has begun.

wget -d -c http://svn.apache.org/repos/asf/db/ddlutils/trunk/lib/build-only/ant-1.6.5.jar

now re-run the command and you will notice the Range: request and the
Accept-Range: reply but no Content-Range: and the whole file is downloaded
again (see below)

Googleing I found references to partial PUTs being supported (A grey area in
the spec I beleive) but nothing about partial GETs being supported or not.

I looked at the svn issue tracker and could find no mention of this there either.

Would you expect svn to support partial gets? Is SVN likely to support
partial GETs in the future?

Am I asking in the wrong place?

FWIW I am writing a WebDAV client to access SVN repositories for
plan9.

Thanks for any/all help.

-Steve

------------snip-------------------------------------------------------

        acroncompile1% wget -d -c http://svn.apache.org/repos/asf/db/ddlutils/trunk/lib/build-only/ant-1.6.5.jar
        Setting --continue (continue) to 1
        DEBUG output created by Wget 1.11.4 on Windows-MSVC.

        --2010-03-26 12:48:51-- http://svn.apache.org/repos/asf/db/ddlutils/trunk/lib/build-only/ant-1.6.5.jar
        Resolving svn.apache.org... seconds 0.00, 192.87.106.227
        Caching svn.apache.org => 192.87.106.227
        Connecting to svn.apache.org|192.87.106.227|:80... seconds 0.00, connected.
        Created socket 1896.
        Releasing 0x00702888 (new refcount 1).

        ---request begin---
        GET /repos/asf/db/ddlutils/trunk/lib/build-only/ant-1.6.5.jar HTTP/1.0
        Range: bytes=858831-
        User-Agent: Wget/1.11.4
        Accept: */*
        Host: svn.apache.org
        Connection: Keep-Alive

        ---request end---
        HTTP request sent, awaiting response...
        ---response begin---
        HTTP/1.1 200 OK
        Date: Fri, 26 Mar 2010 12:48:12 GMT
        Server: Apache/2.2.14 (Unix) mod_ssl/2.2.14 OpenSSL/0.9.8k DAV/2 mod_wsgi/3.1 Python/2.6.4 SVN/1.6.9
        Last-Modified: Wed, 23 Dec 2009 03:51:32 GMT
        ETag: "416741//db/ddlutils/trunk/lib/build-only/ant-1.6.5.jar"
        Accept-Ranges: bytes
        Content-Length: 1034049
        Vary: Accept-Encoding
        Keep-Alive: timeout=15, max=100
        Connection: Keep-Alive
        Content-Type: application/octet-stream

        ---response end---
        200 OK
        Registered socket 1896 for persistent reuse.
        Length: 1034049 (1010K) [application/octet-stream]
        Saving to: `ant-1.6.5.jar'

             0K .......... .......... .......... .......... .......... 2% 165K 11s
            50K .......... .......... .......... .......... .......... 5% 341K 8s
        etc...
Received on 2010-03-26 13:58:36 CET

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