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

Ev2 change ordering (was: svn commit: r1235773 ...)

From: Greg Stein <gstein_at_gmail.com>
Date: Tue, 25 Jun 2013 20:39:05 -0400

[not trimming]

On Tue, Jun 25, 2013 at 8:27 PM, Julian Foad <julianfoad_at_btopenworld.com> wrote:
> Daniel Shahaf wrote:
>
>> On Wed, Jun 26, 2013 at 01:39:45AM +0300, Daniel Shahaf wrote:
>>> gstein_at_apache.org wrote on Wed, Jan 25, 2012 at 14:45:02 -0000:
>>>> + * <h3>Timing and State</h3>
>>>> + * The calls made by the driver to alter the state in the receiver
>>>> + * are based on the receiver's *current* state, which includes all
>>>> + * prior changes made during the edit.
>>>
>>> Should we change this to say:
>>>
>>> + * <h3>Timing and State</h3>
>>> + * The calls made by the driver to alter the state in the receiver are
>>> + * based on the receiver's *initial* state, which excludes all prior
>>> + * changes made during the edit.
>>>
>>> ?
>>>
>>> I've reviewed the IRC logs referred to in the log msg [1], as well as
>>> today's, and I don't see a good reason to stick with the "refers to
>>> current state"; and I do see a good reason to use "refers to initial
>>> state": that's closer to the final copyfrom (or moved-from) info.
>>> I also find "refers to the initial state" more intuitive.
>
> Hi Daniel. I could begin to address your question, but discussion of Ev2 move design is such a big and tricky topic (witness the several hours on IRC today) that I would humbly request you start a thread with 'Ev2' in the subject line so we can all track it. Your question here doesn't seem to be one that merely concerns r1235773 and can be answered with 'yes' and a follow-up commit.
>
>> There was some more discussion on IRC today.
>>
>> It involved the following case:
>> svn mv A B; svn mv B/C D; svn ci;
>>
>> which could be represented in Ev2 as:
>>
>> move(A, B); move(B/C, D);
>>
>> or as:
>>
>> move(A/C, D); move(B, D);
>
> I assume the copy-source refers to the current state rather than the initial state in these two options, but either way that second option doesn't make sense, since there is no node 'B' available to be moved.

It was intended to be:

  move(A, B); move(B/C, D)
or
  move(A/C, D); move(A, B)

The two are the same if you assume current-state. The second also
works if you assume initial-state.

Cheers,
-g
Received on 2013-06-26 02:39:36 CEST

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