In an empty directory, run:
rsync -r --delete src/
drwx------ 48 2007/11/19 16:54:29 .
rsync: delete_file: rmdir(src) failed: Read-only file system (30)
rsync error: some files could not be transferred (code 23) at main.c(1059) [sender=3.0.0pre5]
Rsync should not be trying to delete in list-only mode! Thank goodness for the check in syscall.c or I might have had some serious data loss.
The error occurs only when incremental recursion is in use. The trouble is that the call to delete_in_dir at generator.c:2051 is not conditioned on !list_only . To prevent more mistakes like this, it might make sense to set dry_run to a large value in list-only mode.
This is now fixed in git. Thanks for the report!