--- orig/options.c	2004-11-27 17:53:24
+++ options.c	2004-07-03 20:17:33
@@ -48,6 +48,7 @@ int preserve_devices = 0;
 int preserve_uid = 0;
 int preserve_gid = 0;
 int preserve_times = 0;
+int preserve_dir_times = 0;
 int update_only = 0;
 int cvs_exclude = 0;
 int dry_run = 0;
@@ -259,7 +260,8 @@ void usage(enum logcode F)
   rprintf(F," -o, --owner                 preserve owner (root only)\n");
   rprintf(F," -g, --group                 preserve group\n");
   rprintf(F," -D, --devices               preserve devices (root only)\n");
-  rprintf(F," -t, --times                 preserve times\n");
+  rprintf(F," -t, --times                 preserve times on non-directories\n");
+  rprintf(F," -d, --dir-times             preserve times on directories\n");
   rprintf(F," -S, --sparse                handle sparse files efficiently\n");
   rprintf(F," -n, --dry-run               show what would have been transferred\n");
   rprintf(F," -W, --whole-file            copy whole files, no incremental checks\n");
@@ -365,6 +367,7 @@ static struct poptOption long_options[] 
   {"group",           'g', POPT_ARG_NONE,   &preserve_gid, 0, 0, 0 },
   {"devices",         'D', POPT_ARG_NONE,   &preserve_devices, 0, 0, 0 },
   {"times",           't', POPT_ARG_NONE,   &preserve_times, 0, 0, 0 },
+  {"dir-times",       'd', POPT_ARG_NONE,   &preserve_dir_times, 0, 0, 0 },
   {"checksum",        'c', POPT_ARG_NONE,   &always_checksum, 0, 0, 0 },
   {"verbose",         'v', POPT_ARG_NONE,   0, 'v', 0, 0 },
   {"quiet",           'q', POPT_ARG_NONE,   0, 'q', 0, 0 },
