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

Ian Lynagh igloo at earth.li
Mon Feb 2 19:10:10 UTC 2009

On Mon, Feb 02, 2009 at 07:47:22PM +0100, Jean-Philippe Bernardy wrote:
> Ok, I do not understand the details, but I don't think it matters very much
> in the end: the fact that the applicability of a patch depends on the context
> will necessarily introduce some sort of a search. The problem
> boils down to this: let's say you have 'n' patches
> in your repository, that potentially conflict with each other. Can they be
> applied in an order that produces no conflict (or least conflicts)? I
> don't see anyway to do this
> other than by exhaustive search.

For the pristine repo state (_darcs/pristine/):

If you have a set of patches in a repository, then those patches will be
in a particular order, say Ps. If you commute them to a different order,
Qs, then the effect of applying Ps is identical to the effect of
applying Qs. You cannot change which patches are in conflict by
rearranging them.

As Eric said, in darcs1 and darcs2 patch commute is exponential, but
that's not necessary for that style of VCS: it's polynomial in camp.


More information about the darcs-users mailing list