Sync between providers
After you setup the providers and Sync rules the sync process is automatically handled in the cloud. All your files will stay in sync in real-time and you can access them directly on providers solutions (local client or in browser) or on our local app or browser app.
We also offer a cloud storage solution based on S3 for now, you can setup our service as a provider and use the local app to sync the files. Then you can take full advantage of syncing those files between providers.
This is useful when you want to keep files in sync between multiple and/or different providers.
Sync modes
There are 4 modes to sync the files:
Copy
: it will copy new and changes files from source to destination. No deletes or renames will occur on dst. In case the file is changed on destination also (see how this is determined based on compare-mode below) it will resolve the conflict usingkeep-mode: path1
(see below)Move
: likeCopy
but will move files from source to destination, deleting them from source after transferredOne-way
: like Copy but will also delete and rename files on destination. Conflicts are handled based on conflict resolutionTwo-way
: will propagate changes in both directions. In case of changes on both sides conflicts are handled based on conflict resolution
compare-mode
Takes a comma-separated list, with the currently supported values being size
, modtime
, and hash
. For example, you could compare size
and modtime
but not the hash
.
Conflict resolution
If configured first it will try to auto-merge
(see below). This is disabled by default as it needs to download the remote file to perform the merge. if it doesn’t succeed it will keep the content based on keep-mode
and will copy the other file to a new file with suffix in name like conflict-<other>-date
indicating the other identifier and the date when the change was made.
auto-merge
text files
: it will try to merge the changes similar to Git. If there are changes on different lines the files will be merged, if the changes are on the same line it’s a conflict and will not merge anything. This is disabled by default as it needs to download the remote filebinary files
: it will not do any auto-merge
keep-mode
newer (default)
: the newer file (by modtime) is considered the winner, regardless of which side it came from. This may result in having a mix of some winners fromPath1
, and some winners fromPath2
older
: same as newer, except the older file is considered the winnerbigger
: the bigger file (bysize
) is considered the winner (regardless ofmodtime
, if any). This can be a useful option for remotes withoutmodtime
support, or with the kinds of files (such as logs) that tend to grow but not shrink, over timesmaller
: the smaller file (bysize
) is considered the winner (regardless ofmodtime
, if any)path1
: the version fromPath1
is unconditionally considered the winner (regardless ofmodtime
andsize
, if any). This can be useful if one side is more trusted or up-to-date than the otherpath2
: same aspath1
, except thepath2
version is considered the winner
If either of the underlying remotes lacks support for the chosen method, it will be ignored and will fall back to the default of newer
. If modtime
is not supported either by the remote it will fallback to path1
.