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