X-Git-Url: https://mattmccutchen.net/rsync/rsync-patches.git/blobdiff_plain/6292693900fa7a084472f5ddad3ebcf0695380f6..c2f699cc6bfb241c97cc53dfe6bfd0ea0385456c:/detect-renamed.diff diff --git a/detect-renamed.diff b/detect-renamed.diff index 6faf82a..fd66988 100644 --- a/detect-renamed.diff +++ b/detect-renamed.diff @@ -19,10 +19,10 @@ memory than trying to keep track of the matches internally, and also allows any deletions or file-updates to occur normally without interfering with these alternate-basis discoveries. -After applying this patch, run these commands for a successful build: +To use this patch, run these commands for a successful build: - ./prepare-source - ./configure (optional if already run) + patch -p1 file's ndx'th item, whose name is fname. If a dir, -@@ -910,8 +1052,12 @@ static void recv_generator(char *fname, - && verbose && code && f_out != -1) +@@ -944,8 +1086,12 @@ static void recv_generator(char *fname, + && verbose && code != FNONE && f_out != -1) rprintf(code, "%s/\n", fname); if (delete_during && f_out != -1 && !phase && dry_run < 2 - && (file->flags & FLAG_DEL_HERE)) @@ -436,7 +436,7 @@ TODO: return; } -@@ -1150,8 +1296,14 @@ static void recv_generator(char *fname, +@@ -1201,8 +1347,14 @@ static void recv_generator(char *fname, && hard_link_check(file, ndx, fname, statret, &st, itemizing, code, HL_SKIP)) return; @@ -452,7 +452,7 @@ TODO: rsyserr(FERROR, stat_errno, "recv_generator: failed to stat %s", full_fname(fname)); return; -@@ -1329,11 +1481,17 @@ void generate_files(int f_out, struct fi +@@ -1388,11 +1540,17 @@ void generate_files(int f_out, struct fi (long)getpid(), flist->count); } @@ -471,7 +471,7 @@ TODO: whole_file = 0; if (verbose >= 2) { rprintf(FINFO, "delta-transmission %s\n", -@@ -1388,7 +1546,23 @@ void generate_files(int f_out, struct fi +@@ -1447,7 +1605,23 @@ void generate_files(int f_out, struct fi } recv_generator(NULL, NULL, 0, 0, 0, code, -1); if (delete_during) @@ -498,7 +498,7 @@ TODO: csum_length = SUM_LENGTH; --- old/options.c +++ new/options.c -@@ -76,6 +76,7 @@ int am_generator = 0; +@@ -78,6 +78,7 @@ int am_generator = 0; int am_starting_up = 1; int relative_paths = -1; int implied_dirs = 1; @@ -506,7 +506,7 @@ TODO: int numeric_ids = 0; int allow_8bit_chars = 0; int force_delete = 0; -@@ -334,6 +335,7 @@ void usage(enum logcode F) +@@ -346,6 +347,7 @@ void usage(enum logcode F) rprintf(F," --modify-window=NUM compare mod-times with reduced accuracy\n"); rprintf(F," -T, --temp-dir=DIR create temporary files in directory DIR\n"); rprintf(F," -y, --fuzzy find similar file for basis if no dest file\n"); @@ -514,7 +514,7 @@ TODO: 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"); -@@ -481,6 +483,7 @@ static struct poptOption long_options[] +@@ -499,6 +501,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 }, @@ -522,7 +522,7 @@ TODO: {"fuzzy", 'y', POPT_ARG_NONE, &fuzzy_basis, 0, 0, 0 }, {"compress", 'z', POPT_ARG_NONE, 0, 'z', 0, 0 }, {"compress-level", 0, POPT_ARG_INT, &def_compress_level, 'z', 0, 0 }, -@@ -1340,7 +1343,7 @@ int parse_arguments(int *argc, const cha +@@ -1362,7 +1365,7 @@ int parse_arguments(int *argc, const cha inplace = 1; } @@ -531,7 +531,7 @@ TODO: partial_dir = tmp_partialdir; if (inplace) { -@@ -1349,6 +1352,7 @@ int parse_arguments(int *argc, const cha +@@ -1371,6 +1374,7 @@ int parse_arguments(int *argc, const cha snprintf(err_buf, sizeof err_buf, "--%s cannot be used with --%s\n", append_mode ? "append" : "inplace", @@ -539,7 +539,7 @@ TODO: delay_updates ? "delay-updates" : "partial-dir"); return 0; } -@@ -1651,6 +1655,8 @@ void server_options(char **args,int *arg +@@ -1674,6 +1678,8 @@ void server_options(char **args,int *arg args[ac++] = "--super"; if (size_only) args[ac++] = "--size-only"; @@ -550,7 +550,7 @@ TODO: if (modify_window_set) { --- old/rsync.yo +++ new/rsync.yo -@@ -362,6 +362,7 @@ to the detailed description below for a +@@ -363,6 +363,7 @@ to the detailed description below for a --modify-window=NUM compare mod-times with reduced accuracy -T, --temp-dir=DIR create temporary files in directory DIR -y, --fuzzy find similar file for basis if no dest file @@ -558,7 +558,7 @@ TODO: --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 -@@ -1240,6 +1241,15 @@ Note that the use of the bf(--delete) op +@@ -1259,6 +1260,15 @@ Note that the use of the bf(--delete) op fuzzy-match files, so either use bf(--delete-after) or specify some filename exclusions if you need to prevent this. @@ -576,7 +576,7 @@ TODO: files against doing transfers (if the files are missing in the destination --- old/util.c +++ new/util.c -@@ -1013,6 +1013,32 @@ int handle_partial_dir(const char *fname +@@ -1025,6 +1025,32 @@ int handle_partial_dir(const char *fname return 1; }