CVS is not as bad as its evil reputation…

Sunday, January 27th, 2008

Many Open Source projects, including FreeBSD, OpenPKG, RPM5, etc., for historical reasons even in 2008 still use the old Concurrent Versions System (CVS) — a popular Version Control System (VCS) of the ’90s.

At its zenith, CVS was the ultimative king, as it really dwarfed the older RCS or even the ancient SCCS. CVS was revolutionary because of its “checkout and commit at any time, resolve conflicts later on demand” instead of the “exclusively lock in advance for conflict-free checkout and commit” approach of other VCS. CVS also provided nice global symbolic revision and branch tags on top of the per-file revisions and branches, a consistent command line interface, and many more. Hence, in the ’90s CVS was really everywhere.

But in the last 8 years the VCS world changed dramatically: today we have the more “modern” Subversion, Git, Mercurial, Monotone, Bazaar… and now everybody considers CVS to be “just bad” and everybody still using it to be just “technology agnostic”.
[more…]