X-Git-Url: https://mattmccutchen.net/rsync/rsync-patches.git/blobdiff_plain/8af144e1ca43235afa9d81a545b8a0ae829cbb56..79f132a15fbace5ee4f352248973ff53a2326961:/fuzzy.diff diff --git a/fuzzy.diff b/fuzzy.diff index eb352b4..2aecf46 100644 --- a/fuzzy.diff +++ b/fuzzy.diff @@ -4,9 +4,9 @@ Lightly tested. Be sure to run "make proto" before "make". ---- orig/generator.c 2005-01-23 07:55:40 +--- orig/generator.c 2005-01-25 12:14:14 +++ generator.c 2005-01-19 18:39:15 -@@ -45,6 +45,7 @@ extern int size_only; +@@ -47,6 +47,7 @@ extern int size_only; extern OFF_T max_size; extern int io_timeout; extern int protocol_version; @@ -14,7 +14,7 @@ Be sure to run "make proto" before "make". extern int always_checksum; extern char *partial_dir; extern char *basis_dir[]; -@@ -225,6 +226,88 @@ static void generate_and_send_sums(int f +@@ -227,6 +228,88 @@ static void generate_and_send_sums(int f unmap_file(mapbuf); } @@ -154,7 +154,7 @@ Be sure to run "make proto" before "make". if (dry_run || read_batch) return; ---- orig/main.c 2005-01-23 01:48:52 +--- orig/main.c 2005-01-28 19:08:20 +++ main.c 2005-01-14 18:33:15 @@ -49,6 +49,7 @@ extern int keep_dirlinks; extern int preserve_hard_links; @@ -164,7 +164,7 @@ Be sure to run "make proto" before "make". extern int relative_paths; extern int rsync_port; extern int whole_file; -@@ -465,7 +466,8 @@ static int do_recv(int f_in,int f_out,st +@@ -485,7 +486,8 @@ static int do_recv(int f_in,int f_out,st int pid; int status = 0; int error_pipe[2], name_pipe[2]; @@ -174,8 +174,8 @@ Be sure to run "make proto" before "make". /* 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-23 01:53:35 -+++ options.c 2005-01-15 21:08:13 +--- orig/options.c 2005-01-28 19:08:20 ++++ options.c 2005-01-28 19:31:20 @@ -90,6 +90,7 @@ int copy_unsafe_links = 0; int size_only = 0; int daemon_bwlimit = 0; @@ -184,15 +184,15 @@ Be sure to run "make proto" before "make". size_t bwlimit_writemax = 0; int only_existing = 0; int opt_ignore_existing = 0; -@@ -293,6 +294,7 @@ void usage(enum logcode F) +@@ -303,6 +304,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"); -@@ -393,6 +395,7 @@ static struct poptOption long_options[] + rprintf(F," -C, --cvs-exclude auto-ignore files the same way CVS does\n"); + rprintf(F," -f, --filter=RULE add a file-filtering RULE\n"); +@@ -408,6 +410,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 }, @@ -200,7 +200,7 @@ Be sure to run "make proto" before "make". /* 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 }, -@@ -1251,6 +1254,9 @@ void server_options(char **args,int *arg +@@ -1315,6 +1318,9 @@ void server_options(char **args,int *arg if (!implied_dirs && !am_sender) args[ac++] = "--no-implied-dirs"; @@ -210,9 +210,9 @@ Be sure to run "make proto" before "make". *argc = ac; return; ---- orig/receiver.c 2005-01-23 07:55:58 +--- orig/receiver.c 2005-01-28 19:08:20 +++ receiver.c 2005-01-15 21:21:02 -@@ -251,6 +251,27 @@ static int receive_data(int f_in, char * +@@ -252,6 +252,27 @@ static int receive_data(int f_in, char * } @@ -240,7 +240,7 @@ Be sure to run "make proto" before "make". static void discard_receive_data(int f_in, OFF_T length) { receive_data(f_in, NULL, -1, 0, NULL, -1, length); -@@ -381,6 +402,10 @@ int recv_files(int f_in, struct file_lis +@@ -390,6 +411,10 @@ int recv_files(int f_in, struct file_lis case FNAMECMP_BACKUP: fnamecmp = get_backup_name(fname); break; @@ -251,9 +251,9 @@ Be sure to run "make proto" before "make". default: if (j >= basis_dir_cnt) { rprintf(FERROR, ---- orig/rsync.h 2005-01-21 00:35:26 +--- orig/rsync.h 2005-01-28 19:08:20 +++ rsync.h 2005-01-19 18:36:47 -@@ -128,6 +128,7 @@ +@@ -130,6 +130,7 @@ #define FNAMECMP_FNAME 0x80 #define FNAMECMP_PARTIAL_DIR 0x81 #define FNAMECMP_BACKUP 0x82 @@ -261,17 +261,17 @@ Be sure to run "make proto" before "make". /* For calling delete_file() */ #define DEL_DIR (1<<0) ---- orig/rsync.yo 2005-01-23 02:57:49 -+++ rsync.yo 2005-01-15 21:48:52 -@@ -360,6 +360,7 @@ verb( +--- orig/rsync.yo 2005-01-28 17:12:14 ++++ rsync.yo 2005-01-28 19:31:36 +@@ -365,6 +365,7 @@ verb( --compare-dest=DIR also compare received files relative to DIR --copy-dest=DIR ... and include copies of unchanged files --link-dest=DIR hardlink to files in DIR when unchanged + --fuzzy find similar file for basis when no dest - -P equivalent to --partial --progress -z, --compress compress file data - -C, --cvs-exclude auto ignore files in the same way CVS does -@@ -896,6 +897,14 @@ Note that rsync versions prior to 2.6.1 + -C, --cvs-exclude auto-ignore files in the same way CVS does + -f, --filter=RULE add a file-filtering RULE +@@ -949,6 +950,14 @@ Note that rsync versions prior to 2.6.1 (or implied by -a). You can work-around this bug by avoiding the -o option when sending to an old rsync. @@ -286,7 +286,7 @@ Be sure to run "make proto" before "make". dit(bf(-z, --compress)) With this option, rsync compresses any data from the files that it sends to the destination machine. This option is useful on slow connections. The compression method used is the ---- orig/util.c 2005-01-20 23:05:34 +--- orig/util.c 2005-01-28 19:08:20 +++ util.c 2005-01-19 17:30:51 @@ -1213,3 +1213,108 @@ void *_realloc_array(void *ptr, unsigned return malloc(size * num);