A table of various SCM software and their support for requirements as listed on the mailing list by Mark Wedel.
CVS | SVN | Mercurial | Bzr | Darcs | |
---|---|---|---|---|---|
Protocol | dedicated | webdav-based | http-based/ssh | http-based/sftp | http-based/email/ssh1) |
Learning curve from CVS2) | none | low | low-medium | medium | high |
Key requirements | |||||
Network based access | Yes | Yes | Yes | Yes | Yes |
Multiplatform | Yes | Yes | Yes | Yes | Yes3) |
Access control lists | Yes | Yes | Yes4) | Yes5) | Yes6) |
Read-only access to everyone | Yes | Yes | Yes | Yes | Yes |
Supported by sourceforge or some other free hosting service | Yes | Yes | Depends7) | Yes8) | Depends9) |
E-mail notification of commits | Yes | Yes | Yes10) | Yes11) | Yes |
Ability to convert to CVS to whatever the new format is | N/A | Yes | Yes | Yes | Yes |
Top Features: | |||||
Readily available/easily installable software | Yes | Yes | Yes | Yes | No12) |
Tracking of when merges are done | No | No | Yes | Yes | Yes |
Good branch handling | No | No | Yes | Yes | Yes |
Efficient use of resources (network bandwidth, cpu, etc) | Yes | Yes | Mostly13) | No14) | No |
Global revisioning | No | Yes | Yes | Yes | Yes |
support for symbolic tagging within one repository | Yes | No | Yes | No | Yes |
Other nice to have features: | |||||
Atomic checkins | No | Yes | Yes | Yes | Yes |
Maximum ability to do SCCS operations without access to repository | No | Yes15) | Yes16) | Yes17) | Yes18) |
good binary file handling | No | Yes | Yes | Yes | Yes |
Ability to do local branches | No | No | Yes | Yes | Yes |
Rename support | No | Yes | Partial19) | Yes | Yes |
Web view of repository | Yes | Yes | Yes20) | Yes | Yes |
Possible to make a read-only cvs mirror | N/A | Yes21) | Yes22) | Yes23) | Yes24) |
— Alex Schultz 2006/08/14 15:57