From 006ce854a613e2017f3c724ef2f58570b9012e56 Mon Sep 17 00:00:00 2001 From: Christian Kamm Date: Fri, 10 Feb 2017 12:50:35 +0100 Subject: [PATCH] Doc: For conflicts, the local file is renamed #5521 --- doc/architecture.rst | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/doc/architecture.rst b/doc/architecture.rst index 2e31bb575..8ed311871 100644 --- a/doc/architecture.rst +++ b/doc/architecture.rst @@ -132,11 +132,16 @@ changed and no synchronization occurs. In the event a file has changed on both the local and the remote repository since the last sync run, it can not easily be decided which version of the file is the one that should be used. However, changes to any side will not be lost. Instead, -a *conflict case* is created. The client resolves this conflict by creating a -conflict file of the older of the two files and saving the newer file under the -original file name. Conflict files are always created on the client and never -on the server. The conflict file uses the same name as the original file, but -is appended with the timestamp of the conflict detection. +a *conflict case* is created. The client resolves this conflict by renaming the +local file, appending a conflict label and timestamp, and saving the remote file +under the original file name. + +Example: Assume there is a conflict in message.txt because its contents have +changed both locally and remotely since the last sync run. The local file with +the local changes will be renamed to message_conflict-20160101-153110.txt and +the remote file will be downloaded and saved as message.txt. + +Conflict files are always created on the client and never on the server. .. _ignored-files-label: