Re: How to extend a patch theory to fully commute
Ben Franksen <[email protected]> Wed, 1 Jul 2020 19:47:41 +0200
| Newsgroups | gmane.comp.version-control.darcs.user |
|---|---|
| Message-ID | <[email protected]> |
Am 01.07.20 um 18:45 schrieb James Cook: >> Just to check I understood the idea (up to this point): roughly >> speaking, you represent "unrepresentable" states by formally commuting >> patches. >> >> That is, if we regard the primitive states as vertices and primitive >> (named) patches as edges in a graph, then you extend the graph with new >> nodes and edges. > > That's exactly the intuition. > > If you had n patches that all commuted, this graph would be a > hypercube, i.e. the nodes are the 2^n subsets of patches and each edge > adds one patch. > > I think my theory always extends this graph exactly to that hypercube, > filling in exactly those nodes and edges that are missing. I haven't > thought carefully about that point of view so maybe that's not true. > >> The construction works by inductively taking any pair of incommutable >> patches (in sequence, i.e. with a common middle state) and then >> "formally" commuting it. The new node is represented as that pair of >> patches. Is that, essentially, the idea? > > Yes, that's exactly what happens when there are only two patches > involved and they don't commute. > >> It reminds me of the darcs-1 patch format, where a "merger" patch is >> defined as the ordered pair consisting of both conflicting patches. > > I think I read about darcs-1 conflictors a long time ago, so that > general idea has been on my mind for a while. Okay, I guess I'll need to read on, then. I wonder how you define commutation for the extended set of patches... Cheers Ben