Help understanding --update

Thanks for your update :slight_smile:

I re-read the code again, and realised I'd got the cases the wrong way round, so I've taken your docs and tweaked them with the new info.

OK?

-u, --update

This forces rclone to skip any files which exist on the destination
and have a modified time that is newer than the source file.

This can be useful in avoiding needless transfers when transferring to
a remote which doesn't support modification times directly (or when
using --use-server-modtime to avoid extra API calls) as it is more
accurate than a --size-only check and faster than using
--checksum. On such remotes (or when using --use-server-modtime)
the time checked will be the uploaded time.

If an existing destination file has a modification time older the source
file's, it will be updated if the sizes are different. If the sizes
are the same, it will be updated if the checksum is different or not
available.

If an existing destination file has a modification time equal (within
the computed modify window) to the source file's, it will be updated
if the sizes are different. The checksum will not be checked in this
case unless the --checksum flag is provided.

In all other cases the file will not be updated.

Consider using the --modify-window flag to compensate for time skews
between the source and the backend, for backends that do not support
mod times, and instead use uploaded times. However, if the backend
does not support checksums, note that sync'ing or copying within the
time skew window may still result in additional transfers for safety.