*** client: freebsd 8.4-STABLE rsync 3.1.1 root 224 > /usr/local/bin/rsync --address=10.246.110.2 -zz -v --fileflags --force-change --numeric-ids --force --super -8 toor@droplet02::grizzle/ /bkup/droplet02 rsync error: error in rsync protocol data stream (code 12) at io.c(226} [Receiver=3.1.1] *** server: freebsd 11.4-STABLE rsync 3.2.2 rsync error: protocol incompatibility (code 2) at compat.c(723) [sender=3.2.2] This started happening after I upgraded the server from rsync version 3.1.3 to 3.2.2 it works if "--fileflags" is removed
Yup, the older --file-flags patch isn't compatible with the newer one.
(In reply to Wayne Davison from comment #1) What should we do instead to keep the same functionality?
It's not a trivial exercise to upgrade the rsync version on the target system, so it would be useful if there was some kind of "back patch" available | suspect there might be others with similar issues ...
The pre-release patches aren't guaranteed to be backward compatible, and in this case the bits that were used in a couple different patches actually conflicted with each other. So, when --atimes was promoted it became impossible for anything using the older --fileflags patch to work with a newer rsync (or the older --crtimes option, which also had to change bits). Your best bet is to either copy an extra rsync binary onto the non-upgraded target system (it doesn't have to be installed) and use the --rsync-path option to tell rsync where to run the newer version OR to copy an older rsync version onto the upgraded system so that you can use that rsync-old-fileflags binary to copy to a system with the older patch.