Recent work on paste-retaining-clones suggests straightforward principles needed to fix #863:
Serious problems changing branches:
1. [New principle]: The
only proper way to resolve clone conflicts is to give priority to clones within @<file> trees. Why did this principle never occur to me before?
2. [Old principle]: When resolving a clone conflict, it is
useless to ask for the user's advice. No user, myself included, will have the faintest idea how to resolve a conflict. A dialog will simply cause panic.
3. [New principle]: When resolving a clone conflict, Leo
must tell the user that a clone conflict occurred and what the resolution was. Leo's "Recovered nodes" might suffice in this regard. Or not.
4. [New principle]: When reading any @<file> node, (including refresh-from-disk), Leo
must clear the entire @<file> tree. This is the only way to prevent unwanted nodes from appearing.
Principles 1 and 4 not only are compatible, they are complementary. Ditto for principles 2 and 3.
Unless I am seriously mistaken these principles will lead to a straightforward solution for #863.
Edward