Am 04.07.20 um 00:10 schrieb James Cook:
>>> I'd say this is a feature, not a bug. If you mark the conflict between A
>>> and B as resolved, *without* recording a new patch, then this means you
>>> are satisfied with the resolution that reverts both changes. There is no
>>> reason why pulling C should conflict now. If, on the other hand, you are
>>> not satisfied with this resolution, you may want record a "proper"
>>> resolution, usually a mixture of A and B. This will then typically
>>> conflict with C.
> 
> That's a great point. I'm much less worried now.

You should be, though. I think what I wrote above is nonsense.

This works only if inverses really cancel each other which means
applying the inverse is the same as obliterate. That means your repo
will not be able to remember that you once had a conflict between A and
B. I guess this is not what you want.

But if inverses don't cancel then they aren't proper inverses in the
sense that you arrive at exactly the same context you started with. In
particular, you /cannot/ go back to the point you were before a
conflicted merge.

Having proper inverses, or more generally a patch graph with cycles, is
more akin to time travel (not as in fantasy stories, but the physical
version i.e. time-like closed paths) than to a conventional journey that
visits the same destination but at a different time.

In Darcs all patches in a repo have a positive name. You can obliterate
patches and start fresh (i.e. travel back in time) but that is unrelated
to conflicted merge which keeps all of the history.

If you want to have proper inverses (for conflict resolution) and still
remember all of the history, you must abandon the idea that a repo is a
sequence of patches (or rather: an equivalence class of such sequences,
module permutations). So your idea of phantom patches (a patch together
with its tombstone) amounts to saying that a repo is not a sequence of
patches, but a tree (with multiple dead branches), and to merge a patch
means to merge it with all branches of the tree (you'll have to work out
what that means precisely).

Cheers
Ben

_______________________________________________
darcs-users mailing list
darcs-users@osuosl.org
https://lists.osuosl.org/mailman/listinfo/darcs-users

Reply via email to