[darcs-users] Fwd: Towards a conflict-free revision control system.

Ian Lynagh igloo at earth.li
Wed Feb 4 17:17:40 UTC 2009

On Wed, Feb 04, 2009 at 11:52:54AM +0100, Jean-Philippe Bernardy wrote:
> Let's say you have A conflicts with B. You also have A's inverse
> (noted !A from now on).
> It seems to me that A . !A . B is ok but A . B . !A is not.
> While you don't change which is in conflict with which, one composition order
> makes sense, the other does not.

In a darcs-like system, if A !A + B = A !A B then this can be commuted
to A B' !A'. Here, the effect of B' is to invert A, and the effect of
!A' is B.

I don't know if you run into any problems when you try to allow this.
Currently I am working on proving correctness for a system where you
can't have inverse patches in a repo; once that's done I'll look at this
sort of thing.

Other darcs-like systems might define A !A + B = A !A B'', where B'' has
no effect, and this commutes to A B''' !A'' where B''' inverts A's
effect, and !A'' has no effect.


More information about the darcs-users mailing list