rclone/cmd
nielash 199d82969b bisync: normalize session name to non-canonical - fixes #7423
Before this change, bisync used the "canonical" Fs name in the filename for its
listing files, including any {hexstring} suffix. An unintended consequence of
this was that if a user added a backend-specific flag from the command line
(thus "overriding" the config), bisync would fail to find the listing files it
created during the prior run without this flag, due to the path now having a
{hexstring} suffix that wasn't there before (or vice versa, if the flag was
present when the session was established, and later removed.) This would
sometimes cause bisync to fail with a critical error (if no listing existed
with the alternate name), or worse -- it would sometimes cause bisync to use an
old, incorrect listing (if old listings with the alternate name DID still
exist, from before the user changed their flags.)

After this change, the issue is fixed by always normalizing the SessionName to
the non-canonical version (no {hexstring} suffix), regardless of the flags. To
avoid a breaking change, we first check if a suffixed listing exists. If so, we
rename it (and overwrite the non-suffixed version, if any.) If not, we carry on
with the non-suffixed version. (We should only find a suffixed version if
created prior to this commit.)

The result for the user is that the same pair of paths will always use the same
.lst filenames, with or without backend-specific flags.
2024-01-20 15:38:26 -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: normalize session name to non-canonical - fixes #7423 2024-01-20 15:38:26 -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