CVSIGNORE='*.junk'
export HOME CVSIGNORE
+set -x
+
# Build some files/dirs/links to copy
makepath "$fromdir/foo/down/to/you"
+makepath "$fromdir/foo/sub"
makepath "$fromdir/bar/down/to/foo/too"
makepath "$fromdir/bar/down/to/bar/baz"
makepath "$fromdir/mid/for/foo/and/that/is/who"
- *.bak
- *.old
EOF
-echo kept >"$fromdir/foo/file1"
+echo filtered-1 >"$fromdir/foo/file1"
echo removed >"$fromdir/foo/file2"
echo cvsout >"$fromdir/foo/file2.old"
cat >"$fromdir/foo/.filt" <<EOF
include .filt
-- file1
+- /file1
EOF
+echo not-filtered-1 >"$fromdir/foo/sub/file1"
cat >"$fromdir/bar/.filt" <<EOF
- home-cvs-exclude
dir-merge .filt2
- /bar
# This should match against the whole path, not just the name.
+ foo**too
-# This should float at the end of the path.
+# These should float at the end of the path.
++ foo/s?b/
- foo/*/
# Test some normal excludes. Competing lines are paired.
+ t[o]/
rm "$chkdir"/bar/down/to/bar/.filt2
rm "$chkdir"/mid/.filt
-$RSYNC -av --existing --filter='-! */' "$fromdir/" "$chkdir/"
+$RSYNC -av --protocol=28 --existing --include='*/' --exclude='*' "$fromdir/" "$chkdir/"
# Now, try the prior command with --delete-before and some side-specific
# rules.