mirror of
https://github.com/rclone/rclone.git
synced 2026-05-12 10:03:35 -04:00
When --fix-case was used (e.g. by bisync) on backends that can't set modification times in place - such as Dropbox - files whose content matched but whose modtimes differed would fail to rename with a "from_lookup/not_found" error and abort the operation. This happened because operations.NeedTransfer was called before the fix-case rename. NeedTransfer's equality check would delete the destination as a precursor to re-uploading it (the standard way to update a modtime on these backends), so by the time the rename ran the file no longer existed on the remote. Fix by running the fix-case rename first, so that any subsequent delete/re-upload happens at the correctly-cased destination path. See: #8881