Congenial CVS

Published on 2022-02-27 by Andrei

By many git is regarded as the hands-down absolute best version control system; however, I beg to differ.

When I first started programming as a hobby I didn't use any version control system. It was only around early 2019 that I started exploring the world of git, cvs, mercurial, and subversion. It is no suprise that I quickly came to like git the most. It's the most popular out of all the other version control systems and it's used by almost all major open source projects, and therefor has a massive ecosystem of hosting platforms, web frontends, and the like.

I loved and used git for almost 3 years, so why did I switch to CVS? For starters git is licenses under the GPLv2, a restrictive copyleft license which doesn't allow for making the source code proprietary. So is the "official" implementation of CVS, however there is a very usable version of CVS (OpenCVS,check it out!) that is licensed under a more preferable BSD license.

I also came to enjoy CVS's simplicity. CVS, unlike git, doesn't require any kind of special daemon to set up server. Instead, files are copied over plain ssh and put into their respective locations. The files themselves are in a much more human readable format than git which further amplifies it's simplicity.