@@ -1080,6 +1083,8 @@ void server_options(char **args,int *arg
 		argstr[x++] = 'D';
 	if (preserve_times)
 		argstr[x++] = 't';
+	if (preserve_dir_times && am_sender)
+		argstr[x++] = 'd';
 	if (preserve_perms)
 		argstr[x++] = 'p';
 	if (recurse)
--- orig/rsync.c	2004-09-07 21:45:30
+++ rsync.c	2004-07-03 20:17:33
@@ -25,6 +25,7 @@
 extern int verbose;
 extern int dry_run;
 extern int preserve_times;
+extern int preserve_dir_times;
 extern int am_root;
 extern int am_sender;
 extern int am_generator;
@@ -142,15 +143,16 @@ int set_perms(char *fname,struct file_st
 		st = &st2;
 	}
 
-	if (!preserve_times || S_ISLNK(st->st_mode)
-	    || (make_backups && !backup_dir && S_ISDIR(st->st_mode)))
-		flags |= PERMS_SKIP_MTIME;
+	if (S_ISDIR(st->st_mode)) {
+		if (!preserve_dir_times || (make_backups && !backup_dir))
+			flags |= PERMS_SKIP_MTIME;
+	} else {
+		if (!preserve_times || S_ISLNK(st->st_mode))
+			flags |= PERMS_SKIP_MTIME;
+	}
 	if (!(flags & PERMS_SKIP_MTIME)
 	    && cmp_modtime(st->st_mtime, file->modtime) != 0) {
-		/* don't complain about not setting times on directories
-		 * because some filesystems can't do it */
-		if (set_modtime(fname,file->modtime) != 0 &&
-		    !S_ISDIR(st->st_mode)) {
+		if (set_modtime(fname,file->modtime) != 0) {
 			rsyserr(FERROR, errno, "failed to set times on %s",
 				full_fname(fname));
 			return 0;
--- orig/rsync.yo	2004-11-27 17:53:24
+++ rsync.yo	2004-08-11 17:27:51
@@ -329,7 +329,8 @@ verb(
  -o, --owner                 preserve owner (root only)
  -g, --group                 preserve group
  -D, --devices               preserve devices (root only)
- -t, --times                 preserve times
+ -t, --times                 preserve times on non-directories
+ -d, --dir-times             preserve times on directories
  -S, --sparse                handle sparse files efficiently
  -n, --dry-run               show what would have been transferred
  -W, --whole-file            copy whole files, no incremental checks
@@ -611,14 +612,23 @@ dit(bf(-D, --devices)) This option cause
 block device information to the remote system to recreate these
 devices. This option is only available to the super-user.
 
-dit(bf(-t, --times)) This tells rsync to transfer modification times along
-with the files and update them on the remote system.  Note that if this
+dit(bf(-t, --times)) This tells rsync to preserve modification times of
+non-directories transferred to the remote system.  Note that if this
 option is not used, the optimization that excludes files that have not been
 modified cannot be effective; in other words, a missing -t or -a will
 cause the next transfer to behave as if it used -I, causing all files to be
 updated (though the rsync algorithm will make the update fairly efficient
 if the files haven't actually changed, you're much better off using -t).
 
+dit(bf(-d, --dir-times)) This tells rsync to preserve the modification
+times of directories transferred to the remote system.  On a modern
+rsync, these are left unpreserved by default to avoid causing problems
+for NFS.
+
+Note: when sending files to an older rsync, the --times option will
+imply --dir-times (if the -d option causes an error on the receiving
+system, omit it and the --times will preserve all file/directory times).
+
 dit(bf(-n, --dry-run)) This tells rsync to not do any file transfers,
 instead it will just report the actions it would have taken.
 
--- orig/testsuite/batch-mode.test	2004-07-23 02:13:34
+++ testsuite/batch-mode.test	2004-08-13 09:00:07
@@ -16,12 +16,12 @@ hands_setup
 cd "$tmpdir"
 
 # Build chkdir for the daemon tests using a normal rsync and an --exclude.
-$RSYNC -av --exclude=foobar.baz "$fromdir/" "$chkdir/"
+$RSYNC -adv --exclude=foobar.baz "$fromdir/" "$chkdir/"
 
-runtest "local --write-batch" 'checkit "$RSYNC -av --write-batch=BATCH \"$fromdir/\" \"$todir\"" "$fromdir" "$todir"'
+runtest "local --write-batch" 'checkit "$RSYNC -adv --write-batch=BATCH \"$fromdir/\" \"$todir\"" "$fromdir" "$todir"'
 
 rm -rf "$todir"
-runtest "--read-batch" 'checkit "$RSYNC -av --read-batch=BATCH \"$todir\"" "$fromdir" "$todir"'
+runtest "--read-batch" 'checkit "$RSYNC -adv --read-batch=BATCH \"$todir\"" "$fromdir" "$todir"'
 
 build_rsyncd_conf
 
@@ -29,17 +29,17 @@ RSYNC_CONNECT_PROG="$RSYNC --config=$con
 export RSYNC_CONNECT_PROG
 
 rm -rf "$todir"
-runtest "daemon sender --write-batch" 'checkit "$RSYNC -av --write-batch=BATCH rsync://localhost/test-from/ \"$todir\"" "$chkdir" "$todir"'
+runtest "daemon sender --write-batch" 'checkit "$RSYNC -adv --write-batch=BATCH rsync://localhost/test-from/ \"$todir\"" "$chkdir" "$todir"'
 
 rm -rf "$todir"
-runtest "--read-batch from daemon" 'checkit "$RSYNC -av --read-batch=BATCH \"$todir\"" "$chkdir" "$todir"'
+runtest "--read-batch from daemon" 'checkit "$RSYNC -adv --read-batch=BATCH \"$todir\"" "$chkdir" "$todir"'
 
 rm -rf "$todir"
 runtest "BATCH.sh use of --read-batch" 'checkit "./BATCH.sh" "$chkdir" "$todir"'
 
 rm -rf "$todir"
 mkdir "$todir" || test_fail "failed to restore empty destination directory"
-runtest "daemon recv --write-batch" 'checkit "$RSYNC -av --write-batch=BATCH \"$fromdir/\" rsync://localhost/test-to" "$chkdir" "$todir"'
+runtest "daemon recv --write-batch" 'checkit "$RSYNC -adv --write-batch=BATCH \"$fromdir/\" rsync://localhost/test-to" "$chkdir" "$todir"'
 
 # The script would have aborted on error, so getting here means we pass.
 exit 0
--- orig/testsuite/chgrp.test	2004-05-21 23:56:27
+++ testsuite/chgrp.test	2004-07-03 20:17:33
@@ -26,7 +26,7 @@ do
 done
 sleep 2
 
-checkit "$RSYNC -rtgpvvv \"$fromdir/\" \"$todir/\"" "$fromdir" "$todir"
+checkit "$RSYNC -rtdgpvvv \"$fromdir/\" \"$todir/\"" "$fromdir" "$todir"
 
 # The script would have aborted on error, so getting here means we've won.
 exit 0
--- orig/testsuite/chmod-temp-dir.test	2004-08-13 07:18:59
+++ testsuite/chmod-temp-dir.test	2004-08-13 08:59:40
@@ -32,10 +32,10 @@ e="$fromdir/dir/subdir/subsubdir/etc-ltr
 chmod 2670 "$e" || chmod 1670 "$e" || chmod 670 "$e"
 
 # First a normal copy.
-runtest "normal copy" 'checkit "$RSYNC -avv --temp-dir=\"$tmpdir2\" \"$fromdir/\" \"$todir\"" "$fromdir" "$todir"'
+runtest "normal copy" 'checkit "$RSYNC -advv --temp-dir=\"$tmpdir2\" \"$fromdir/\" \"$todir\"" "$fromdir" "$todir"'
 
 # Then we update all the files.
-runtest "update copy" 'checkit "$RSYNC -avvI --no-whole-file --temp-dir=\"$tmpdir2\" \"$fromdir/\" \"$todir\"" "$fromdir" "$todir"'
+runtest "update copy" 'checkit "$RSYNC -advvI --no-whole-file --temp-dir=\"$tmpdir2\" \"$fromdir/\" \"$todir\"" "$fromdir" "$todir"'
 
 # The script would have aborted on error, so getting here means we've won.
 exit 0
--- orig/testsuite/chmod.test	2004-08-13 07:18:59
+++ testsuite/chmod.test	2004-08-13 08:59:49
@@ -23,10 +23,10 @@ e="$fromdir/dir/subdir/subsubdir/etc-ltr
 chmod 2670 "$e" || chmod 1670 "$e" || chmod 670 "$e"
 
 # First a normal copy.
-runtest "normal copy" 'checkit "$RSYNC -avv \"$fromdir/\" \"$todir\"" "$fromdir" "$todir"'
+runtest "normal copy" 'checkit "$RSYNC -advv \"$fromdir/\" \"$todir\"" "$fromdir" "$todir"'
 
 # Then we update all the files.
-runtest "update copy" 'checkit "$RSYNC -avvI --no-whole-file \"$fromdir/\" \"$todir\"" "$fromdir" "$todir"'
+runtest "update copy" 'checkit "$RSYNC -advvI --no-whole-file \"$fromdir/\" \"$todir\"" "$fromdir" "$todir"'
 
 # The script would have aborted on error, so getting here means we've won.
 exit 0
--- orig/testsuite/chown.test	2004-05-18 09:14:24
+++ testsuite/chown.test	2004-07-03 20:17:33
@@ -28,7 +28,7 @@ chown 5001 "$name2" || test_skipped "Can
 chgrp 5002 "$name1" || test_skipped "Can't chgrp (probably need root)"
 chgrp 5003 "$name2" || test_skipped "Can't chgrp (probably need root)"
 
-checkit "$RSYNC -aHvv \"$fromdir/\" \"$todir/\"" "$fromdir" "$todir"
+checkit "$RSYNC -adHvv \"$fromdir/\" \"$todir/\"" "$fromdir" "$todir"
 
 # The script would have aborted on error, so getting here means we've won.
 exit 0
--- orig/testsuite/compare-dest.test	2004-11-27 18:01:54
+++ testsuite/compare-dest.test	2004-11-27 18:06:27
@@ -19,19 +19,19 @@ alt2dir="$tmpdir/alt2"
 hands_setup
 
 # Setup the alt and chk dirs
-$RSYNC -av --include=text --include='*/' --exclude='*' "$fromdir/" "$alt1dir/"
-$RSYNC -av --include=etc-ltr-list --include='*/' --exclude='*' "$fromdir/" "$alt2dir/"
+$RSYNC -adv --include=text --include='*/' --exclude='*' "$fromdir/" "$alt1dir/"
+$RSYNC -adv --include=etc-ltr-list --include='*/' --exclude='*' "$fromdir/" "$alt2dir/"
 
 sleep 1
 touch "$fromdir/dir/text"
 
-$RSYNC -av --exclude=/text --exclude=etc-ltr-list "$fromdir/" "$chkdir/"
+$RSYNC -adv --exclude=/text --exclude=etc-ltr-list "$fromdir/" "$chkdir/"
 
 # Let's do it!
-checkit "$RSYNC -avv --no-whole-file \
+checkit "$RSYNC -advv --no-whole-file \
     --compare-dest=\"$alt1dir\" --compare-dest=\"$alt2dir\" \
     \"$fromdir/\" \"$todir/\"" "$chkdir" "$todir"
-checkit "$RSYNC -avv --no-whole-file \
+checkit "$RSYNC -advv --no-whole-file \
     --copy-dest=\"$alt1dir\" --copy-dest=\"$alt2dir\" \
     \"$fromdir/\" \"$todir/\"" "$fromdir" "$todir"
 
--- orig/testsuite/daemon-gzip-download.test	2004-05-18 09:14:24
+++ testsuite/daemon-gzip-download.test	2004-07-03 20:17:33
@@ -29,9 +29,9 @@ export RSYNC_CONNECT_PROG
 hands_setup
 
 # Build chkdir with a normal rsync and an --exclude.
-$RSYNC -av --exclude=foobar.baz "$fromdir/" "$chkdir/"
+$RSYNC -adv --exclude=foobar.baz "$fromdir/" "$chkdir/"
 
-checkit "$RSYNC -avvvvz localhost::test-from/ \"$todir/\"" "$chkdir" "$todir"
+checkit "$RSYNC -advvvvz localhost::test-from/ \"$todir/\"" "$chkdir" "$todir"
 
 # The script would have aborted on error, so getting here means we've won.
 exit 0
--- orig/testsuite/daemon-gzip-upload.test	2004-05-18 09:14:24
+++ testsuite/daemon-gzip-upload.test	2004-07-03 20:17:33
@@ -23,9 +23,9 @@ export RSYNC_CONNECT_PROG
 hands_setup
 
 # Build chkdir with a normal rsync and an --exclude.
-$RSYNC -av --exclude=foobar.baz "$fromdir/" "$chkdir/"
+$RSYNC -adv --exclude=foobar.baz "$fromdir/" "$chkdir/"
 
-checkit "$RSYNC -avvvvz \"$fromdir/\" localhost::test-to/" "$chkdir" "$todir"
+checkit "$RSYNC -advvvvz \"$fromdir/\" localhost::test-to/" "$chkdir" "$todir"
 
 # The script would have aborted on error, so getting here means we've won.
 exit 0
--- orig/testsuite/devices.test	2004-09-23 17:42:07
+++ testsuite/devices.test	2004-07-03 20:17:33
@@ -30,7 +30,7 @@ mknod "$fromdir/block2" b 42 73 || test_
 mknod "$fromdir/block3" b 105 73 || test_skipped "Can't create block device node unless root"
 mkfifo "$fromdir/fifo" || test_skipped "Can't run mkfifo"
 
-checkit "$RSYNC -aHvv \"$fromdir/\" \"$todir/\"" "$fromdir" "$todir"
+checkit "$RSYNC -adHvv \"$fromdir/\" \"$todir/\"" "$fromdir" "$todir"
 
 # The script would have aborted on error, so getting here means we've won.
 exit 0
--- orig/testsuite/duplicates.test	2004-05-18 09:14:24
+++ testsuite/duplicates.test	2004-07-03 20:17:33
@@ -33,7 +33,7 @@ ln -s "$name1" "$name2" || fail "can't c
 
 outfile="$scratchdir/rsync.out"
 
-checkit "$RSYNC -avv \"$fromdir/\" \"$fromdir/\" \"$fromdir/\" \"$fromdir/\" \"$fromdir/\" \"$fromdir/\" \"$fromdir/\" \"$fromdir/\" \"$fromdir/\" \"$fromdir/\" \"$todir/\"" "$fromdir" "$todir" \
+checkit "$RSYNC -advv \"$fromdir/\" \"$fromdir/\" \"$fromdir/\" \"$fromdir/\" \"$fromdir/\" \"$fromdir/\" \"$fromdir/\" \"$fromdir/\" \"$fromdir/\" \"$fromdir/\" \"$todir/\"" "$fromdir" "$todir" \
     | tee "$outfile"
 
 # Make sure each file was only copied once...
--- orig/testsuite/exclude.test	2004-05-29 21:25:45
+++ testsuite/exclude.test	2004-07-03 20:17:33
@@ -66,7 +66,7 @@ EOF
 
 # Create the chk dir with what we expect to be excluded
 
-checkit "$RSYNC -avv \"$fromdir/\" \"$chkdir/\"" "$fromdir" "$chkdir"
+checkit "$RSYNC -advv \"$fromdir/\" \"$chkdir/\"" "$fromdir" "$chkdir"
 
 sleep 1 # Ensures that the rm commands will tweak the directory times.
 
@@ -78,11 +78,11 @@ rm "$chkdir"/mid/for/foo/extra
 
 # Un-tweak the directory times in our first (weak) exclude test (though
 # it's a good test of the --existing option).
-$RSYNC -av --existing --include='*/' --exclude='*' "$fromdir/" "$chkdir/"
+$RSYNC -adv --existing --include='*/' --exclude='*' "$fromdir/" "$chkdir/"
 
 # Now, test if rsync excludes the same files.
 
-checkit "$RSYNC -avv --exclude-from=\"$excl\" \"$fromdir/\" \"$todir/\"" "$chkdir" "$todir"
+checkit "$RSYNC -advv --exclude-from=\"$excl\" \"$fromdir/\" \"$todir/\"" "$chkdir" "$todir"
 
 # Modify the chk dir by removing cvs-ignored files and then tweaking the dir times.
 
@@ -92,12 +92,12 @@ rm "$chkdir"/bar/down/to/foo/*.junk
 rm "$chkdir"/bar/down/to/home-cvs-exclude
 rm "$chkdir"/mid/one-in-one-out
 
-$RSYNC -av --existing --include='*/' --exclude='*' "$fromdir/" "$chkdir/"
+$RSYNC -adv --existing --include='*/' --exclude='*' "$fromdir/" "$chkdir/"
 
 # Now, test if rsync excludes the same files, this time with --cvs-exclude
 # and --delete-excluded.
 
-checkit "$RSYNC -avvC --exclude-from=\"$excl\" \
+checkit "$RSYNC -advvC --exclude-from=\"$excl\" \
     --delete-excluded \"$fromdir/\" \"$todir/\"" "$chkdir" "$todir"
 
 # The script would have aborted on error, so getting here means we've won.
--- orig/testsuite/hands.test	2004-05-18 09:14:24
+++ testsuite/hands.test	2004-07-03 20:17:33
@@ -11,19 +11,19 @@ hands_setup
 
 # Main script starts here
 
-runtest "basic operation" 'checkit "$RSYNC -av \"$fromdir/\" \"$todir\"" "$fromdir/" "$todir"'
+runtest "basic operation" 'checkit "$RSYNC -adv \"$fromdir/\" \"$todir\"" "$fromdir/" "$todir"'
 
 ln "$fromdir/filelist" "$fromdir/dir"
-runtest "hard links" 'checkit "$RSYNC -avH \"$fromdir/\" \"$todir\"" "$fromdir/" "$todir"'
+runtest "hard links" 'checkit "$RSYNC -advH \"$fromdir/\" \"$todir\"" "$fromdir/" "$todir"'
 
 rm "$todir/text"
-runtest "one file" 'checkit "$RSYNC -avH \"$fromdir/\" \"$todir\"" "$fromdir/" "$todir"'
+runtest "one file" 'checkit "$RSYNC -advH \"$fromdir/\" \"$todir\"" "$fromdir/" "$todir"'
 
 echo "extra line" >> "$todir/text"
-runtest "extra data" 'checkit "$RSYNC -avH \"$fromdir/\" \"$todir\"" "$fromdir/" "$todir"'
+runtest "extra data" 'checkit "$RSYNC -advH \"$fromdir/\" \"$todir\"" "$fromdir/" "$todir"'
 
 cp "$fromdir/text" "$todir/ThisShouldGo"
-runtest " --delete" 'checkit "$RSYNC --delete -avH \"$fromdir/\" \"$todir\"" "$fromdir/" "$todir"'
+runtest " --delete" 'checkit "$RSYNC --delete -advH \"$fromdir/\" \"$todir\"" "$fromdir/" "$todir"'
 
 # The script would have aborted on error, so getting here means we've won.
 exit 0
--- orig/testsuite/hardlinks.test	2004-05-18 09:14:24
+++ testsuite/hardlinks.test	2004-07-03 20:17:33
@@ -31,7 +31,7 @@ ln "$name1" "$name2" || fail "Can't crea
 ln "$name2" "$name3" || fail "Can't create hardlink"
 cp "$name2" "$name4" || fail "Can't copy file"
 
-checkit "$RSYNC -aHvv \"$fromdir/\" \"$todir/\"" "$fromdir" "$todir"
+checkit "$RSYNC -adHvv \"$fromdir/\" \"$todir/\"" "$fromdir" "$todir"
 
 # The script would have aborted on error, so getting here means we've won.
 exit 0
--- orig/testsuite/longdir.test	2004-05-18 09:50:26
+++ testsuite/longdir.test	2004-07-03 20:17:33
@@ -18,7 +18,7 @@ makepath "$longdir" || test_skipped "una
 touch "$longdir/1" || test_skipped "unable to create files in long directory"
 date > "$longdir/1"
 ls -la / > "$longdir/2"
-checkit "$RSYNC --delete -avH \"$fromdir/\" \"$todir\"" "$fromdir/" "$todir"
+checkit "$RSYNC --delete -advH \"$fromdir/\" \"$todir\"" "$fromdir/" "$todir"
 
 # The script would have aborted on error, so getting here means we've won.
 exit 0
--- orig/testsuite/merge.test	2004-05-18 09:14:24
+++ testsuite/merge.test	2004-07-03 20:17:33
@@ -40,9 +40,9 @@ cp -p "$from2dir"/sub1/uno "$from3dir"/s
 cp -p "$from3dir"/sub2/subby "$chkdir"/sub2
 
 # Get rid of any directory-time differences
-$RSYNC -av --existing --include='*/' --exclude='*' "$from1dir/" "$from2dir/" "$from3dir/" "$chkdir/"
+$RSYNC -adv --existing --include='*/' --exclude='*' "$from1dir/" "$from2dir/" "$from3dir/" "$chkdir/"
 
-checkit "$RSYNC -aHvv \"$from1dir/\" \"$from2dir/\" \"$from3dir/\" \"$todir/\"" "$chkdir" "$todir"
+checkit "$RSYNC -adHvv \"$from1dir/\" \"$from2dir/\" \"$from3dir/\" \"$todir/\"" "$chkdir" "$todir"
 
 # The script would have aborted on error, so getting here means we've won.
 exit 0
--- orig/testsuite/ssh-basic.test	2004-05-18 09:14:24
+++ testsuite/ssh-basic.test	2004-07-03 20:17:33
@@ -28,7 +28,7 @@ fi
 # nothing to do.
 hands_setup
 
-runtest "ssh: basic test" 'checkit "$RSYNC -avH -e ssh --rsync-path=$RSYNC \"$fromdir/\" \"localhost:$todir\"" "$fromdir/" "$todir"'
+runtest "ssh: basic test" 'checkit "$RSYNC -advH -e ssh --rsync-path=$RSYNC \"$fromdir/\" \"localhost:$todir\"" "$fromdir/" "$todir"'
 
 # Added by Steve Bonds Feb 2 2003
 # I assumed that "F1" was intended to hold a single file for testing if
@@ -40,4 +40,4 @@ F1=`ls "$todir" | head -5 | tail -1`
 
 mv "$todir/$F1" "$todir/ThisShouldGo"
 
-runtest "ssh: renamed file" 'checkit "$RSYNC --delete -avH -e ssh --rsync-path=$RSYNC \"$fromdir/\" \"localhost:$todir\"" "$fromdir/" "$todir"'
+runtest "ssh: renamed file" 'checkit "$RSYNC --delete -advH -e ssh --rsync-path=$RSYNC \"$fromdir/\" \"localhost:$todir\"" "$fromdir/" "$todir"'
--- orig/testsuite/unsafe-links.test	2004-05-18 09:14:24
+++ testsuite/unsafe-links.test	2004-07-03 20:17:33
@@ -35,33 +35,33 @@ ln -s ../../unsafe/unsafefile "from/safe
 set -x
 
 echo "rsync with relative path and just -a";
-$RSYNC -avv from/safe/ to
+$RSYNC -advv from/safe/ to
 test_symlink to/links/file1
 test_symlink to/links/file2
 test_symlink to/links/unsafefile
 
 echo "rsync with relative path and -a --copy-links"
-$RSYNC -avv --copy-links from/safe/ to
+$RSYNC -advv --copy-links from/safe/ to
 test_regular to/links/file1
 test_regular to/links/file2
 test_regular to/links/unsafefile
 
 echo "rsync with relative path and --copy-unsafe-links";
-$RSYNC -avv --copy-unsafe-links from/safe/ to
+$RSYNC -advv --copy-unsafe-links from/safe/ to
 test_symlink to/links/file1
 test_symlink to/links/file2
 test_regular to/links/unsafefile
 
 rm -rf to
 echo "rsync with relative2 path";
-(cd from; $RSYNC -avv --copy-unsafe-links safe/ ../to)
+(cd from; $RSYNC -advv --copy-unsafe-links safe/ ../to)
 test_symlink to/links/file1
 test_symlink to/links/file2
 test_regular to/links/unsafefile
 
 rm -rf to
 echo "rsync with absolute path";
-$RSYNC -avv --copy-unsafe-links `pwd`/from/safe/ to
+$RSYNC -advv --copy-unsafe-links `pwd`/from/safe/ to
 test_symlink to/links/file1
 test_symlink to/links/file2
 test_regular to/links/unsafefile
