Commands: ResolveConflict
The PATCH method resolves the conflict according to the specified conflict resolution strategy.
Syntax
curl \
http://{serverUrl}/fs/{fileSystemName}/synchronization/ResolveConflict/{fileName}?strategy={strategy} \
-X PATCH
Request
Query parameter | Required | Description |
---|---|---|
fileName | Yes | The file path |
strategy | Yes | The strategy - 1 (RemoteVersion) or 2 (CurrentVersion) |
Response
Status code | Description |
---|---|
204 |
NoContent |
Example I
If you want to keep the destination file version, you need to resolve the conflict by using a CurrentVersion
strategy.
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.
curl \
-X PATCH http://localhost:8081/fs/SlaveNorthwindFS/synchronization/ResolveConflict/books/Inside.RavenDB.3.0.pdf?strategy=2
< HTTP/1.1 204 NoContent
Example II
The second option is to resolve the conflict in favor of the source file version. In this case, you need to set a RemoveVersion
strategy.
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).
curl \
-X PATCH http://localhost:8081/fs/SlaveNorthwindFS/synchronization/ResolveConflict/books/Inside.RavenDB.3.0.pdf?strategy=1
< HTTP/1.1 204 NoContent