Alex headshot

AlBlue’s Blog

Macs, Modularity and More

Removing CVS from the Eclipse Platform

2011 Eclipse

Wayne has proposed that the Eclipse Foundation makes all the CVS Repositories read-only from December 2012. It was always the intention, once Git was accepted by the Eclipse community, to stop supporting at least one of the version control systems, and CVS has certainly had its day.

This leads to an interesting question; if CVS is no longer used by the Eclipse Foundation, should it even ship CVS by default? CVS has been present in the Eclipse Platform build since its inception, and additionally with the EPP packages for every release train since.

Whilst there have been Subversion projects (Subversive at Eclipse and Subclipse at CollabNet/Tigris), they've never shipped with the default platform; in some cases, due to additional (non-EPL) dependencies that are required.

That's not to say CVS wouldn't be available – it would still be available as an installable feature in Eclipse update sites, much like Mylyn (or Subversive). But perhaps it is time to remove it from the default downloads.

I argue this should be done before Juno is released. There were several projects who wanted to stay on CVS until after Indigo shipped, and to maintain their CVS repositories to support Indigo SR1 and SR2. But we will always have the case where immediately after Eclipse Release Xxx ships, there will be a need to support Eclipse Release XXX SR1 and Eclipse Release XXX SR2.

CVS is an archaic technology and all Eclipse projects must move from it at some point. Making the CVS feature an optional install across the board is a signal to those that still need CVS that their time is drawing near. It wouldn't prevent the build scripts from working, nor would it prevent people from using CVS if they needed to. But it would mean that a signal has been raised.

Delaying this default removal until Juno will bring us into exactly the same discussion, twelve months from now. The only way to remove it will be early in the milestones, and leaving it until after Eclispe Juno SR2 will be too late in the Eclipse Lightyear* release schedule for that one as well.

I say, remove CVS from the default downloads by the next milestone and replace it with an optionally installable feature.

* No, I have no idea what it will be called. Lightyear would be cool though.