Created attachment 9052 [details]
Shell script that shows the problem.
Some recursive rsync that should have deleted a remote subdirectory with some files in it. It cannot do that, as the permissions on the remote machine don't allow deletion.
rsync should give a useful error message and terminate with an exit value that is not 0.
While rsync does give a useful error message, it terminates with exit value 0.
I enclose a script that demonstrates the problem, with rsync version 3.0.9 on both ends.
Please test 3.1.0dev instead.
I grabbed the git sources as of 2013-07-13 and buildm62327b1281be9151423048235573e0ca208fc095 on my machine. Used that compile results on both ends, by using localhost and adding --rsync-path in my script as provided.
The bug reproduces with that version.
I checked in a fix for this the other day. Thanks for the report!
The same problem persists for flags --remove-source-files, no error value is returned when remote files could not be deleted, eg. due to no write permissions. Tested on 3.1.1pre version.