1 --- orig/options.c 2005-01-01 21:11:00
2 +++ options.c 2004-07-03 20:17:33
3 @@ -48,6 +48,7 @@ int preserve_devices = 0;
6 int preserve_times = 0;
7 +int preserve_dir_times = 0;
11 @@ -259,7 +260,8 @@ void usage(enum logcode F)
12 rprintf(F," -o, --owner preserve owner (root only)\n");
13 rprintf(F," -g, --group preserve group\n");
14 rprintf(F," -D, --devices preserve devices (root only)\n");
15 - rprintf(F," -t, --times preserve times\n");
16 + rprintf(F," -t, --times preserve times on non-directories\n");
17 + rprintf(F," -d, --dir-times preserve times on directories\n");
18 rprintf(F," -S, --sparse handle sparse files efficiently\n");
19 rprintf(F," -n, --dry-run show what would have been transferred\n");
20 rprintf(F," -W, --whole-file copy whole files, no incremental checks\n");
21 @@ -366,6 +368,7 @@ static struct poptOption long_options[]
22 {"group", 'g', POPT_ARG_NONE, &preserve_gid, 0, 0, 0 },
23 {"devices", 'D', POPT_ARG_NONE, &preserve_devices, 0, 0, 0 },
24 {"times", 't', POPT_ARG_NONE, &preserve_times, 0, 0, 0 },
25 + {"dir-times", 'd', POPT_ARG_NONE, &preserve_dir_times, 0, 0, 0 },
26 {"checksum", 'c', POPT_ARG_NONE, &always_checksum, 0, 0, 0 },
27 {"verbose", 'v', POPT_ARG_NONE, 0, 'v', 0, 0 },
28 {"quiet", 'q', POPT_ARG_NONE, 0, 'q', 0, 0 },
29 @@ -1081,6 +1084,8 @@ void server_options(char **args,int *arg
33 + if (preserve_dir_times && am_sender)
38 --- orig/rsync.c 2004-09-07 21:45:30
39 +++ rsync.c 2004-07-03 20:17:33
43 extern int preserve_times;
44 +extern int preserve_dir_times;
47 extern int am_generator;
48 @@ -142,15 +143,16 @@ int set_perms(char *fname,struct file_st
52 - if (!preserve_times || S_ISLNK(st->st_mode)
53 - || (make_backups && !backup_dir && S_ISDIR(st->st_mode)))
54 - flags |= PERMS_SKIP_MTIME;
55 + if (S_ISDIR(st->st_mode)) {
56 + if (!preserve_dir_times || (make_backups && !backup_dir))
57 + flags |= PERMS_SKIP_MTIME;
59 + if (!preserve_times || S_ISLNK(st->st_mode))
60 + flags |= PERMS_SKIP_MTIME;
62 if (!(flags & PERMS_SKIP_MTIME)
63 && cmp_modtime(st->st_mtime, file->modtime) != 0) {
64 - /* don't complain about not setting times on directories
65 - * because some filesystems can't do it */
66 - if (set_modtime(fname,file->modtime) != 0 &&
67 - !S_ISDIR(st->st_mode)) {
68 + if (set_modtime(fname,file->modtime) != 0) {
69 rsyserr(FERROR, errno, "failed to set times on %s",
72 --- orig/rsync.yo 2005-01-01 21:11:01
73 +++ rsync.yo 2004-08-11 17:27:51
74 @@ -329,7 +329,8 @@ verb(
75 -o, --owner preserve owner (root only)
76 -g, --group preserve group
77 -D, --devices preserve devices (root only)
78 - -t, --times preserve times
79 + -t, --times preserve times on non-directories
80 + -d, --dir-times preserve times on directories
81 -S, --sparse handle sparse files efficiently
82 -n, --dry-run show what would have been transferred
83 -W, --whole-file copy whole files, no incremental checks
84 @@ -620,14 +621,23 @@ dit(bf(-D, --devices)) This option cause
85 block device information to the remote system to recreate these
86 devices. This option is only available to the super-user.
88 -dit(bf(-t, --times)) This tells rsync to transfer modification times along
89 -with the files and update them on the remote system. Note that if this
90 +dit(bf(-t, --times)) This tells rsync to preserve modification times of
91 +non-directories transferred to the remote system. Note that if this
92 option is not used, the optimization that excludes files that have not been
93 modified cannot be effective; in other words, a missing -t or -a will
94 cause the next transfer to behave as if it used -I, causing all files to be
95 updated (though the rsync algorithm will make the update fairly efficient
96 if the files haven't actually changed, you're much better off using -t).
98 +dit(bf(-d, --dir-times)) This tells rsync to preserve the modification
99 +times of directories transferred to the remote system. On a modern
100 +rsync, these are left unpreserved by default to avoid causing problems
103 +Note: when sending files to an older rsync, the --times option will
104 +imply --dir-times (if the -d option causes an error on the receiving
105 +system, omit it and the --times will preserve all file/directory times).
107 dit(bf(-n, --dry-run)) This tells rsync to not do any file transfers,
108 instead it will just report the actions it would have taken.
110 --- orig/testsuite/batch-mode.test 2004-07-23 02:13:34
111 +++ testsuite/batch-mode.test 2004-08-13 09:00:07
112 @@ -16,12 +16,12 @@ hands_setup
115 # Build chkdir for the daemon tests using a normal rsync and an --exclude.
116 -$RSYNC -av --exclude=foobar.baz "$fromdir/" "$chkdir/"
117 +$RSYNC -adv --exclude=foobar.baz "$fromdir/" "$chkdir/"
119 -runtest "local --write-batch" 'checkit "$RSYNC -av --write-batch=BATCH \"$fromdir/\" \"$todir\"" "$fromdir" "$todir"'
120 +runtest "local --write-batch" 'checkit "$RSYNC -adv --write-batch=BATCH \"$fromdir/\" \"$todir\"" "$fromdir" "$todir"'
123 -runtest "--read-batch" 'checkit "$RSYNC -av --read-batch=BATCH \"$todir\"" "$fromdir" "$todir"'
124 +runtest "--read-batch" 'checkit "$RSYNC -adv --read-batch=BATCH \"$todir\"" "$fromdir" "$todir"'
128 @@ -29,17 +29,17 @@ RSYNC_CONNECT_PROG="$RSYNC --config=$con
129 export RSYNC_CONNECT_PROG
132 -runtest "daemon sender --write-batch" 'checkit "$RSYNC -av --write-batch=BATCH rsync://localhost/test-from/ \"$todir\"" "$chkdir" "$todir"'
133 +runtest "daemon sender --write-batch" 'checkit "$RSYNC -adv --write-batch=BATCH rsync://localhost/test-from/ \"$todir\"" "$chkdir" "$todir"'
136 -runtest "--read-batch from daemon" 'checkit "$RSYNC -av --read-batch=BATCH \"$todir\"" "$chkdir" "$todir"'
137 +runtest "--read-batch from daemon" 'checkit "$RSYNC -adv --read-batch=BATCH \"$todir\"" "$chkdir" "$todir"'
140 runtest "BATCH.sh use of --read-batch" 'checkit "./BATCH.sh" "$chkdir" "$todir"'
143 mkdir "$todir" || test_fail "failed to restore empty destination directory"
144 -runtest "daemon recv --write-batch" 'checkit "$RSYNC -av --write-batch=BATCH \"$fromdir/\" rsync://localhost/test-to" "$chkdir" "$todir"'
145 +runtest "daemon recv --write-batch" 'checkit "$RSYNC -adv --write-batch=BATCH \"$fromdir/\" rsync://localhost/test-to" "$chkdir" "$todir"'
147 # The script would have aborted on error, so getting here means we pass.
149 --- orig/testsuite/chgrp.test 2004-05-21 23:56:27
150 +++ testsuite/chgrp.test 2004-07-03 20:17:33
155 -checkit "$RSYNC -rtgpvvv \"$fromdir/\" \"$todir/\"" "$fromdir" "$todir"
156 +checkit "$RSYNC -rtdgpvvv \"$fromdir/\" \"$todir/\"" "$fromdir" "$todir"
158 # The script would have aborted on error, so getting here means we've won.
160 --- orig/testsuite/chmod-temp-dir.test 2004-08-13 07:18:59
161 +++ testsuite/chmod-temp-dir.test 2004-08-13 08:59:40
162 @@ -32,10 +32,10 @@ e="$fromdir/dir/subdir/subsubdir/etc-ltr
163 chmod 2670 "$e" || chmod 1670 "$e" || chmod 670 "$e"
165 # First a normal copy.
166 -runtest "normal copy" 'checkit "$RSYNC -avv --temp-dir=\"$tmpdir2\" \"$fromdir/\" \"$todir\"" "$fromdir" "$todir"'
167 +runtest "normal copy" 'checkit "$RSYNC -advv --temp-dir=\"$tmpdir2\" \"$fromdir/\" \"$todir\"" "$fromdir" "$todir"'
169 # Then we update all the files.
170 -runtest "update copy" 'checkit "$RSYNC -avvI --no-whole-file --temp-dir=\"$tmpdir2\" \"$fromdir/\" \"$todir\"" "$fromdir" "$todir"'
171 +runtest "update copy" 'checkit "$RSYNC -advvI --no-whole-file --temp-dir=\"$tmpdir2\" \"$fromdir/\" \"$todir\"" "$fromdir" "$todir"'
173 # The script would have aborted on error, so getting here means we've won.
175 --- orig/testsuite/chmod.test 2004-08-13 07:18:59
176 +++ testsuite/chmod.test 2004-08-13 08:59:49
177 @@ -23,10 +23,10 @@ e="$fromdir/dir/subdir/subsubdir/etc-ltr
178 chmod 2670 "$e" || chmod 1670 "$e" || chmod 670 "$e"
180 # First a normal copy.
181 -runtest "normal copy" 'checkit "$RSYNC -avv \"$fromdir/\" \"$todir\"" "$fromdir" "$todir"'
182 +runtest "normal copy" 'checkit "$RSYNC -advv \"$fromdir/\" \"$todir\"" "$fromdir" "$todir"'
184 # Then we update all the files.
185 -runtest "update copy" 'checkit "$RSYNC -avvI --no-whole-file \"$fromdir/\" \"$todir\"" "$fromdir" "$todir"'
186 +runtest "update copy" 'checkit "$RSYNC -advvI --no-whole-file \"$fromdir/\" \"$todir\"" "$fromdir" "$todir"'
188 # The script would have aborted on error, so getting here means we've won.
190 --- orig/testsuite/chown.test 2004-05-18 09:14:24
191 +++ testsuite/chown.test 2004-07-03 20:17:33
192 @@ -28,7 +28,7 @@ chown 5001 "$name2" || test_skipped "Can
193 chgrp 5002 "$name1" || test_skipped "Can't chgrp (probably need root)"
194 chgrp 5003 "$name2" || test_skipped "Can't chgrp (probably need root)"
196 -checkit "$RSYNC -aHvv \"$fromdir/\" \"$todir/\"" "$fromdir" "$todir"
197 +checkit "$RSYNC -adHvv \"$fromdir/\" \"$todir/\"" "$fromdir" "$todir"
199 # The script would have aborted on error, so getting here means we've won.
201 --- orig/testsuite/compare-dest.test 2004-11-27 18:01:54
202 +++ testsuite/compare-dest.test 2004-11-27 18:06:27
203 @@ -19,19 +19,19 @@ alt2dir="$tmpdir/alt2"
206 # Setup the alt and chk dirs
207 -$RSYNC -av --include=text --include='*/' --exclude='*' "$fromdir/" "$alt1dir/"
208 -$RSYNC -av --include=etc-ltr-list --include='*/' --exclude='*' "$fromdir/" "$alt2dir/"
209 +$RSYNC -adv --include=text --include='*/' --exclude='*' "$fromdir/" "$alt1dir/"
210 +$RSYNC -adv --include=etc-ltr-list --include='*/' --exclude='*' "$fromdir/" "$alt2dir/"
213 touch "$fromdir/dir/text"
215 -$RSYNC -av --exclude=/text --exclude=etc-ltr-list "$fromdir/" "$chkdir/"
216 +$RSYNC -adv --exclude=/text --exclude=etc-ltr-list "$fromdir/" "$chkdir/"
219 -checkit "$RSYNC -avv --no-whole-file \
220 +checkit "$RSYNC -advv --no-whole-file \
221 --compare-dest=\"$alt1dir\" --compare-dest=\"$alt2dir\" \
222 \"$fromdir/\" \"$todir/\"" "$chkdir" "$todir"
223 -checkit "$RSYNC -avv --no-whole-file \
224 +checkit "$RSYNC -advv --no-whole-file \
225 --copy-dest=\"$alt1dir\" --copy-dest=\"$alt2dir\" \
226 \"$fromdir/\" \"$todir/\"" "$fromdir" "$todir"
228 --- orig/testsuite/daemon-gzip-download.test 2004-05-18 09:14:24
229 +++ testsuite/daemon-gzip-download.test 2004-07-03 20:17:33
230 @@ -29,9 +29,9 @@ export RSYNC_CONNECT_PROG
233 # Build chkdir with a normal rsync and an --exclude.
234 -$RSYNC -av --exclude=foobar.baz "$fromdir/" "$chkdir/"
235 +$RSYNC -adv --exclude=foobar.baz "$fromdir/" "$chkdir/"
237 -checkit "$RSYNC -avvvvz localhost::test-from/ \"$todir/\"" "$chkdir" "$todir"
238 +checkit "$RSYNC -advvvvz localhost::test-from/ \"$todir/\"" "$chkdir" "$todir"
240 # The script would have aborted on error, so getting here means we've won.
242 --- orig/testsuite/daemon-gzip-upload.test 2004-05-18 09:14:24
243 +++ testsuite/daemon-gzip-upload.test 2004-07-03 20:17:33
244 @@ -23,9 +23,9 @@ export RSYNC_CONNECT_PROG
247 # Build chkdir with a normal rsync and an --exclude.
248 -$RSYNC -av --exclude=foobar.baz "$fromdir/" "$chkdir/"
249 +$RSYNC -adv --exclude=foobar.baz "$fromdir/" "$chkdir/"
251 -checkit "$RSYNC -avvvvz \"$fromdir/\" localhost::test-to/" "$chkdir" "$todir"
252 +checkit "$RSYNC -advvvvz \"$fromdir/\" localhost::test-to/" "$chkdir" "$todir"
254 # The script would have aborted on error, so getting here means we've won.
256 --- orig/testsuite/devices.test 2004-09-23 17:42:07
257 +++ testsuite/devices.test 2004-07-03 20:17:33
258 @@ -30,7 +30,7 @@ mknod "$fromdir/block2" b 42 73 || test_
259 mknod "$fromdir/block3" b 105 73 || test_skipped "Can't create block device node unless root"
260 mkfifo "$fromdir/fifo" || test_skipped "Can't run mkfifo"
262 -checkit "$RSYNC -aHvv \"$fromdir/\" \"$todir/\"" "$fromdir" "$todir"
263 +checkit "$RSYNC -adHvv \"$fromdir/\" \"$todir/\"" "$fromdir" "$todir"
265 # The script would have aborted on error, so getting here means we've won.
267 --- orig/testsuite/duplicates.test 2004-05-18 09:14:24
268 +++ testsuite/duplicates.test 2004-07-03 20:17:33
269 @@ -33,7 +33,7 @@ ln -s "$name1" "$name2" || fail "can't c
271 outfile="$scratchdir/rsync.out"
273 -checkit "$RSYNC -avv \"$fromdir/\" \"$fromdir/\" \"$fromdir/\" \"$fromdir/\" \"$fromdir/\" \"$fromdir/\" \"$fromdir/\" \"$fromdir/\" \"$fromdir/\" \"$fromdir/\" \"$todir/\"" "$fromdir" "$todir" \
274 +checkit "$RSYNC -advv \"$fromdir/\" \"$fromdir/\" \"$fromdir/\" \"$fromdir/\" \"$fromdir/\" \"$fromdir/\" \"$fromdir/\" \"$fromdir/\" \"$fromdir/\" \"$fromdir/\" \"$todir/\"" "$fromdir" "$todir" \
277 # Make sure each file was only copied once...
278 --- orig/testsuite/exclude.test 2004-05-29 21:25:45
279 +++ testsuite/exclude.test 2004-07-03 20:17:33
280 @@ -66,7 +66,7 @@ EOF
282 # Create the chk dir with what we expect to be excluded
284 -checkit "$RSYNC -avv \"$fromdir/\" \"$chkdir/\"" "$fromdir" "$chkdir"
285 +checkit "$RSYNC -advv \"$fromdir/\" \"$chkdir/\"" "$fromdir" "$chkdir"
287 sleep 1 # Ensures that the rm commands will tweak the directory times.
289 @@ -78,11 +78,11 @@ rm "$chkdir"/mid/for/foo/extra
291 # Un-tweak the directory times in our first (weak) exclude test (though
292 # it's a good test of the --existing option).
293 -$RSYNC -av --existing --include='*/' --exclude='*' "$fromdir/" "$chkdir/"
294 +$RSYNC -adv --existing --include='*/' --exclude='*' "$fromdir/" "$chkdir/"
296 # Now, test if rsync excludes the same files.
298 -checkit "$RSYNC -avv --exclude-from=\"$excl\" \"$fromdir/\" \"$todir/\"" "$chkdir" "$todir"
299 +checkit "$RSYNC -advv --exclude-from=\"$excl\" \"$fromdir/\" \"$todir/\"" "$chkdir" "$todir"
301 # Modify the chk dir by removing cvs-ignored files and then tweaking the dir times.
303 @@ -92,12 +92,12 @@ rm "$chkdir"/bar/down/to/foo/*.junk
304 rm "$chkdir"/bar/down/to/home-cvs-exclude
305 rm "$chkdir"/mid/one-in-one-out
307 -$RSYNC -av --existing --include='*/' --exclude='*' "$fromdir/" "$chkdir/"
308 +$RSYNC -adv --existing --include='*/' --exclude='*' "$fromdir/" "$chkdir/"
310 # Now, test if rsync excludes the same files, this time with --cvs-exclude
311 # and --delete-excluded.
313 -checkit "$RSYNC -avvC --exclude-from=\"$excl\" \
314 +checkit "$RSYNC -advvC --exclude-from=\"$excl\" \
315 --delete-excluded \"$fromdir/\" \"$todir/\"" "$chkdir" "$todir"
317 # The script would have aborted on error, so getting here means we've won.
318 --- orig/testsuite/hands.test 2004-05-18 09:14:24
319 +++ testsuite/hands.test 2004-07-03 20:17:33
320 @@ -11,19 +11,19 @@ hands_setup
322 # Main script starts here
324 -runtest "basic operation" 'checkit "$RSYNC -av \"$fromdir/\" \"$todir\"" "$fromdir/" "$todir"'
325 +runtest "basic operation" 'checkit "$RSYNC -adv \"$fromdir/\" \"$todir\"" "$fromdir/" "$todir"'
327 ln "$fromdir/filelist" "$fromdir/dir"
328 -runtest "hard links" 'checkit "$RSYNC -avH \"$fromdir/\" \"$todir\"" "$fromdir/" "$todir"'
329 +runtest "hard links" 'checkit "$RSYNC -advH \"$fromdir/\" \"$todir\"" "$fromdir/" "$todir"'
332 -runtest "one file" 'checkit "$RSYNC -avH \"$fromdir/\" \"$todir\"" "$fromdir/" "$todir"'
333 +runtest "one file" 'checkit "$RSYNC -advH \"$fromdir/\" \"$todir\"" "$fromdir/" "$todir"'
335 echo "extra line" >> "$todir/text"
336 -runtest "extra data" 'checkit "$RSYNC -avH \"$fromdir/\" \"$todir\"" "$fromdir/" "$todir"'
337 +runtest "extra data" 'checkit "$RSYNC -advH \"$fromdir/\" \"$todir\"" "$fromdir/" "$todir"'
339 cp "$fromdir/text" "$todir/ThisShouldGo"
340 -runtest " --delete" 'checkit "$RSYNC --delete -avH \"$fromdir/\" \"$todir\"" "$fromdir/" "$todir"'
341 +runtest " --delete" 'checkit "$RSYNC --delete -advH \"$fromdir/\" \"$todir\"" "$fromdir/" "$todir"'
343 # The script would have aborted on error, so getting here means we've won.
345 --- orig/testsuite/hardlinks.test 2004-05-18 09:14:24
346 +++ testsuite/hardlinks.test 2004-07-03 20:17:33
347 @@ -31,7 +31,7 @@ ln "$name1" "$name2" || fail "Can't crea
348 ln "$name2" "$name3" || fail "Can't create hardlink"
349 cp "$name2" "$name4" || fail "Can't copy file"
351 -checkit "$RSYNC -aHvv \"$fromdir/\" \"$todir/\"" "$fromdir" "$todir"
352 +checkit "$RSYNC -adHvv \"$fromdir/\" \"$todir/\"" "$fromdir" "$todir"
354 # The script would have aborted on error, so getting here means we've won.
356 --- orig/testsuite/longdir.test 2004-05-18 09:50:26
357 +++ testsuite/longdir.test 2004-07-03 20:17:33
358 @@ -18,7 +18,7 @@ makepath "$longdir" || test_skipped "una
359 touch "$longdir/1" || test_skipped "unable to create files in long directory"
361 ls -la / > "$longdir/2"
362 -checkit "$RSYNC --delete -avH \"$fromdir/\" \"$todir\"" "$fromdir/" "$todir"
363 +checkit "$RSYNC --delete -advH \"$fromdir/\" \"$todir\"" "$fromdir/" "$todir"
365 # The script would have aborted on error, so getting here means we've won.
367 --- orig/testsuite/merge.test 2005-01-01 21:11:13
368 +++ testsuite/merge.test 2005-01-01 21:14:14
369 @@ -44,7 +44,7 @@ touch "$from1dir" "$from2dir" "$from3dir
370 "$from2dir"/sub1 "$from3dir"/sub1 "$from3dir"/sub2 \
371 "$chkdir" "$chkdir"/sub1 "$chkdir"/sub2
373 -checkit "$RSYNC -aHvv \"$from1dir/\" \"$from2dir/\" \"$from3dir/\" \"$todir/\"" "$chkdir" "$todir"
374 +checkit "$RSYNC -adHvv \"$from1dir/\" \"$from2dir/\" \"$from3dir/\" \"$todir/\"" "$chkdir" "$todir"
376 # The script would have aborted on error, so getting here means we've won.
378 --- orig/testsuite/ssh-basic.test 2004-05-18 09:14:24
379 +++ testsuite/ssh-basic.test 2004-07-03 20:17:33
384 -runtest "ssh: basic test" 'checkit "$RSYNC -avH -e ssh --rsync-path=$RSYNC \"$fromdir/\" \"localhost:$todir\"" "$fromdir/" "$todir"'
385 +runtest "ssh: basic test" 'checkit "$RSYNC -advH -e ssh --rsync-path=$RSYNC \"$fromdir/\" \"localhost:$todir\"" "$fromdir/" "$todir"'
387 # Added by Steve Bonds Feb 2 2003
388 # I assumed that "F1" was intended to hold a single file for testing if
389 @@ -40,4 +40,4 @@ F1=`ls "$todir" | head -5 | tail -1`
391 mv "$todir/$F1" "$todir/ThisShouldGo"
393 -runtest "ssh: renamed file" 'checkit "$RSYNC --delete -avH -e ssh --rsync-path=$RSYNC \"$fromdir/\" \"localhost:$todir\"" "$fromdir/" "$todir"'
394 +runtest "ssh: renamed file" 'checkit "$RSYNC --delete -advH -e ssh --rsync-path=$RSYNC \"$fromdir/\" \"localhost:$todir\"" "$fromdir/" "$todir"'
395 --- orig/testsuite/unsafe-links.test 2004-05-18 09:14:24
396 +++ testsuite/unsafe-links.test 2004-07-03 20:17:33
397 @@ -35,33 +35,33 @@ ln -s ../../unsafe/unsafefile "from/safe
400 echo "rsync with relative path and just -a";
401 -$RSYNC -avv from/safe/ to
402 +$RSYNC -advv from/safe/ to
403 test_symlink to/links/file1
404 test_symlink to/links/file2
405 test_symlink to/links/unsafefile
407 echo "rsync with relative path and -a --copy-links"
408 -$RSYNC -avv --copy-links from/safe/ to
409 +$RSYNC -advv --copy-links from/safe/ to
410 test_regular to/links/file1
411 test_regular to/links/file2
412 test_regular to/links/unsafefile
414 echo "rsync with relative path and --copy-unsafe-links";
415 -$RSYNC -avv --copy-unsafe-links from/safe/ to
416 +$RSYNC -advv --copy-unsafe-links from/safe/ to
417 test_symlink to/links/file1
418 test_symlink to/links/file2
419 test_regular to/links/unsafefile
422 echo "rsync with relative2 path";
423 -(cd from; $RSYNC -avv --copy-unsafe-links safe/ ../to)
424 +(cd from; $RSYNC -advv --copy-unsafe-links safe/ ../to)
425 test_symlink to/links/file1
426 test_symlink to/links/file2
427 test_regular to/links/unsafefile
430 echo "rsync with absolute path";
431 -$RSYNC -avv --copy-unsafe-links `pwd`/from/safe/ to
432 +$RSYNC -advv --copy-unsafe-links `pwd`/from/safe/ to
433 test_symlink to/links/file1
434 test_symlink to/links/file2
435 test_regular to/links/unsafefile