+ #define ATTRS_REPORT (1<<0)
+ #define ATTRS_SKIP_MTIME (1<<1)
+--- old/testsuite/exclude.test
++++ new/testsuite/exclude.test
+@@ -19,6 +19,7 @@ export CVSIGNORE
+
+ makepath "$fromdir/foo/down/to/you"
+ makepath "$fromdir/foo/sub"
++makepath "$fromdir/bar/down/to/CVS"
+ makepath "$fromdir/bar/down/to/foo/too"
+ makepath "$fromdir/bar/down/to/bar/baz"
+ makepath "$fromdir/mid/for/foo/and/that/is/who"
+@@ -57,6 +58,9 @@ echo cvsout >"$fromdir/bar/down/to/foo/f
+ echo gone >"$fromdir/bar/down/to/foo/file3"
+ echo lost >"$fromdir/bar/down/to/foo/file4"
+ echo weird >"$fromdir/bar/down/to/foo/+ file3"
++echo cvsin >"$fromdir/bar/down/to/not.junk"
++echo cvsout >"$fromdir/bar/down/to/not.good"
++echo cvsout >"$fromdir/bar/down/to/D"
+ echo cvsout-but-filtin >"$fromdir/bar/down/to/foo/file4.junk"
+ echo smashed >"$fromdir/bar/down/to/foo/to"
+ cat >"$fromdir/bar/down/to/bar/.filt2" <<EOF
+@@ -103,7 +107,18 @@ cat >"$excl" <<EOF
+ EOF
+
+ cat >"$scratchdir/.cvsignore" <<EOF
+-home-cvs-exclude
++home-cvs-exclude D
++EOF
++cat >"$fromdir/bar/down/to/CVS/Entries" <<EOF
++/not.junk/1.1/Mon Jan 1 11:11:11 2001//
++filt2
++/another.file/1.1/Tue Jan 1 22:22:22 2002//
++invalid lines should just be ignored...
++D/directory////
++D
++EOF
++cat >"$fromdir/bar/down/to/.cvsignore" <<EOF
++not.good
+ EOF
+
+ # Create the chk dir with what we expect to be excluded
+@@ -132,6 +147,10 @@ checkit "$RSYNC -avv --exclude-from=\"$e
+ # Modify the chk dir by removing cvs-ignored files and then tweaking the dir times.
+
+ rm "$chkdir"/foo/*.old
++rm "$chkdir"/bar/down/to/D
++rm "$chkdir"/bar/down/to/CVS/Entries
++rmdir "$chkdir"/bar/down/to/CVS
++rm "$chkdir"/bar/down/to/not.good
+ rm "$chkdir"/bar/down/to/foo/*.bak
+ rm "$chkdir"/bar/down/to/foo/*.junk
+ rm "$chkdir"/bar/down/to/home-cvs-exclude
+@@ -147,8 +166,12 @@ checkit "$RSYNC -avvC --filter=\"merge $
+
+ # Modify the chk dir for our merge-exclude test and then tweak the dir times.
+
++makepath "$chkdir/bar/down/to/CVS"
+ rm "$chkdir"/foo/file1
+ rm "$chkdir"/bar/down/to/bar/baz/*.deep
++cp -p "$fromdir"/bar/down/to/D "$chkdir"/bar/down/to/D
++cp -p "$fromdir"/bar/down/to/not.good "$chkdir"/bar/down/to/not.good
++cp -p "$fromdir"/bar/down/to/CVS/Entries "$chkdir"/bar/down/to/CVS/Entries
+ cp -p "$fromdir"/bar/down/to/foo/*.junk "$chkdir"/bar/down/to/foo
+ cp -p "$fromdir"/bar/down/to/foo/to "$chkdir"/bar/down/to/foo
+