remotely-save/docs/sync_algorithm_v3.md
2024-01-17 01:24:39 +08:00

1.1 KiB

Sync Algorithm V3

Drafted on 20240117.

An absolutely better sync algorithm. Better for tracking deletions and better for subbranching.

Huge Thanks

Basically a combination of algorithm v2 + synclone + rsinc + (some of rclone bisync). All of the later three are released under MIT License so no worries about the licenses.

Features

Must have

  1. true deletion detection
  2. deletion protection (blocking) with a setting
  3. transaction from the old algorithm
  4. user warning show up, new algorithm needs all clients to be updated! (deliberately corrput the metadata file??)
  5. filters
  6. conflict warning
  7. partial sync

Nice to have

  1. true time and hash
  2. conflict rename

Description

We have five input sources: local all files, remote all files, local previous succeeded sync history, local deletions, remote deletions.

Init run, consuming local deletions and remote deletions :

TBD

Later runs, use the first, second, third sources only.

TBD