With rsync 3.1.0, we got several new features, performance improvements and broken extended attribute syncing in OS X. Using the -X flag, we get this:
rsync error: protocol incompatibility (code 2) at io.c(599) [sender=3.1.0] rsync: [sender] write error: Broken pipe (32)
Patches have been commited, though the success rate of using them seems to be mixed. Given how critical rsync is to my “workflow”, I’m sticking with 3.0.9.
% brew install https://raw.github.com/Homebrew/homebrew-dupes/109dca908c6499116e07483d7afe8a1c3ef63ad6/rsync.rb
Alternatively, you can build and install the old fashioned way. As an example, I build my own material under
% cd /opt/src % curl -O "http://rsync.samba.org/ftp/rsync/src/rsync-3.0.9.tar.gz" % tar xzvf rsync-3.0.9.tar.gz % cd rsync-3.0.9 % ./configure --prefix=/opt % sudo make install clean
The early pre–releases of 3.1.1 indicate they’ve fixed the issue. I’ve decided to skip 3.1.0 entirely and wait for this release.