On Wed, 30 May 2007, Jason Dagit wrote:
As you may know, I'm part of an effort to improve conflict handling in darcs. We have come up with a plan that allows users to cancel and activate patches (more on this later). Implementing activation patches is the first step in this direction.
As they stand, activation patches don't seem very different from merges, conflictors and the like. But I guess cancel patches will answer this objection. Will the eventual structure be a graph or a tree?
2) An activation patch is its own inverse. Since the activation patch does not modify the repository state, it should be clear that the patch is its own inverse.
I'm not convinced by this, or the later justification that it's the simplest of many possible inverses. An activation patch doesn't commute with the patch it activates, but does commute with all other patches. Does this include the inverse of the patch it activates? For example, A_A_ seems to be a valid patch sequence. Presumably I can invert it; if _A_^ = _A_, this is _A_A^. Now if _A_ commutes with every other patch than A, I can make this into A^_A_ (perhaps with some changes to _A_). Take inverses again and I've got _A_A, and so I've commuted it past A.
Suppose we have patches, A, B, C, D and E which all commute with each other. Then suppose we have this sequence of patches: (_A_BCD)E
If B,C and D commute with A, how did we get this activation patch in the first place? You say above that this notation means that B,C and D don't commute with A.
Cheers, Ganesh _______________________________________________ darcs-devel mailing list [email protected] http://lists.osuosl.org/mailman/listinfo/darcs-devel
