Description
Hey,
I seem to have tripped over some odd opinions that Unison has about behaviour of remote vs local syncing!
To elaborate, I want to sync files to and from a local FUSE mount; the code behind this mount then transparently encrypts them and sends them to a cloud store. However Unison appears to unexpectedly have separate code paths for remote and ostensibly "local" syncs:
- Resuming partial transfers works flawlessly remotely, but mostly does not work locally:
- When the base directory does not yet exist at the target, it restarts the entire directory.
- When the base directory already exists at the target, it recognises completed files and folders one level down, but restarts any of these that were partially transferred.
- Hitting
ctrl-c
(SIGINT, I think?) on the terminal cancels the whole process when remote syncing, but when local syncing just stops the current file and moves on to the next, leaving partial files.
I think I see in the tracker others stumbling into related differences (e.g. #472), though not these two specifically.
If fixing them would be very difficult, I am satisfied it's possible to work around by making Unison SSH to my local machine (thus forcing "remote" behaviour). However the "local" path appears to contradict what's in the manual (which is maybe written from a "remote-only" perspective?), so perhaps it could be handy to have a prominent warning somewhere about it.