Internals/Patches
We should put any documentation that go into Haddock should do into Haddock. This just serves to provide a sort of high-level overview tying everything together (perhaps this also belongs as documentation for the Darcs.Patch module?).
Darcs patch containers
Darcs 1 patches look like this:
Named patch
|
+-- Patch (Merger, PP, etc)
|
+-- Patch (nesting)
|
+-- Prim
Darcs 2 patches look like this:
Named patch
|
+-- RealPatch (Conflictor, Duplicate, etc)
|
+-- Non
| |
| +-- RealPatch (nesting)
| |
| +-- Prim
|
+-- Prim
Patch classes
| Nonable | Non | |
| Patchy | Patchy | |
| Apply | Patchy | apply |
| Commute | Patchy | commute, merge |
| ReadPatch | Patchy | |
| Invert | Patchy | invert |
| FromPrim | Prim | ??? |
| ToFromPrim | Prim | |
| FromPrims | Prim | |
| Effect | Prim | |
| Conflict |
