]> git.ipfire.org Git - thirdparty/rsync.git/commit
testsuite: filtering coverage at depth
authorAndrew Tridgell <andrew@tridgell.net>
Sat, 23 May 2026 21:55:45 +0000 (07:55 +1000)
committerAndrew Tridgell <andrew@tridgell.net>
Sun, 24 May 2026 02:31:52 +0000 (12:31 +1000)
commit922681e140afbf19386185bbf4ed129e3acc1aa8
tree5d58ae117a8eee78f27982fc03a0691686581863
parent273b9f265f1b0fb16e003139246157126205fe83
testsuite: filtering coverage at depth

Assert exactly which entries are/aren't transferred, deep in the tree:

  filter-depth      --exclude/--include precedence on files at every level, and
                    a -F per-directory .rsync-filter loaded from a deep dir that
                    applies to that subtree only (not above it).
  cvs-exclude       -C built-in cruft patterns (*.o, *~) at every level plus a
                    deep per-directory .cvsignore scoped to its subtree.
  size-filter       --max-size / --min-size select the right files all the way
                    down.
  files-from-depth  --files-from selects only the listed deep paths (implied
                    parents created); --from0 NUL-delimited; --exclude-from /
                    --include-from filter at depth.

(--existing / --ignore-existing are covered in delete-deep_test.py.)
Green on master and under --protocol=29/30.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
testsuite/cvs-exclude_test.py [new file with mode: 0644]
testsuite/files-from-depth_test.py [new file with mode: 0644]
testsuite/filter-depth_test.py [new file with mode: 0644]
testsuite/size-filter_test.py [new file with mode: 0644]