rclone / rclone/rclone

OneDrive (union) reuploading files instead of just changing mod-time

Open
#4,869 5 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

change detection Remote: One Drive Remote: Union
Dominant language
Go
Stars
59.8k
Forks
5.4k
Avg merge
2d 14h
Merged PRs (30d)
48

Description

I am syncing a very large directory from Google Drive to OneDrive for Business. I noticed that when last modified time is changed in Google Drive, Microsoft OneDrive (as union) backend reuploading files instead of just updating the mod-time.

v1.53.3
Ubuntu 20.04
Microsoft OneDrive for Business accounts as Union

rclone sync gdrive: union: --onedrive-no-versions -P

Log says:

2020/12/14 20:22:13 DEBUG : testfile.zip: Modification times differ by 11m12.586s: 2020-12-14 14:10:26.414 +0000 UTC, 2020-12-14 14:21:39 +0000 UTC

In this case testfile.zip mod-time has changed but the file itself is unchanged. But Union OneDrive re-uploading the files instead of just changing the mod-time.

When using without Union, rclone simply updating mod-time in destination.
So, something wrong with Union backend. I'm using default settings for union if that matters.


How to reproduce:

  1. Create a union backend using OneDrive
  2. Upload a file.
  3. Wait a few seconds then touch the file.
  4. The sync again

It will reupload file instead of just updating mod-time.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing the union backend's handling of modification-time changes during sync, using the supplied OneDrive reproduction as the starting point. Verify behavior with the listed rclone command and confirm that touching an unchanged file updates its destination modification time without reuploading it.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
backend, cloud
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.