Evgeny Kotkov wrote:
Julian Foad <julianf...@apache.org> writes:

- On the server-side, SVNCompressionLevel 0 can be used to disable
compression altogether.  The special value of SVNCompressionLevel 1 forces
the use of LZ4 compression for clients that support it.  All other values
result in negotiating the use of zlib compression with the respective
compression level, unless the compression is disabled on the client.

There's a small disagreement with the table there: all other values result
in negotiating either zlib or LZ4.

Indeed.  Perhaps, we could rephrase it like this?

   [...] All other values result in preferring zlib compression with the
   respective compression level.  Note that the negotiated algorithm is still
   a subject to the client's configuration.  For example, even if the server
   is configured to prefer zlib compression over LZ4, a client may still
   negotiate the use of LZ4 compression when its http-compression option
   is set to auto.

+1.

(Nit: English idiom is "[is still] subject to".)

- On the client-side, setting http-compression to either yes or no will
disable or enable compression that is then negotiated based on the
server's
configuration.  The default value of auto will result in preferring LZ4
compression over low latency networks and zlib compression otherwise.

Can we link to the reference documentation for the client and server
options, so the reader (me) can cross-check the definition and look for
related settings?

At the time being, the documentation for these options is quite scarce and
doesn't dive into the details of which compression algorithm is negotiated
behind the scenes.  The reasoning behind this was to avoid overwhelming
the users with technical and implementation details and to have a ground
for future extension by not promising too much.  This makes me think that
linking to these docs from the release notes probably wouldn't be too useful:

   
https://svn.apache.org/viewvc/subversion/trunk/subversion/mod_dav_svn/mod_dav_svn.c?view=markup&pathrev=1820778#l1392
   
https://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_subr/config_file.c?view=markup&pathrev=1820778#l1151

For the purpose of cross-checking the description, the following locations in
mod_dav_svn and ra_serf may prove useful:

   mod_dav_svn/repos.c:negotiate_encoding_prefs()
   libsvn_ra_serf/util.c:svn_ra_serf__setup_svndiff_accept_encoding()
   libsvn_ra_serf/commit.c:negotiate_put_encoding()

Thanks.

- Julian

Reply via email to