here is my output:
[root@timber root]$ rsync -azvv --password-file=/etc/tinydns/root/parole /etc/tinydns/root/*.cdb rsync://email@example.com/timberdns
opening tcp connection to 220.127.116.11 port 873
opening connection using --server -vvlogDtprz . timberdns
RSYNC_PASSWORD environment variable ignored
building file list ...
total: matches=0 hash_hits=0 false_alarms=0 data=0
sent 47 bytes received 16 bytes 126.00 bytes/sec
total size is 3065 speedup is 48.65
rsync error: some files could not be transferred (code 23) at main.c(977) [sender=2.6.9]
here is the log on the remote server:
2007/05/10 16:21:02  name lookup failed for 18.104.22.168: Name or service not known
2007/05/10 16:21:02  connect from UNKNOWN (22.214.171.124)
2007/05/10 16:21:02  rsync to timberdns from debija@UNKNOWN (126.96.36.199)
2007/05/10 13:21:02  receiving file list
2007/05/10 13:21:02  sent 85 bytes received 121 bytes total size 3065
the point is I want to transfer one file. if the file is updated it transfers OK but it always displays the transfer error. why?
The reason for the error-exit value is that rsync output that message about not using the RSYNC_PASSWORD environment variable as an error, which makes rsync think that something went wrong with the file transfer.
I could have changed the message from an "FERROR" to an "FINFO" message, but I don't see the purpose in having rsync comment on the presence of an environment variable when it was explicitly told to use a file on the command-line. I have fixed in this in CVS by removing the message.