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 <danielsh_at_elego.de> wrote:
>>> Philip Martin wrote on Wed, Jun 26, 2013 at 09:30:42 +0100:
>>>> Greg Stein <gstein_at_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. brane_at_wandisco.com
Received on 2013-06-26 13:40:23 CEST