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

Re: svn commit: r1704317 - in /subversion/trunk/subversion/libsvn_ra_serf: commit.c options.c ra_serf.h serf.c

From: Daniel Shahaf <d.s_at_daniel.shahaf.name>
Date: Mon, 21 Sep 2015 21:14:32 +0000

kotkov_at_apache.org wrote on Mon, Sep 21, 2015 at 15:19:46 -0000:
> Author: kotkov
> Date: Mon Sep 21 15:19:40 2015
> New Revision: 1704317
>
> URL: http://svn.apache.org/viewvc?rev=1704317&view=rev
> Log:
> Use compressed svndiff1 format for deltas when committing changes over
> http:// and https://.
...
> So, we begin using compressed svndiff1 format in ra_serf, if that's possible.
> This is done for servers that advertise Subversion's HTTP v2 protocol, unless
> compression is disabled by the 'http-compression = no' client configuration
> option. Existing Apache HTTPd + mod_dav_svn servers know how to deal with
> svndiff1, starting from Subversion 1.4, but the reasoning behind enabling
> it with HTTP v2 is that if the user is stuck with the old protocol version,
> she probably does not really care about the performance. I tested existing
> custom implementations of Subversion's HTTP v2 protocol that are not based
> on mod_dav_svn, and they as well now how to deal with svndiff1 format.
...
> +++ subversion/trunk/subversion/libsvn_ra_serf/options.c Mon Sep 21 15:19:40
> 2015
> @@ -243,6 +243,20 @@ capabilities_headers_iterator_callback(v
> apr_hash_set(session->supported_posts, "create-txn", 10, (void *)1);
> }
>
> + /* Use compressed svndiff1 format for servers that speak HTTPv2.
> +
> + Apache HTTPd + mod_dav_svn servers support svndiff1, beginning
> + from Subversion 1.4, but they do not advertise this capability.
> + Compressing data can have a noticeable impact if the connection
> + is slow, and we want to use it even for existing servers, so we
> + send svndiff1 data to every HTTPv2 server (Subversion 1.7 and
> + greater).
> +
> + The reasoning behind enabling it with HTTPv2 is that if the user
> + is stuck with the old Subversion's HTTPv1 protocol, she probably
> + doesn't really care about performance. */
> + session->supports_svndiff1 = TRUE;

Perhaps invent an "I speak svndiff1" wire capability and make 1.10
servers advertise it? I get that the workaround implemented is
necessary for interoperating with released servers, but we could at
least do it right from now on.

Cheers,

Daniel
Received on 2015-09-21 23:14:38 CEST

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