Commit | Line | Data |
---|---|---|
5d24ee71 WD |
1 | #!/bin/sh |
2 | ||
3 | # Copyright (C) 2005 by Wayne Davison <wayned@samba.org> | |
4 | # | |
5 | # This program is distributable under the terms of the GNU GPL (see COPYING) | |
6 | ||
7 | . "$suitedir/rsync.fns" | |
8 | ||
9 | deepstr='down/3/deep' | |
10 | deepdir="$fromdir/$deepstr" | |
89b76bac WD |
11 | extradir="$fromdir/extra" |
12 | makepath "$deepdir" "$extradir/$deepstr" "$chkdir" | |
13 | ||
5d24ee71 WD |
14 | fromdir="$deepdir" |
15 | hands_setup | |
16 | fromdir="$tmpdir/from" | |
17 | ||
89b76bac WD |
18 | extrafile="$extradir/./$deepstr/extra.added.value" |
19 | echo wowza >"$extrafile" | |
20 | ||
d0a6cdb6 WD |
21 | $RSYNC -av --existing --include='*/' --exclude='*' "$fromdir/" "$extradir/" |
22 | ||
5d24ee71 WD |
23 | outfile="$scratchdir/rsync.out" |
24 | ||
25 | cd "$fromdir" | |
26 | ||
27 | # Main script starts here | |
28 | ||
89b76bac WD |
29 | $RSYNC -ai --include=/down/ --exclude='/*' "$fromdir/" "$chkdir/" |
30 | ||
56078033 | 31 | sleep 1 |
89b76bac | 32 | runtest "basic relative" 'checkit "$RSYNC -avR ./$deepstr \"$todir\"" "$chkdir" "$todir"' |
5d24ee71 | 33 | |
89b76bac WD |
34 | ln $deepstr/filelist $deepstr/dir |
35 | ln ../chk/$deepstr/filelist ../chk/$deepstr/dir | |
36 | runtest "hard links" 'checkit "$RSYNC -avHR ./$deepstr/ \"$todir\"" "$chkdir" "$todir"' | |
5d24ee71 WD |
37 | |
38 | cp "$deepdir/text" "$todir/$deepstr/ThisShouldGo" | |
39 | cp "$deepdir/text" "$todir/$deepstr/dir/ThisShouldGoToo" | |
89b76bac | 40 | runtest "deletion" 'checkit "$RSYNC -avHR --del ./$deepstr/ \"$todir\"" "$chkdir" "$todir"' |
5d24ee71 | 41 | |
89b76bac | 42 | runtest "non-deletion" 'checkit "$RSYNC -aiHR --del ./$deepstr/ \"$todir\"" "$chkdir" "$todir"' \ |
5d24ee71 WD |
43 | | tee "$outfile" |
44 | ||
45 | # Make sure no files were deleted | |
46 | grep 'deleting ' "$outfile" && test_fail "Erroneous deletions occurred!" | |
47 | ||
89b76bac WD |
48 | # Relative with merging. |
49 | $RSYNC -ai "$extradir/down" "$chkdir/" | |
50 | ||
51 | checkit "$RSYNC -aiR $deepstr '$extrafile' '$todir'" "$chkdir" "$todir" | |
52 | ||
53 | checkit "$RSYNC -aiR --del $deepstr '$extrafile' '$todir'" "$chkdir" "$todir" \ | |
54 | | tee "$outfile" | |
55 | ||
56 | # Make sure no files were deleted | |
57 | grep 'deleting ' "$outfile" && test_fail "Erroneous deletions occurred! (2)" | |
58 | ||
5d24ee71 WD |
59 | # The script would have aborted on error, so getting here means we've won. |
60 | exit 0 |