X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/3f7afe7ec1cc499c811e1455bb5ff8748cd2a07a..d724dd186ed6a2d66fa13a9357ce91e459d39e8c:/testsuite/relative.test diff --git a/testsuite/relative.test b/testsuite/relative.test index 8ff20df4..4d578ed1 100644 --- a/testsuite/relative.test +++ b/testsuite/relative.test @@ -8,32 +8,53 @@ deepstr='down/3/deep' deepdir="$fromdir/$deepstr" -makepath "$deepdir" +extradir="$fromdir/extra" +makepath "$deepdir" "$extradir/$deepstr" "$chkdir" + fromdir="$deepdir" hands_setup fromdir="$tmpdir/from" +extrafile="$extradir/./$deepstr/extra.added.value" +echo wowza >"$extrafile" + +$RSYNC -av --existing --include='*/' --exclude='*' "$fromdir/" "$extradir/" + outfile="$scratchdir/rsync.out" cd "$fromdir" # Main script starts here +$RSYNC -ai --include=/down/ --exclude='/*' "$fromdir/" "$chkdir/" + sleep 1 -runtest "basic relative" 'checkit "$RSYNC -avR ./$deepstr \"$todir\"" "$fromdir/" "$todir"' +runtest "basic relative" 'checkit "$RSYNC -avR ./$deepstr \"$todir\"" "$chkdir" "$todir"' -ln "$deepdir/filelist" "$deepdir/dir" -runtest "hard links" 'checkit "$RSYNC -avHR ./$deepstr/ \"$todir\"" "$fromdir/" "$todir"' +ln $deepstr/filelist $deepstr/dir +ln ../chk/$deepstr/filelist ../chk/$deepstr/dir +runtest "hard links" 'checkit "$RSYNC -avHR ./$deepstr/ \"$todir\"" "$chkdir" "$todir"' cp "$deepdir/text" "$todir/$deepstr/ThisShouldGo" cp "$deepdir/text" "$todir/$deepstr/dir/ThisShouldGoToo" -runtest "deletion" 'checkit "$RSYNC -avHR --delete ./$deepstr/ \"$todir\"" "$fromdir/" "$todir"' +runtest "deletion" 'checkit "$RSYNC -avHR --del ./$deepstr/ \"$todir\"" "$chkdir" "$todir"' -runtest "non-deletion" 'checkit "$RSYNC -aiHR --delete ./$deepstr/ \"$todir\"" "$fromdir/" "$todir"' \ +runtest "non-deletion" 'checkit "$RSYNC -aiHR --del ./$deepstr/ \"$todir\"" "$chkdir" "$todir"' \ | tee "$outfile" # Make sure no files were deleted grep 'deleting ' "$outfile" && test_fail "Erroneous deletions occurred!" +# Relative with merging. +$RSYNC -ai "$extradir/down" "$chkdir/" + +checkit "$RSYNC -aiR $deepstr '$extrafile' '$todir'" "$chkdir" "$todir" + +checkit "$RSYNC -aiR --del $deepstr '$extrafile' '$todir'" "$chkdir" "$todir" \ + | tee "$outfile" + +# Make sure no files were deleted +grep 'deleting ' "$outfile" && test_fail "Erroneous deletions occurred! (2)" + # The script would have aborted on error, so getting here means we've won. exit 0