Better SCM Initiative : Monotone



Monotone is a distributed version control system with a different philosophy. Namely, changesets are posted to a depot (which the communication with is done using a custom protocol called netsync), which collects changesets from various sources. Afterwards, each developer commits the desirable changesets into his own private repository based on their RSA certificates and possibly other parameters.

Monotone identifies the versions of files and directories using their SHA1 checksum. Thus, it can identify when a file was copied or moved, if the signature is identical and merge the two copies. It also has a command set that tries to emulate CVS as much as possible.

The Monotone architecture makes implementation of many features easier. It is not without it flaws, however. For example, Monotone is slow, and doesn't scale well to large codebases and histories.