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;