Summary: an xattr filter rule (e.g. --filter='-x! user.*’, which is suggested by the documentation) is treated as a file filter rule on the remote side.
Repro #1, sender is local: host1$ rsync --filter=‘-x! user.*' -avvvHX --delete /tmp/test/. host2:test ... [Receiver] add_rule(-! user.*) Repro #2, sender is remote: host1$ rsync --filter=‘-x! user.*' -avvvHX --delete host2:test/. /tmp/test ... [sender] add_rule(-! user.*) One possible and quite dangerous symptom of this is that the incorrect (-! user.*) rule matches (almost) all remote files, therefore in repro #1, no remote files are deleted, and in repro #2, nothing is transferred and all local files are deleted. Environment: macOS 10.13.4, homebrew, https://github.com/Homebrew/homebrew-core/blob/master/Formula/rsync.rb rsync version 3.1.3 protocol version 31 Capabilities: 64-bit files, 64-bit inums, 64-bit timestamps, 64-bit long ints, socketpairs, hardlinks, symlinks, IPv6, batchfiles, inplace, append, ACLs, xattrs, iconv, symtimes, no prealloc, file-flags -- Please use reply-all for most replies to avoid omitting the mailing list. To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/rsync Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html