handle relative symlinks properly, and that has not yet been fixed
in this modified version.
---- orig/flist.c 2005-01-01 21:11:00
+--- orig/flist.c 2005-01-24 00:18:21
+++ flist.c 2004-07-16 16:58:04
@@ -50,6 +50,7 @@ extern int filesfrom_fd;
extern int one_file_system;
#else
linkname_len = 0;
#endif
---- orig/options.c 2005-01-17 23:11:45
+--- orig/options.c 2005-01-24 00:18:21
+++ options.c 2004-07-16 16:12:29
@@ -42,6 +42,7 @@ int archive_mode = 0;
int keep_dirlinks = 0;
int preserve_hard_links = 0;
int preserve_perms = 0;
int preserve_devices = 0;
-@@ -251,6 +252,7 @@ void usage(enum logcode F)
+@@ -253,6 +254,7 @@ void usage(enum logcode F)
rprintf(F," --inplace update destination files in-place (SEE MAN PAGE)\n");
- rprintf(F," -K, --keep-dirlinks treat symlinked dir on receiver as dir\n");
+ rprintf(F," -d, --dirs transfer directories without recursing\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");
-@@ -357,6 +359,7 @@ static struct poptOption long_options[]
+@@ -360,6 +362,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 },
+ {"dirs", 'd', POPT_ARG_VAL, &xfer_dirs, 2, 0, 0 },
{"links", 'l', POPT_ARG_NONE, &preserve_links, 0, 0, 0 },
+ {"links-depth", 0, POPT_ARG_INT, &follow_links_depth , 0, 0, 0 },
{"copy-links", 'L', POPT_ARG_NONE, ©_links, 0, 0, 0 },
+ {"keep-dirlinks", 'K', POPT_ARG_NONE, &keep_dirlinks, 0, 0, 0 },
{"whole-file", 'W', POPT_ARG_VAL, &whole_file, 1, 0, 0 },
- {"no-whole-file", 0, POPT_ARG_VAL, &whole_file, 0, 0, 0 },