On 18/01/2008, at 8:57 AM, David Roundy wrote:

>
> On Fri, Jan 18, 2008 at 08:39:43AM +1100, William Uther wrote:
>> On 17/01/2008, at 11:45 PM, Ian Lynagh wrote:
>>> On Thu, Jan 17, 2008 at 01:57:23PM +1100, William Uther wrote:
>>>> If I have two Darcs workspaces, each of which have the same set of
>>>> patches, but in different orders, should these workspaces be
>>>> identical (even in the presence of conflicts)?
>>>
>>> The pristine trees should be, but the way the conflicts are  
>>> marked in
>>> the working directory need not be.
>>
>> In OT theory, a set of patches that are all transformed to apply  
>> should
>> result in _identical_ output, regardless of order.  If the output  
>> really
>> is identical, then shouldn't the conflicts be marked up in the  
>> same way?
>> My understanding from this that the merger patches are NOT identical.
>>
>> You claim that this isn't a problem - i.e. you seem to be claiming  
>> that
>> merger patches do not need to obey the same correctness requirements
>> as normal patches.  Can you point me to a formal justification for  
>> this?
>
> The patches aren't identical because they're in a different order.   
> It's
> perfectly normal in darcs that changes in different order are  
> described by
> different patches--in fact it's the basis of the whole system.  If you
> reorder the changes into the same order, then the patches are the  
> same.

Yes.  But the resulting state after applying a series of patches  
should be
the same, regardless of the order in which you've commuted the patches.

> Merger patches do obey precisely the same correctness requirements  
> as any
> normal patches.

Ok.

> The conflict marking does depend on the order of changes in the  
> repository,
> but this doesn't really matter, since conflict-marking is not  
> fundamental
> to how darcs works.  It's something that's done to the working  
> directory
> for the convenience of the user.  We could remove this feature and  
> darcs
> would be just as correct (although rather more awkward to use).

Okie.  I think I understand this better now after Stephen's response.
Darcs' state is a partial order (represented using 'merger patches') and
the particular way you serialise that for display is irrelevant.

Thanks for the help,

Will        :-}

_______________________________________________
darcs-devel mailing list
darcs-devel@darcs.net
http://lists.osuosl.org/mailman/listinfo/darcs-devel

Reply via email to