Commands : ResolveConflictAsync
ResolveConflictAsync resolves the conflict according to the specified conflict resolution strategy.
Task ResolveConflictAsync(string filename, ConflictResolutionStrategy strategy);
|filename||string||The file path|
|strategy||ConflictResolutionStrategy||The strategy - CurrentVersion or RemoteVersion|
|Task||A task that represents the asynchronous resolve operation|
If you want to keep the destination file version, you need to resolve the conflict by using a
That will force the history of remote file to be incorporated into the local one, so the next attempt to synchronize the file will result in no operation, as it will appear that the file was already synchronized.
await store.AsyncFilesCommands.Synchronization .ResolveConflictAsync("/documents/file.bin", ConflictResolutionStrategy.CurrentVersion);
The second option is to resolve the conflict in favor of the source file version. In this case, you need to set a
In contrast to the usage of the
CurrentVersion strategy, the conflict will not disappear right after applying the
RemoveVersion resolution, as the destination file system never requests any data from the source file system.
This operation will simply add an appropriate metadata record to the conflicted file (
Raven-Synchronization-Conflict-Resolution) to allow the source file system to synchronize its version in next synchronization run (periodic or triggered manually).
await store.AsyncFilesCommands.Synchronization .ResolveConflictAsync("/documents/file.bin", ConflictResolutionStrategy.RemoteVersion);