[darcs-users] A formalization of Darcs patch theory using inverse semigroups (apfelmus)

Eric Kow kowey at darcs.net
Thu Oct 29 14:01:59 UTC 2009

On Thu, Oct 29, 2009 at 14:50:48 +0100, Heinrich Apfelmus wrote:
> In any case, I once again would like to stress that it is my belief that
> commutation is already too complicated to be a suitable foundation for
> understanding the semantics of merges.
> In other words, thinking about the intricacies of commutation is a waste
> of our precious brain cycles. :) They are better spent on a simpler
> formalization where each line has its own GUID.

So, one of things I thought was attractive about Darcs patch theory is
that it seems to be completely independent of the patch types.

You define patch types, inverse and commutation and the theory takes
care of the rest (cherry picking, merging, conflicts).

Right now the kinds of primitive patch Darcs knows about:

 - hunks (the most obvious)
 - add A, remove A, adddir D, rmdir D (book-keeping, perhaps)
 - move A B
 - replace tok1 tok2 (not everybody likes this)

Some things people have asked for:

 - char hunks
 - hunk movement
 - some kind of tree structure editing

Or am I missing the point?

PS. Here's a proposal by Ganesh for dealing with add-add conflicts
    using GUIDs: http://wiki.darcs.net/Ideas/AddAddConflicts

Eric Kow <http://www.nltg.brighton.ac.uk/home/Eric.Kow>
PGP Key ID: 08AC04F9
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: Digital signature
URL: <http://lists.osuosl.org/pipermail/darcs-users/attachments/20091029/1c405b45/attachment.pgp>

More information about the darcs-users mailing list