You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by ko...@apache.org on 2017/04/13 17:55:03 UTC

svn commit: r1791290 - /subversion/trunk/subversion/libsvn_ra_serf/options.c

Author: kotkov
Date: Thu Apr 13 17:55:03 2017
New Revision: 1791290

URL: http://svn.apache.org/viewvc?rev=1791290&view=rev
Log:
ra_serf: Revert part of r1704317 that enabled sending compressed svndiff1
deltas (during commit) to servers that don't properly advertise that they
support it.

This change introduced an assumption that every HTTPv2-speaking server
knows how to parse svndiff1.  After giving it a fresh look, I think that
the ability to send compressed deltas to existing servers is not worth
circumventing the capability negotiation scheme and possibly sending data
that cannot be interpreted by a server.  While the added heuristics works
for existing versions of mod_dav_svn, it might not hold for other (third-
party) server implementations, and is basically a hack.

So, keep it safe and only send compressed svndiff1 deltas to Subversion
1.10 servers that properly advertise they know how to deal with svndiff1.

* subversion/libsvn_ra_serf/options.c
  (capabilities_headers_iterator_callback): Stop assuming that every
   HTTPv2-capable server knows how to interpret incoming svndiff1
   deltas.

Modified:
    subversion/trunk/subversion/libsvn_ra_serf/options.c

Modified: subversion/trunk/subversion/libsvn_ra_serf/options.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_ra_serf/options.c?rev=1791290&r1=1791289&r2=1791290&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_ra_serf/options.c (original)
+++ subversion/trunk/subversion/libsvn_ra_serf/options.c Thu Apr 13 17:55:03 2017
@@ -249,21 +249,6 @@ 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,
-         in addition to servers that send SVN_DAV_NS_DAV_SVN_SVNDIFF1.
-
-         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;
-
       if (svn_cstring_casecmp(key, SVN_DAV_ROOT_URI_HEADER) == 0)
         {
           session->repos_root = session->session_url;