-checkit "sed '/!/d' \"$excl\" | $RSYNC -avv -f :_.excl -f ._- \
- --delete-excluded \"$fromdir/\" \"$todir/\"" "$chkdir" "$todir"
+checkit "sed '/!/d' \"$excl\" |
+ $RSYNC -avv -f :_.excl -f ._- \
+ --delete-during \"$fromdir/\" \"$todir/\"" "$chkdir" "$todir"
+
+# Remove the files that --delete-excluded will delete.
+
+rm "$chkdir"/.excl
+rm "$chkdir"/bar/.excl
+rm "$chkdir"/bar/down/to/.excl2
+rm "$chkdir"/bar/down/to/foo/.excl2
+rm "$chkdir"/bar/down/to/bar/.excl2
+rm "$chkdir"/mid/.excl
+rm "$chkdir"/bar/down/to/bar/baz/nodel.deep
+
+$RSYNC -av --existing --include='*/' --exclude='*' "$fromdir/" "$chkdir/"
+
+# Finally, try the prior command with --delete-before and --delete-excluded.
+
+checkit "sed '/!/d' \"$excl\" |
+ $RSYNC -avv -f :_.excl -f ._- --delete-excluded \
+ --delete-before \"$fromdir/\" \"$todir/\"" "$chkdir" "$todir"