mirror of
https://github.com/rclone/rclone.git
synced 2026-10-28 14:28:38 -04:00
e6a2ddb2f888084b5015aa513c8573fc5c2401e1
Before this change, when a file was new or changed on both paths and the pre-sync conflict check deemed the two copies identical, bisync skipped the copy and then rechecked the file after the sync to get its listing info. If the recheck could not confirm equality (for example, hashes unavailable due to --size-only or (--ignore-checksum + no common hash)), the file was rolled back to be retried on the next run, and every later run repeated the same check with the same result. A later change on one side was then handled against a missing or stale listing entry. After this change, files we've declared identical pre-sync are no longer rechecked post-sync. The pre-sync conflict check now also returns the values it compared, and a skipped file is recorded from the listing snapshot. If either path changed between the snapshot and the check, the prior listing is kept and the next run rechecks. When --size-only or (--ignore-checksum + no common hash) are in use, the "new or changed on both paths and equal" case skips the conflict check entirely, because it is unnecessary. The check could only compare sizes, which we already know are equal from the snapshot. The new `test_equal_skipped`, `test_conflict_window`, and `test_conflict_window_size` scenarios cover identical files that change on one path during the sync, files that change between the listing snapshot and the check for identical files, and `--size-only` files with the same size but different content. Co-Authored-By: ASRodrigo1 <45823308+asrodrigo1@users.noreply.github.com>
Website | Documentation | Download | Contributing | Changelog | Installation | Forum
Rclone
Rclone ("rsync for cloud storage") is a command-line program to sync files and directories to and from different cloud storage providers.
Storage providers
- 1Fichier 📄
- Akamai Netstorage 📄
- Alibaba Cloud (Aliyun) Object Storage System (OSS) 📄
- Amazon S3 📄
- ArvanCloud Object Storage (AOS) 📄
- Bizfly Cloud Simple Storage 📄
- Backblaze B2 📄
- Box 📄
- Ceph 📄
- China Mobile Ecloud Elastic Object Storage (EOS) 📄
- Citrix ShareFile 📄
- Cloudflare R2 📄
- Cloudinary 📄
- Cubbit DS3 📄
- DigitalOcean Spaces 📄
- Digi Storage 📄
- dosya.dev 📄
- Dreamhost 📄
- Drime 📄
- Dropbox 📄
- Enterprise File Fabric 📄
- Exaba 📄
- Fastly Object Storage 📄
- Fastmail Files 📄
- FileLu 📄
- Filen 📄
- Files.com 📄
- FlashBlade 📄
- FTP 📄
- GoFile 📄
- Google Cloud Storage 📄
- Google Drive 📄
- Google Photos 📄
- HDFS (Hadoop Distributed Filesystem) 📄
- Hetzner Object Storage 📄
- Hetzner Storage Box 📄
- HiDrive 📄
- Hitachi Content Platform (HCP) 📄
- HTTP 📄
- Huawei Cloud Object Storage Service(OBS) 📄
- Huawei Drive 📄
- iCloud Drive 📄
- ImageKit 📄
- Internet Archive 📄
- Internxt 📄
- Jottacloud 📄
- IBM COS S3 📄
- Impossible Cloud 📄
- Intercolo Object Storage 📄
- IONOS Cloud 📄
- Koofr 📄
- Leviia Object Storage 📄
- Liara Object Storage 📄
- Linkbox 📄
- Linode Object Storage 📄
- Magalu Object Storage 📄
- Mail.ru Cloud 📄
- Memset Memstore 📄
- MEGA 📄
- MEGA S4 Object Storage 📄
- Memory 📄
- Microsoft Azure Blob Storage 📄
- Microsoft Azure Files Storage 📄
- Microsoft OneDrive 📄
- Minio 📄
- Nextcloud 📄
- Blomp Cloud Storage 📄
- OpenDrive 📄
- OpenStack Swift 📄
- Oracle Cloud Storage 📄
- Oracle Object Storage 📄
- Outscale 📄
- OVHcloud Object Storage (Swift) 📄
- OVHcloud Object Storage (S3-compatible) 📄
- ownCloud 📄
- pCloud 📄
- Petabox 📄
- PikPak 📄
- Pixeldrain 📄
- premiumize.me 📄
- put.io 📄
- Proton Drive 📄
- QingStor 📄
- Qiniu Cloud Object Storage (Kodo) 📄
- Rabata Cloud Storage 📄
- Quatrix 📄
- Rackspace Cloud Files 📄
- RackCorp Object Storage 📄
- RelAix.Storage 📄
- rsync.net 📄
- Scaleway 📄
- Scality (RING / ARTESCA) 📄
- Seafile 📄
- Seagate Lyve Cloud 📄
- SeaweedFS 📄
- Selectel Object Storage 📄
- Servercore Object Storage 📄
- SFTP 📄
- Shade 📄
- SMB / CIFS 📄
- Spectra Logic 📄
- Storj 📄
- SugarSync 📄
- Synology C2 Object Storage 📄
- Tencent Cloud Object Storage (COS) 📄
- Uloz.to 📄
- US3 Object Storage 📄
- Wasabi 📄
- WebDAV 📄
- Yandex Disk 📄
- Zadara Object Storage 📄
- Zero Services (ZERO-Z3) 📄
- Zoho WorkDrive 📄
- Zata.ai 📄
- The local filesystem 📄
Please see the full list of all storage providers and their features
Virtual storage providers
These backends adapt or modify other storage providers
- Alias: rename existing remotes 📄
- Archive: read archive files 📄
- Cache: cache remotes (DEPRECATED) 📄
- Chunker: split large files 📄
- Combine: combine multiple remotes into a directory tree 📄
- Compress: compress files 📄
- Crypt: encrypt files 📄
- Hasher: hash files 📄
- Union: join multiple remotes to work together 📄
Features
- MD5/SHA-1 hashes checked at all times for file integrity
- Timestamps preserved on files
- Partial syncs supported on a whole file basis
- Copy mode to just copy new/changed files
- Sync (one way) mode to make a directory identical
- Bisync (two way) to keep two directories in sync bidirectionally
- Check mode to check for file hash equality
- Can sync to and from network, e.g. two different cloud accounts
- Optional large file chunking (Chunker)
- Optional transparent compression (Compress)
- Optional encryption (Crypt)
- Optional FUSE mount (rclone mount)
- Multi-threaded downloads to local disk
- Can serve local or remote files over HTTP/WebDAV/FTP/SFTP/DLNA
Installation & documentation
Please see the rclone website for:
Downloads
License
This is free software under the terms of the MIT license (check the COPYING file included in this package).
Languages
Go
98.5%
Shell
0.4%
Python
0.4%
HTML
0.3%
JavaScript
0.2%
Other
0.1%