Patch theory

The Darcs DVCS attempted to create a ’patch algebra’ to form a mathematically-sound theoretical underpinning for its operation. Unfortunately it was never quite mathematically sound.

The best way to view DVCSes like Git from a theoretical perspective, it seems, is to see them as a directed graph where the commits are nodes and the edges are diffs between those nodes. Most nodes have only one edge connecting to them — their parent commit — but some, merge commits, will have more. To my knowledge, this theory was first described by Sam Livingston-Gray in his book Think Like (a) Git.