Ask HN: Is CVS (Concurrent Versions System) Dead? Long Live CVS

shnkr | 6 points

In 2002 I wrote a Lisp program called Meta-CVS. It uses CVS to store files in a certain format, which allows versioning of the directory structure, symbolic links and permissions. As well, it has a "mcvs grab" command for importing snapshots of external code such that renames are identified. Plus it has merge automation with tracking. Plus interactive workflow when creating a repo, for identifying binary files and whatnot.

The support for renaming in Meta-CVS blows git out of the water (since that basically doesn't have any).

People continuing with CVS crazy not to be at least using Meta-CVS to make their lives easier.

I used Meta-CVS once to clean up a mess. In the company I was working on, my friend, a configuration manager, came to me with a problem: merging some large amount of Java cruft from a branch where the developers did various renames. Not just A to B renames, but cyclic renames A.java renamed to B.java, while B.java renamed to C.java, while C.java again renamed to A! (Would you believe it.) This had to be merged to the trunk.

I whipped out Meta-CVS for the task. "mcvs grab" easily identified the rotating renames and merged the content, which we were then able to check into the VC actually being used (might have been SVN).

kazinator | a month ago

I don't think any technology ever really "dies" CVS included. There are shops using perforce (a proprietary centralized version control system) as their SCM.

It is true CVS is less popular in open source, but I think that has more to do with code hosting providers either not supporting it or dropping support (BitBucket dropped support some years back).

hgs3 | a month ago

OpenBSD is a huge CVS repo and has been working on got (sic) as a potential alternative.

https://gameoftrees.org/

mattl | a month ago