>Move to eGit Sooner..Rather than Later.

>
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?

This entry was posted in build, eclipse, git. Bookmark the permalink.

6 Responses to >Move to eGit Sooner..Rather than Later.

  1. SDiZ says:

    >Yea. Let's require subversive moving away from svn.

  2. Jilles says:

    >Having just moved from svn to git (+git-svn), I would like to point out that Git is perfectly usable without any plugin on the eclipse side. Indeed, I'm not using egit currently because it seems unable to handle my multi maven module project repository as one big git repository with several loosely coupled eclipse projects inside (changing that is not really negotiable at this point). Unlike cvs and svn where you need a plugin to keep track of what you are doing to your files, Git keeps track of file moves, renames, etc all by itself. So you don't need a plugin for that. It would still be great of course if I were able to use the diff, merge, history, annotation panes, etc. But in my view that's just nice to have functionality. The essentials are being able to code and refactor in eclipse and have git track the changes properly. Works fine for me. Regarding forcing people to do something, that is never good. On the other hand, sticking to CVS for as long as you guys have is in my view a form of masochism. Svn was a vastly superior, drop in replacement with excellent migration support from before the 1.0 was released in 2004 (before eclipse 3.0). I know because I migrated a big CVS repository around that time (painlessly, never looked back). I appreciate the complexities of what must be a large eclipse repository with hundreds of users. But then, the Apache foundation and countless others pulled off a pretty smooth migration half a decade ago. So, that sounds like a pretty weak excuse to me. In my view, if you are still using CVS, version management is apparently not that important to you. People pushing for Git in the eclipse community are those for whom it is an important topic. If it's not important to you, why bother to fight change?So make those cvs repositories read only and eventually switch them off. Accept only Git commits/patches from contributors. Start with a few smaller projects and expand the scope of the operation gradually. Make it clear to everybody that now is a good time to get up to speed with Git.

  3. David Carver says:

    >While git is usable with out IDE integration, most eclipse devs are used to that IDE integration, and there are times that I miss not having it when I'm not using egit. Particularly being able to visually see which projects I've touched and need to commit items against. Sure I can go to the command line and type git status, but that means leaving my environment to do so. Thus it's a time and distraction thing I don't need.

  4. Lars Vogel says:

    >I think Open Source is and should be about choice and I think the projects should decide for themself which version control the use.

  5. David Carver says:

    >@Lars while I agree in general that projects should have a choice, the reality of the situation is that the Eclipse Foundation itself only has so many choices. The foundation itself is not like say SourceForge.net or GoogleCode where you have a larger staff that can keep whatever version control system you want your project to use going forever.Git is the way forward for eclipse projects, and the foundation has stated that they will start deprecating older systems. However, I know from past experience that projects do not do something until the very last minute. Migration to a new version control system when the old is being deprecated should not be one of those things that a project delays doing until the very last minute.

  6. Eric Rizzo says:

    >If the only motivation for a project to move from CVS to git is because the 2011 release train requires it, what does that say for the legitimacy of migrating to git in the first place. In other words, why are we (Eclipse at large) moving to git if few projects see enough benefit in doing so to do it on their own? If git is so great, why aren't projects clamoring to get on it already?I understand the features and perceived benefits of git very well, I'm just not a big fan of forced infrastructure changes when there isn't enough natural pain to trigger the desire to move.

Leave a comment