On Fri, Jan 18, 2013 at 10:43:35AM +0100, Stefan Sperling wrote:
> If you move a node that isn't present in op_depth == 0, you don't need
> to preserve the old location of the node.

Should have phrased this better: "If you move a node that is newly
added ..."

Of course we can move nodes within copied subtrees where op_depth > 0.
For lack of a better word, we could call this a "reference layer" for
the move, which is the layer we need to track the move in.

But any node at path A that replaces a moved-away node A' will be a copy
or a new addition at path A, and moving A to C doesn't need to leave
a trace of move information at path A. We can simply forget that the
node which is now at C used to shadow the moved-away A'.

It's a bit difficult to discuss node identities in terms of path names.
Above I'm using A' to designate the node that was originally present in
in the "reference layer" and has been moved, and A for the node that is
replacing the moved-away A'.  I hope I'm making some kind of sense :)

Reply via email to