This isn't a direct answer to the question you asked, but it's
possible it might be helpful.
I've no idea how hard it is to make the requested change to rsync.
But if you're using rsync-over-rsh or (my favourite) rsync-over-ssh,
and not the rsync-server protocol, then it should be easy to script
this.
Have the script pull a timestamp listing from the dst to the src,
and compare with the timestamps locally, and so produce a list of
files where they don't match; use that list as a --include for
running the rsync algorithm just over them.
Supposing you're using rsync-over-ssh, perhaps the script might
start something like
ssh -C $dsthost find $dstpath -type f -printf '%P %T@\n' \
\| sort \| bzip2 | bzip2 -d
comm -23 <(find $srcpath -type f -printf '%P %T@\n' \
| sort) | awk '{print $1}' >files-changed
I'm not quite clear about the exact rsync invocation you'd want to
use to rsync only the files named in files-changed, but at least
this might be a starting point. Also, this could probably be worked
from the other end as well, for pull rather than push, but I don't
know if that might make any odd differences with newly-created
files.
-Bennett
PGP signature