On Mon, Jul 24, 2017 at 07:19:09PM +0300, Evgeny Kotkov wrote:
> However, there are a couple of difficulties with porting this approach to
> mod_dav_svn, i.e., if we introduce the SVNCompression directive.  There
> are clients that don't use LZ4, so, presumably, this options would require
> specifying all formats that a server can use, in the preferred order:
> 
>   SVNCompression "lz4, zlib"
> 
> While such approach is explicit, it also has a couple of drawbacks, as it:
>   - leaves a window for mistakes (say, if the user sets "SVNCompression lz4"
>     and inadvertently disables compression for older clients),
>   - is not forward-compatible, as new compression algorithms require the
>     server to be reconfigured, and
>   - adds complexity.

Does mod_dav_svn really need an option for this?

Can't lz4 (svndiff2) be negotiated as a mutual protocol capability of
client and server? Why won't a simple logic such as the following work:

  If the client announces lz4 compression level 1 support, use it.
  Else, use zlib.

As an admin or user my expectation would be that clients and servers pick
the most suitable protocol automatically. At best, options I set should
indicate what I think the ideal protocol configuration would be, but if that
won't work (e.g. because an old client conencts) I would expect a fallback.

I think we should also consider which decision people who are not experts
will make if we give them such options. I would expect many admins would
use a logic such as:

  lz4 is better (newer) than zlib!
  compression level 9 is better than level 1!

and then set their server to lz4 with compression-level 9...

Not even having to think about any of these options is much better
for our users and saves them time.

Reply via email to