summaryrefslogtreecommitdiffstats
path: root/zlib/README.rsync
diff options
context:
space:
mode:
Diffstat (limited to 'zlib/README.rsync')
-rw-r--r--zlib/README.rsync31
1 files changed, 31 insertions, 0 deletions
diff --git a/zlib/README.rsync b/zlib/README.rsync
new file mode 100644
index 0000000..5440bfd
--- /dev/null
+++ b/zlib/README.rsync
@@ -0,0 +1,31 @@
+READ THIS BEFORE TRYING TO DYNAMICALLY LINK RSYNC AND ZLIB!
+
+zlib has been adapted slightly for use in rsync. Please don't bother
+the zlib authors with problems related to the use of zlib in rsync as
+any bugs are likely to be our fault and not theirs.
+
+Specific changes that have been made to zlib for rsync include:
+
+- add Z_INSERT_ONLY to allow for efficient history updating without
+ actually emitting any data. This is used to compress the matched
+ blocks that don't cross the wire, which gives better compression
+ ratios on the literal data.
+
+- fixed a number of minor compilation issues. (redefinition of MAX and
+ other such trivial things)
+
+- include rsync.h to ensure that we get a consistent set of includes
+ for all C code in rsync and to take advantage of autoconf
+
+As a result of the first item, the streams from rsync's version of
+zlib are *not compatible* with those produced by the upstream version
+of rsync. In other words, if you link rsync against your system's
+copy, it will not be able to interoperate with any other version if
+the -z option is used. (Sorry. Sometimes standard is better than
+better.)
+
+The rsync maintainers hope to fix this problem in the future by either
+merging our changes into the upstream version, or backing them out of
+rsync in a way that preserves wire compatibility. But in the meantime
+this version must be maintained in parallel.
+