kot...@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