Today’s eGit/Git chatter in twitter started with some discussion brought up by Wayne Beaton today on the Architecture Council call. When is a good time to move off of CVS/SVN to a git hosted repository at eclipse? Some say when the eGit plugin is as good as the CVS plugin. However, I think that is a little short sighted, and my thoughts while they may be controversial on the matter, are this:
- Require all projects to move off CVS and SVN before they release next year (note I didn’t say Helios).
- Require it as part of next years release train.
- The following projects should be the first to migrate early due to the size and popularity: e4, Eclipse Platform, JDT, PDE, Modeling, CDT, and Web Tools Platforms.
- Require that by next year all build systems have Git support if they don’t already. Yes this means make Athena, Buckminster, B3, Maven/Tych, PDE Build, and the eclipse base builder able to work reliably and efficiently with git.
My reasoning is simply this. If there is no set date when CVS and SVN will be decommissioned at eclipse, there is little incentive for projects to migrate off of what they have now. The eclipse network engineers are stressed thing as it is, so why add having to maintain 3 version control systems to that list.
Also, the only way to get eGit up to what some people expect, is to make us eat or own dog food. I still contend that one of the reasons that the CVS/JDT/PDE are so good in eclipse, is the fact that the developers had to use their own tools.
I’m not expecting this stance to be popular, and I totally expect there to be pain points, but the reality is that projects will stay in their comfort zone until the very last minute. If we can get more projects migrating sooner rather than later, then we can help get the pain points addressed. If say, July 1, 2010 projects started their migration…say those planning to be on next years release train…you have a year of good concentrated effort to help improve eGit and get the most critical pieces developed and working.
The eclipse community comes together when it is in the common interest, what could be more common than making dvcs as easy as possible for an eclispe developer/committer to use?