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