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

Re: Ev2 as a move-aware editor

From: Philip Martin <philip.martin_at_wandisco.com>
Date: Tue, 25 Jun 2013 21:17:00 +0100

Branko Čibej <brane_at_wandisco.com> writes:

> On 25.06.2013 13:42, Philip Martin wrote:
>> What about rotates that overlap. Consider a repository:
>>
>> svnadmin create repo
>> svn mkdir -mm --parents file://`pwd`/repo/A/B/C ^/X/Y/Z
>>
>> Rotate /A and /X/Y/Z and /X and /A/B/C:
>>
>> svn mv wc/A wc/A2
>> svn mv wc/X wc/X2
>> svn mv wc/A2/B/C wc/X
>> svn mv wc/X2/Y/Z wc/A
>> svn mv wc/A2/B wc/A/B
>> svn mv wc/X2/Y wc/X/Y
>> svn mv wc/A2 wc/X/Y/Z
>> svn mv wc/X2 wc/A/B/C
>
> What you're describing is not a simple rotation, since you're
> restructuring the tree quite a bit more than that. In any case there
> should certainly be no copy operations in the editor drive.

Perhaps the copy and delete should be combined into moves. So instead
of:

   alter(.)
   alter(A/B)
   alter(X/Y)
   rotate(A, X/Y/Z)
   rotate(X, A/B/C)
   alter(A) (pre-rotate X/Y/Z)
   copy(A/B)
   alter(X) (pre-rotate A/B/X)
   copy(X/Y)
   alter(A/B/C) (pre-rotate X)
   delete(A/B/C/Y)
   alter(X/Y/Z) (pre-rotate A)
   delete(X/Y/Z/B)

we have:

   alter(.)
   alter(A/B)
   alter(X/Y)
   rotate(A, X/Y/Z)
   rotate(X, A/B/C)
   alter(A) (pre-rotate X/Y/Z)
   alter(X/Y/Z) (pre-rotate A)
   move(X/Y/Z/B, A/B)
   alter(X) (pre-rotate A/B/X)
   alter(A/B/C) (pre-rotate X)
   move(A/B/C/Y, X/Y)

And we still have the problem that the receiver cannot process the
earlier rotates and moves until the final move is received.

-- 
Philip Martin | Subversion Committer
WANdisco | Non-Stop Data
www.wandisco.com
Received on 2013-06-25 22:17:36 CEST

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