[darcs-devel] Example Conflicts
Ian Lynagh
igloo at earth.li
Tue Jul 31 17:58:29 PDT 2007
Hi all,
Some further questions:
On Tue, Jul 31, 2007 at 05:15:19PM -0700, Jason Dagit wrote:
>
> Suppose you have 3 patches, A, B and C. A and B conflict and C depends on A.
>
> You merge A and B by choosing to cancel A in favor of B. Now you want
> to pull C into your repository.
>
> I was explaining it like thus:
> First you get X[](A)X[](B)
> Now you cancel A, so remerge brings B back to life. So then you have:
> X[](A) B (Cancel A)
Am I right in thinking that there is only 1 "cancel A" patch, so for
example if you and I both cancel A and then pull from each other there
is no conflict?
And the "cancel A" patch doesn't have any sort of reference to B in it?
If I unpull B then does A remain cancelled?
What UI do you have in mind for cancelling patches?
> Definition:
> The pristine state of the repository consists of the set of active
> changes that do not conflict with any other active changes.
>
> The pristine state of the repo:
> { C }
> Or should this be empty because C depends on A which has a conflict?
{ C } doesn't make sense, as you can't have C in a repo state without
also having A.
I think you want:
Definition:
The pristine state of the repository consists of the set of active
changes such that both:
* the change does not conflict with any other active changes
* all the dependencies of the patch is in the pristine state.
Thanks
Ian
More information about the darcs-devel
mailing list