-@@ -290,6 +291,7 @@ void usage(enum logcode F)
- rprintf(F," --bwlimit=KBPS limit I/O bandwidth, KBytes per second\n");
- rprintf(F," --write-batch=PREFIX write batch fileset starting with PREFIX\n");
- rprintf(F," --read-batch=PREFIX read batch fileset starting with PREFIX\n");
-+ rprintf(F," --fuzzy use similar file as basis if it does't exist\n");
- rprintf(F," -h, --help show this help screen\n");
- #ifdef INET6
- rprintf(F," -4 prefer IPv4\n");
-@@ -385,6 +387,7 @@ static struct poptOption long_options[]
- {"files-from", 0, POPT_ARG_STRING, &files_from, 0, 0, 0 },
- {"from0", '0', POPT_ARG_NONE, &eol_nulls, 0, 0, 0},
- {"no-implied-dirs", 0, POPT_ARG_VAL, &implied_dirs, 0, 0, 0 },
-+ {"fuzzy", 0, POPT_ARG_NONE, &fuzzy, 0, 0, 0 },
- {"protocol", 0, POPT_ARG_INT, &protocol_version, 0, 0, 0 },
- #ifdef INET6
- {0, '4', POPT_ARG_VAL, &default_af_hint, AF_INET, 0, 0 },
-@@ -964,6 +967,9 @@ void server_options(char **args,int *arg
- args[ac++] = "--from0";
- }
+ /* The receiving side mustn't obey this, or an existing symlink that
+ * points to an identical file won't be replaced by the referent. */
+--- orig/options.c 2005-01-17 23:11:45
++++ options.c 2005-01-15 21:08:13
+@@ -86,6 +86,7 @@ int copy_unsafe_links = 0;
+ int size_only = 0;
+ int daemon_bwlimit = 0;
+ int bwlimit = 0;
++int fuzzy_basis = 0;
+ size_t bwlimit_writemax = 0;
+ int delete_after = 0;
+ int only_existing = 0;
+@@ -288,6 +289,7 @@ void usage(enum logcode F)
+ rprintf(F," --compare-dest=DIR also compare destination files relative to DIR\n");
+ rprintf(F," --copy-dest=DIR ... and include copies of unchanged files\n");
+ rprintf(F," --link-dest=DIR hardlink to files in DIR when unchanged\n");
++ rprintf(F," --fuzzy find similar file for basis when no dest file\n");
+ rprintf(F," -P equivalent to --partial --progress\n");
+ rprintf(F," -z, --compress compress file data\n");
+ rprintf(F," -C, --cvs-exclude auto ignore files in the same way CVS does\n");
+@@ -384,6 +386,7 @@ static struct poptOption long_options[]
+ {"compare-dest", 0, POPT_ARG_STRING, 0, OPT_COMPARE_DEST, 0, 0 },
+ {"copy-dest", 0, POPT_ARG_STRING, 0, OPT_COPY_DEST, 0, 0 },
+ {"link-dest", 0, POPT_ARG_STRING, 0, OPT_LINK_DEST, 0, 0 },
++ {"fuzzy", 0, POPT_ARG_NONE, &fuzzy_basis, 0, 0, 0 },
+ /* TODO: Should this take an optional int giving the compression level? */
+ {"compress", 'z', POPT_ARG_NONE, &do_compression, 0, 0, 0 },
+ {"stats", 0, POPT_ARG_NONE, &do_stats, 0, 0, 0 },
+@@ -1234,6 +1237,9 @@ void server_options(char **args,int *arg
+ args[ac++] = "--no-relative";