From 63f3cb72dd42336d8826b44b3c6b932610128b7e Mon Sep 17 00:00:00 2001 From: Daira Hopwood <daira@jacaranda.org> Date: Wed, 4 Nov 2015 13:56:49 +0000 Subject: [PATCH] Add section for "Conflict/overwrite decision algorithm" and label substeps so that we can refer to them from the code. Signed-off-by: Daira Hopwood <daira@jacaranda.org> --- docs/proposed/magic-folder/remote-to-local-sync.rst | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/docs/proposed/magic-folder/remote-to-local-sync.rst b/docs/proposed/magic-folder/remote-to-local-sync.rst index 99d2d81c..b41de7bf 100644 --- a/docs/proposed/magic-folder/remote-to-local-sync.rst +++ b/docs/proposed/magic-folder/remote-to-local-sync.rst @@ -768,6 +768,9 @@ metadata. This will have the effect of making other clients treat this change as a conflict whenever they already have a copy of the file. +Conflict/overwrite decision algorithm +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Now we are ready to describe the algorithm for determining whether a download for the file ``foo`` is an overwrite or a conflict (refining step 2 of the procedure from the `Earth Dragons`_ section). @@ -792,11 +795,11 @@ may be absent). Then the algorithm is: * 2c. If any of the following are true, then classify as a conflict: - * there are pending notifications of changes to ``foo``; - * the last-uploaded statinfo is either absent (i.e. there is no - entry in the database for this path), or different from the + * i. there are pending notifications of changes to ``foo``; + * ii. the last-uploaded statinfo is either absent (i.e. there is + no entry in the database for this path), or different from the current statinfo; - * either ``last_downloaded_uri`` or ``last_uploaded_uri`` + * iii. either ``last_downloaded_uri`` or ``last_uploaded_uri`` (or both) are absent, or they are different. Otherwise, classify as an overwrite. -- 2.45.2