I had a sudden flashback to using darcs, which was also based upon patches instead of commits.
darcs was nice, up until you hit the exponential merge problem.
darcs was nice, up until you hit the exponential merge problem.
All our algorithms are in time at most log of the size of history, which is a double-exponential improvement over Darcs' worst case complexity.