+ #define XFLG_ABS_IF_SLASH (1<<3)
++#define XFLG_CVS_ENTRIES (1<<4)
+
+ #define ATTRS_REPORT (1<<0)
+ #define ATTRS_SKIP_MTIME (1<<1)
+diff --git a/testsuite/exclude.test b/testsuite/exclude.test
+--- a/testsuite/exclude.test
++++ b/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/file1.bak"
+ 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
+@@ -102,7 +106,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
+
+ # Start with a check of --prune-empty-dirs:
+@@ -136,6 +151,10 @@ checkit "$RSYNC -avv --exclude-from='$excl' \
+ # 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
+@@ -151,8 +170,12 @@ checkit "$RSYNC -avvC --filter='merge $excl' --delete-excluded \
+
+ # 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