rclone/cmd
nielash 978cbf9360 bisync: generate final listing from sync results, not relisting -- fixes #5676
Before this change, if there were changes to sync, bisync listed each path
twice: once before the sync and once after. The second listing caused quite
a lot of problems, in addition to making each run much slower and more
expensive. A serious side-effect was that file changes could slip through
undetected, if they happened to occur while a sync was running (between the
first and second listing snapshots.)

After this change, the second listing is eliminated by getting the underlying
sync operation to report back a list of what it changed. Not only is this more
efficient, but also much more robust to concurrent modifications. It should no
longer be necessary to avoid make changes while it's running -- bisync will
simply learn about those changes next time and handle them on the next run.
Additionally, this also makes --check-sync usable again.

For further discussion, see:
https://forum.rclone.org/t/bisync-bugs-and-feature-requests/37636#:~:text=5.%20Final%20listings%20should%20be%20created%20from%20initial%20snapshot%20%2B%20deltas%2C%20not%20full%20re%2Dscans%2C%20to%20avoid%20errors%20if%20files%20changed%20during%20sync
2024-01-20 14:50:08 -05:00
..
about docs: group the global flags and make them appear on command and flags pages 2023-08-02 12:53:09 +01:00
all nfsmount: New mount command to provide mount mechanism on macOS without FUSE 2023-10-06 14:08:20 +01:00
authorize docs: group the global flags and make them appear on command and flags pages 2023-08-02 12:53:09 +01:00
backend docs: group the global flags and make them appear on command and flags pages 2023-08-02 12:53:09 +01:00
bisync bisync: generate final listing from sync results, not relisting -- fixes #5676 2024-01-20 14:50:08 -05:00
cachestats docs: add minimum versions to the command pages 2022-12-03 18:58:55 +01:00
cat docs: group the global flags and make them appear on command and flags pages 2023-08-02 12:53:09 +01:00
check docs: group the global flags and make them appear on command and flags pages 2023-08-02 12:53:09 +01:00
checksum operations: add operations/check to the rc API 2023-10-04 17:52:57 +01:00
cleanup docs: group the global flags and make them appear on command and flags pages 2023-08-02 12:53:09 +01:00
cmount mount: disable mount for freebsd 2023-10-29 15:46:41 +00:00
config docs: group the global flags and make them appear on command and flags pages 2023-08-02 12:53:09 +01:00
copy docs: group the global flags and make them appear on command and flags pages 2023-08-02 12:53:09 +01:00
copyto docs: group the global flags and make them appear on command and flags pages 2023-08-02 12:53:09 +01:00
copyurl docs: group the global flags and make them appear on command and flags pages 2023-08-02 12:53:09 +01:00
cryptcheck docs: group the global flags and make them appear on command and flags pages 2023-08-02 12:53:09 +01:00
cryptdecode docs: group the global flags and make them appear on command and flags pages 2023-08-02 12:53:09 +01:00
dedupe docs: group the global flags and make them appear on command and flags pages 2023-08-02 12:53:09 +01:00
delete docs: group the global flags and make them appear on command and flags pages 2023-08-02 12:53:09 +01:00
deletefile docs: group the global flags and make them appear on command and flags pages 2023-08-02 12:53:09 +01:00
genautocomplete Add rclone completion powershell - basic implementation only 2023-08-02 12:53:09 +01:00
gendocs docs: group the global flags and make them appear on command and flags pages 2023-08-02 12:53:09 +01:00
hashsum docs: show hashsum arguments as optional in usage string 2023-11-03 23:31:00 +01:00
link docs: group the global flags and make them appear on command and flags pages 2023-08-02 12:53:09 +01:00
listremotes backend: add description field for all backends 2024-01-03 10:57:59 +00:00
ls docs: group the global flags and make them appear on command and flags pages 2023-08-02 12:53:09 +01:00
lsd docs: group the global flags and make them appear on command and flags pages 2023-08-02 12:53:09 +01:00
lsf lsf: add --time-format flag 2024-01-20 14:50:08 -05:00
lsjson lsjson: make sure we set the global metadata flag too 2023-09-21 16:15:38 +01:00
lsl docs: group the global flags and make them appear on command and flags pages 2023-08-02 12:53:09 +01:00
md5sum docs: group the global flags and make them appear on command and flags pages 2023-08-02 12:53:09 +01:00
mkdir docs: group the global flags and make them appear on command and flags pages 2023-08-02 12:53:09 +01:00
mount mount: disable mount for freebsd 2023-10-29 15:46:41 +00:00
mount2 nfsmount: New mount command to provide mount mechanism on macOS without FUSE 2023-10-06 14:08:20 +01:00
mountlib systemd: Fix detection and switch to the coreos package everywhere 2023-12-02 14:17:15 +00:00
move docs: group the global flags and make them appear on command and flags pages 2023-08-02 12:53:09 +01:00
moveto docs: group the global flags and make them appear on command and flags pages 2023-08-02 12:53:09 +01:00
ncdu ncdu: fix crash when re-entering changed directory after rescan 2023-10-24 14:26:57 +01:00
nfsmount nfsmount: compile for all unix oses, add --sudo and fix error/option handling 2023-12-05 10:44:53 +00:00
obscure docs: add minimum versions to the command pages 2022-12-03 18:58:55 +01:00
purge docs: group the global flags and make them appear on command and flags pages 2023-08-02 12:53:09 +01:00
rc rc: always report an error as JSON 2023-09-20 21:57:40 +01:00
rcat docs: group the global flags and make them appear on command and flags pages 2023-08-02 12:53:09 +01:00
rcd cmd: refactor and use sysdnotify in more commands 2023-09-04 16:32:04 +01:00
reveal docs: add minimum versions to the command pages 2022-12-03 18:58:55 +01:00
rmdir docs: group the global flags and make them appear on command and flags pages 2023-08-02 12:53:09 +01:00
rmdirs rmdirs: remove directories concurrently controlled by --checkers 2023-08-18 12:05:15 +01:00
selfupdate selfupdate: fix crash in tests if beta not found 2023-12-10 22:29:57 +00:00
serve serve dlna: now only supported on go1.21 or later 2024-01-15 16:22:07 +00:00
settier docs: add minimum versions to the command pages 2022-12-03 18:58:55 +01:00
sha1sum docs: group the global flags and make them appear on command and flags pages 2023-08-02 12:53:09 +01:00
size size: dont show duplicate object count when less than 1k 2023-11-14 16:44:12 +00:00
sync sync: report list of synced paths to file -- see #7282 2024-01-20 14:50:08 -05:00
test amazonclouddrive: remove Amazon Drive backend code and docs #7539 2024-01-04 17:05:54 +00:00
touch docs: group the global flags and make them appear on command and flags pages 2023-08-02 12:53:09 +01:00
tree docs: group the global flags and make them appear on command and flags pages 2023-08-02 12:53:09 +01:00
version docs: group the global flags and make them appear on command and flags pages 2023-08-02 12:53:09 +01:00
cmd.go build: remove random.Seed since random generator is seeded automatically in go1.20 2024-01-15 16:22:07 +00:00
help.go docs: fix backend doc generator to not output duplicate config names 2023-09-23 12:54:08 +01:00
progress.go cmd: Make --progress output logs in the same format as without 2023-10-11 11:36:31 +01:00
selfupdate_disabled.go build: apply gofmt from golang 1.17 2021-09-09 20:43:59 +03:00
selfupdate_enabled.go build: apply gofmt from golang 1.17 2021-09-09 20:43:59 +03:00
siginfo_bsd.go cmd: Enable SIGINFO (Ctrl-T) handler on FreeBSD, NetBSD, OpenBSD and Dragonfly BSD 2022-11-07 11:45:04 +00:00
siginfo_others.go cmd: Enable SIGINFO (Ctrl-T) handler on FreeBSD, NetBSD, OpenBSD and Dragonfly BSD 2022-11-07 11:45:04 +00:00