Aegis
- Strong support for testing
- No Windows support
- Uses other VCS (cvs or rcs) as a backend
- Mature: started in 1991
Arch
- Several implementations: shell (larch), and C (tla, baz)
- First open source distributed SCM
- Has a clear archive / working tree distinction
- Uses standard servers (http, sftp, webdav, ftp) to access archive data
- Supports archive verification
- Uses sequence, rather than time, to determine precedence of changes
- Storage is script-friendly; uses tar, gzip and patch
- Supports signed archives
Bitkeeper
- Uses weave storage
- Has some advanced merge methods, based on line identity
- Uses time, rather than sequence in some places
- Proprietary and open source clients
CVS
- Not distributed
- Has no atomic tree-wide operations
- Has no merge history tracking
- Has a clear repository / working tree distinction
- Does not track renames
- Uses a smart server
- Written in C
Codeville
- Has some advanced merge methods, based on line identity
- Has a repository / working tree distinction
- Uses a smart server
- Supports offline commits
- Supports a workflow where the repository is centralized, but the working tree is used as a branch.
- Written in Python
Darcs
- Has some advanced merge methods, based on patch commutation
- Stores the repository in the working tree
- Does not guarantee than any past revision can be reproduced
- Written in Haskell, a functional programming language
Git
- Has multiple frontends
- Content-addressible flat storage by default, packed storage with user intervention
- Written in C
- Does not handle renames
Monotone
- Identifies revisions using chained hashes, requiring only one signature to authenticate a line of development
- Uses rename history instead of file-ids to determine file identity.
- Support secure commits
- Written in C++
SCCS
- Uses weave storage
- Not distributed
- Originally proprietary; CSSC is a Free implementation
SVN
- Interface similar to CVS
- Not distributed
- Supports sparse (partial) checkouts
- Supports changelists
- Basic merge history tracking
- Has a clear repository / working tree distinction
- Uses a smart server
- Uses rename history instead of file-ids to determine file identity
- Has several storage formats
Vesta
A build system as well as scm; supplants make, distcc and ccache
- Guarantees repeatable builds-- versions ALL files needed to produce a build, e.g. system headers
- Mature: 10 years old, used at HP (i.e. since 1995?)
- No Windows support
- Written in C++