[not trimming]

On Tue, Jun 25, 2013 at 8:27 PM, Julian Foad <julianf...@btopenworld.com> wrote:
> Daniel Shahaf wrote:
>
>> On Wed, Jun 26, 2013 at 01:39:45AM +0300, Daniel Shahaf wrote:
>>>  gst...@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

Reply via email to