[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Ev2 using move-away and move-here

From: Julian Foad <julianfoad_at_btopenworld.com>
Date: Wed, 14 Aug 2013 15:23:29 +0100 (BST)

Branko Čibej wrote:

> Move away/from with Id is essentially introducing a namespace for temporary
> paths unrelated to the tree structure. Therefore you can change notation and
> keep only one move operation with three variants:
>

> move(a,b): direct move of node to new path
> move(a,tmp(1)): move to temporary slot
> move(tmp(1),b): move from temporary slot
>

> N.b. this does not imply a single conflated move API on the code level, it
> merely describes the protocol.>
> Making the edit driver assign temporary slots explicitly is better than
> forcing the receiver to second-guess the driver's intent,
I think what you're saying is that, in cases where the driver can issue a move(a,b) instead of a (functionally equivalent) pair of move-away immediately followed by move-here, then the receiver is likely to be able to process that single move more efficiently.  So having the three methods available is better than just having the latter two.

Do I understand you correctly?

We should probably just leave it as a "quality of implementation" issue for the editor driver to prefer single move(a,b) instructions over pairs of move-away, move-here.  We could try to come up with a requirement that it must do so in certain cases (starting with collapsing adjacent pairs of move-away, move-here), but I think this may be rather difficult to define fully and hard to justify.

> and also makes validating the drive easier.

I'm not sure what you're thinking about validating the editor drive being easier.
- Julian
Received on 2013-08-14 16:24:28 CEST

This is an archived mail posted to the Subversion Dev mailing list.