mkdir "$from3dir"/sub2
mkdir "$chkdir" "$chkdir"/sub1 "$chkdir"/sub2
echo "one" >"$from1dir"/one
-echo "uno" >"$from2dir"/one
-echo "1" >"$from3dir"/one
+cp -p "$from1dir"/one "$from2dir"/one
+cp -p "$from1dir"/one "$from3dir"/one
echo "two" >"$from1dir"/two
echo "three" >"$from2dir"/three
echo "four" >"$from3dir"/four
echo "five" >"$from1dir"/five
echo "six" >"$from3dir"/six
echo "sub1" >"$from2dir"/sub1/uno
-echo "hmm1" >"$from3dir"/sub1/uno
+cp -p "$from2dir"/sub1/uno "$from3dir"/sub1/uno
echo "sub2" >"$from3dir"/sub1/dos
echo "sub3" >"$from2dir"/sub1/tres
echo "subby" >"$from3dir"/sub2/subby
cp -p "$from2dir"/sub1/uno "$from3dir"/sub1/dos "$from2dir"/sub1/tres "$chkdir"/sub1
cp -p "$from3dir"/sub2/subby "$chkdir"/sub2
-# Fix the directory times
-$RSYNC -av --include='*/' --exclude='*' "$from3dir/" "$chkdir/"
-$RSYNC -av --include='*/' --exclude='*' "$from2dir/" "$chkdir/"
-$RSYNC -av --include='*/' --exclude='*' "$from1dir/" "$chkdir/"
+# Get rid of any directory-time differences
+$RSYNC -av --existing --include='*/' --exclude='*' "$from1dir/" "$from2dir/" "$from3dir/" "$chkdir/"
-checkit "$RSYNC -aHvv \"$fromdir\"?/ \"$todir/\"" "$chkdir" "$todir"
+checkit "$RSYNC -aHvv \"$from1dir/\" \"$from2dir/\" \"$from3dir/\" \"$todir/\"" "$chkdir" "$todir"
+# The script would have aborted on error, so getting here means we've won.
exit 0