Interesting parallel between CouchDB replication protocol and Git on this StackOverflow answer:
- Like Git, records have a linked-list revision history
- In addition to application data every record stores the evolutionary timeline of all previous revision IDs leading up to itself
- Git isn’t really a linear list. It has forks, when one parent has multiple children. CouchDB has that too.
- Git also has merges, when multiple children have one parent. CouchDB sort of has that too.
This is not the first time Git comes up when discussing NoSQL databases. Here’s a comparison of Git and Riak.