On 26.06.2013 11:46, Daniel Shahaf wrote: > Greg Stein wrote on Wed, Jun 26, 2013 at 05:30:10 -0400: >> On Wed, Jun 26, 2013 at 5:25 AM, Daniel Shahaf <danie...@elego.de> wrote: >>> Philip Martin wrote on Wed, Jun 26, 2013 at 09:30:42 +0100: >>>> Greg Stein <gst...@gmail.com> writes: >>>> >>>>> You're affecting six nodes, so I think you should be able to pack this >>>>> down into touching 6 nodes once each. I believe this will work: >>>>> >>>>> move(A/B, X/Y/Z/B) >>>>> rotate(A, X/Y/Z) >>>>> move(X/Y, A/B/C/Y) >>>>> rotate(X, A/B/C) >>>> Yes, I think that works. >>> This effectively uses temporary nodes (X/Y/Z/B and A/B/C/Y). I thought >>> one of the goals of Ev2 design was to not need such nodes. (This also >>> ties to my thread about what state the SRC argument of move() should be >>> relative to.) >> Only in Pedantic Bizarro Land. >> >> Come on, Daniel. There are no manufactured nodes. Those two are the >> final nodes, after a bit of parent rearrangement. >> >> We are not making up A2 or X2, as in Philip's original email. The >> commit process is not creating nodes that exist only during the txn. >> All nodes survive the txn. > X2 was a temporary name. A/B/C/Y is a temporary name. Neither the name > X2 nor the name A/B/C/Y survives the txn.
You're confusing names with nodes. Don't. Names are merely incidentally a (transient) identifier for nodes. In Greg's solution, no new nodes are created -- they /can't/ be because neither move() nor rotate() can create or delete nodes. -- Brane -- Branko Čibej | Director of Subversion WANdisco // Non-Stop Data e. br...@wandisco.com