mirror of
https://github.com/rclone/rclone.git
synced 2026-10-06 21:14:10 -04:00
When the backend has no DirMove method, operations.DirMove moves the objects one by one. If one of the moves failed the movers stopped without receiving the rest of the objects, so DirMove blocked forever once the channel filled up. This could be seen renaming a directory on a mount of a backend without DirMove, such as s3. The moves were also done with context.Background() instead of the caller's context, so they didn't have the caller's config, couldn't be cancelled and weren't counted in the caller's stats.