I've read just the diff, not the patched source. Overall, +1, and a couple of minor nits below:
stef...@apache.org wrote on Tue, Feb 08, 2011 at 22:41:32 -0000: > Author: stefan2 > Date: Tue Feb 8 22:41:31 2011 > New Revision: 1068651 > > URL: http://svn.apache.org/viewvc?rev=1068651&view=rev > Log: > Introduce svn_txdelta_to_svndiff3() that introduces an additional ZIP > compression level parameter. Do all the plumbing to set that value on > the svnserve command line. For compression level 0, deactivate compression > entirely (instead of using a zlib's "store" mode). > > Merged revisions from /branches/performance: > 981287, 981827, 982057 (partial), 1029339 (svn_ra_svn.h only) > > Modified: > subversion/branches/integrate-compression-level/ (props changed) > > subversion/branches/integrate-compression-level/subversion/include/svn_delta.h > > subversion/branches/integrate-compression-level/subversion/include/svn_ra_svn.h > > subversion/branches/integrate-compression-level/subversion/libsvn_delta/svndiff.c > > subversion/branches/integrate-compression-level/subversion/libsvn_ra_svn/editorp.c > > subversion/branches/integrate-compression-level/subversion/libsvn_ra_svn/marshal.c > > subversion/branches/integrate-compression-level/subversion/libsvn_ra_svn/ra_svn.h > subversion/branches/integrate-compression-level/subversion/svnserve/main.c > > subversion/branches/integrate-compression-level/subversion/svnserve/serve.c > > subversion/branches/integrate-compression-level/subversion/svnserve/server.h > > subversion/branches/integrate-compression-level/subversion/tests/libsvn_delta/random-test.c > > subversion/branches/integrate-compression-level/subversion/tests/libsvn_delta/svndiff-test.c > mod_dav_svn support? > @@ -445,6 +451,7 @@ int main(int argc, const char *argv[]) > + params.compression_level = SVNDIFF1_COMPRESS_LEVEL; SVN_SVNDIFF1_COMPRESS_LEVEL ? > @@ -560,6 +567,14 @@ int main(int argc, const char *argv[]) > + case 'c': > + params.compression_level = atoi(arg); > + if (params.compression_level < 0) > + params.compression_level = 0; > + if (params.compression_level > 9) > + params.compression_level = 9; Magic number. > @@ -112,6 +112,12 @@ typedef struct serve_params_t { > /* Size of the in-memory cache (used by FSFS only). */ > apr_uint64_t memory_cache_size; > > + /* Data compression level to reduce for network traffic. If this > + is 0, no compression should be applied and the protocol may > + fall back to txdelta "version 0" bypassing zlib entirely. s/txdelta/svndiff/