X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/12865a9762edff60375dfe4fce4a39787bf45be8..d051056f921f465c487a85f9fa29a2324332bc4b:/testsuite/merge.test diff --git a/testsuite/merge.test b/testsuite/merge.test index fcdc815f..80598149 100644 --- a/testsuite/merge.test +++ b/testsuite/merge.test @@ -7,46 +7,46 @@ # Make sure we can merge files from multiple directories into one. -. $srcdir/testsuite/rsync.fns - -set -x +. "$suitedir/rsync.fns" # Build some files/dirs/links to copy -fromdir="$scratchdir/from" from1dir="${fromdir}1" from2dir="${fromdir}2" from3dir="${fromdir}3" -todir="$scratchdir/to" -chkdir="$scratchdir/chk" mkdir "$from1dir" "$from2dir" "$from3dir" mkdir "$from2dir"/sub1 "$from3dir"/sub1 -mkdir "$from3dir"/sub2 -mkdir "$chkdir" "$chkdir"/sub1 "$chkdir"/sub2 +mkdir "$from3dir"/sub2 "$from1dir"/dir-and-not-dir +mkdir "$chkdir" "$chkdir"/sub1 "$chkdir"/sub2 "$chkdir"/dir-and-not-dir 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 +echo "extra" >"$from1dir"/dir-and-not-dir/inside +echo "not-dir" >"$from3dir"/dir-and-not-dir cp -p "$from1dir"/one "$from1dir"/two "$from2dir"/three "$from3dir"/four "$from1dir"/five "$from3dir"/six "$chkdir" +cp -p "$from1dir"/dir-and-not-dir/inside "$chkdir"/dir-and-not-dir 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 -f 'exclude,! */' "$from1dir/" "$from2dir/" +$RSYNC -av --existing -f 'exclude,! */' "$from2dir/" "$from3dir/" +$RSYNC -av --existing -f 'exclude,! */' "$from1dir/" "$chkdir/" +$RSYNC -av --existing -f 'exclude,! */' "$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