Required: - open source license - easy to install on all major distros - low overhead for large number of repositories (one per document) - fast for simple operations (create repo, checkout any version, commit to any branch, create branch) Useful: - good documentation - easy to set up / use - good delta compression - low-level bindings (Python or at least C) - atomicity / "global" (per repo) version ids (so we can store entire directories) Don't care: - rename support (filename is artificial) - copy support - repository mirror support (internal usage only) - change propagation to parent repository - permission support (handled by higher level) - changesets/transactions (atomic groups of modifications) - blame (not useful for most of the files anyway) - partial checkouts - per-file commit message - networking support - portability (to non-POSIX) - web interface - GUI VCS OSS[1] install overhead ---------------------------------------------------------------- RCS GPL CVS GPL + AccuRev - Aegis GPL -f GNU Arch GPL DFU Bazaar GPL DFU BitKeeper - ClearCase - CM+ - CMSynergy - Co-Op - Darcs GPL DFU Fortress - Git GPL + LibreSource Synchronizer Qt -d Mercurial GPL DFU Monotone GPL DFU OpenCM GPL -d Perforce - PureCM - SourceAnywhere - Subversion BSD + Superversion GPL -d Surround SCM - Team Foundation Server - Vault - Vesta LGPL -d Visual SourceSafe - [1] http://better-scm.berlios.de/comparison/comparison.html