DUE TO SPAM, SIGN-UP IS DISABLED. Goto Selfserve wiki signup and request an account.
...
Concentrating on specifying the most useful resolutions – the 'common sense' ones.
...
Parent-Relative Move
Sometimes, especially when combining two moves, we need to interpret a move of (say) A/F to A/H as being a move relative to its parent (in this case, A) so that if the parent itself has been moved (A to A2) we don't try to interpret the destination of F as the absolute path A/H but rather as A2/H. That works for a move where the node stays in the same parent directory.
...
- follow (though this loses evidence that there was a local rename)
follow | theirs :=
- apply the delete to G (just as if G were the explicit target (of the incoming delete; thus, may raise a conflict, as per standard rules for a non-moved target)
mine :=
- re-schedule G as copied from old F
...
follow | theirs :=
- move G to H (see Parent-Relative Move); re-schedule H as 'not moved'; merge edits
mine :=
- re-schedule as 'H as moved to G'; merge edits
Incoming Move F to G
common-sense | follow | theirs | mine :=
- re-schedule G as non-'not moved'; merge edits
Note: This is a degenerate case of "Incoming Move F to H". Most of the required special-casing should be handled within the "move G to H; re-schedule H as 'not moved'" action; only the decision whether to raise a tree conflict or auto-resolve should need to be coded at this level.
Single Behaviour
The single behaviour is what we have to do when we don't know whether the incoming delete is part of a move.
These scenarios are all genuine tree conflicts (meaning there is no single "obvious" intention as there is with an "edit onto moved" scenario), and typically infrequent, so raising a conflict by default is satisfactory.
common-sense :=
- tree-conflict
follow :=
- ??
theirs :=
- ??
mine :=
- ??
Possible 'mine'-like actions are:
- re-schedule G as copied from old F (if no incoming node copied from old-F)
- re-schedule G as moved from H; merge edits (if incoming node H copied from old-F)
Incoming Delete Parent, Local Moved-Away Child
...