X-Git-Url: https://mattmccutchen.net/rsync/rsync-patches.git/blobdiff_plain/1189721b7b4ebe6bfc3593dac92b88baf2fb39d3..0f6260347bf6c29859ed4808f04222f84c2a8817:/links-depth.diff diff --git a/links-depth.diff b/links-depth.diff index 1b012de..dbcdf9c 100644 --- a/links-depth.diff +++ b/links-depth.diff @@ -6,9 +6,9 @@ with the latest codebase, but even in its original form it didn't handle relative symlinks properly, and that has not yet been fixed in this modified version. ---- orig/flist.c 2004-07-15 02:21:10 +--- orig/flist.c 2004-09-21 09:40:27 +++ flist.c 2004-07-16 16:58:04 -@@ -49,6 +49,7 @@ extern int filesfrom_fd; +@@ -50,6 +50,7 @@ extern int filesfrom_fd; extern int one_file_system; extern int keep_dirlinks; extern int preserve_links; @@ -16,7 +16,7 @@ in this modified version. extern int preserve_hard_links; extern int preserve_perms; extern int preserve_devices; -@@ -722,6 +723,30 @@ void receive_file_entry(struct file_stru +@@ -726,6 +727,30 @@ void receive_file_entry(struct file_stru } @@ -47,7 +47,7 @@ in this modified version. /** * Create a file_struct for a named file by reading its stat() * information and performing extensive checks against global -@@ -841,7 +866,13 @@ skip_excludes: +@@ -845,7 +870,13 @@ skip_excludes: basename_len = strlen(basename) + 1; /* count the '\0' */ #if SUPPORT_LINKS @@ -62,7 +62,7 @@ in this modified version. #else linkname_len = 0; #endif ---- orig/options.c 2004-07-15 19:11:33 +--- orig/options.c 2004-09-23 17:42:07 +++ options.c 2004-07-16 16:12:29 @@ -42,6 +42,7 @@ int archive_mode = 0; int keep_dirlinks = 0; @@ -72,16 +72,16 @@ in this modified version. int preserve_hard_links = 0; int preserve_perms = 0; int preserve_devices = 0; -@@ -235,6 +236,7 @@ void usage(enum logcode F) - rprintf(F," -u, --update update only (don't overwrite newer files)\n"); +@@ -244,6 +245,7 @@ void usage(enum logcode F) + rprintf(F," --inplace update destination files inplace (SEE MAN PAGE)\n"); rprintf(F," -K, --keep-dirlinks treat symlinked dir on receiver as dir\n"); rprintf(F," -l, --links copy symlinks as symlinks\n"); + rprintf(F," --links-depth=NUM follow symlinks up to NUM depth\n"); rprintf(F," -L, --copy-links copy the referent of all symlinks\n"); rprintf(F," --copy-unsafe-links copy the referent of \"unsafe\" symlinks\n"); rprintf(F," --safe-links ignore \"unsafe\" symlinks\n"); -@@ -342,6 +344,7 @@ static struct poptOption long_options[] - {"update", 'u', POPT_ARG_NONE, &update_only, 0, 0, 0 }, +@@ -353,6 +355,7 @@ static struct poptOption long_options[] + {"inplace", 0, POPT_ARG_NONE, &inplace, 0, 0, 0 }, {"keep-dirlinks", 'K', POPT_ARG_NONE, &keep_dirlinks, 0, 0, 0 }, {"links", 'l', POPT_ARG_NONE, &preserve_links, 0, 0, 0 }, + {"links-depth", 0, POPT_ARG_INT, &follow_links_depth , 0, 0, 0 },