The Great Git Experiment

While many projects have claimed success with Git, a great many projects and developers continue to struggle with its adoption. In the fall of 2012, several projects chose to terminate rather than migrate their CVS repositories to Git. We have infrequent reports of commits being erased and general confusion regarding the workflow. While EGit does a good job of smoothing out the rough corners, it’s still the case that just writing code to a Git repository takes too many steps. I hear many complaints about committers forgetting to push their commits or having them lost in non-fast-forward merges.

This undercurrent of dissatisfaction came to a head last week at EclipseCon. I was cornered by several committers who were quite angry at having been forced to adopt Git and demanded that I allow them to roll back to CVS. The general consensus was that while at face value, Git appears to be better suited for encouraging contribution, the confusing nature of its workflow was actually having an opposite effect.

Data collected by Dash confirms it: many projects are actually losing committers and contributors because of Git. Non-committer contributions to projects has steadily dropped over the last twelve months. Projects that switched to Git early in the migration process did on average experience a short spike in contributions in the last few months of 2011, but in the general case, the contribution curve drops almost linearly from that period.

Contributions to Git Repositories

Faced with the backlash and drop in contribution, we have no choice. After careful consideration, and extensive discussions with the Eclipse Webmaster, we have decided that we have no choice but to migrate back to CVS. Given resource constraints–the webmaster team cannot support three version control systems–support for Git has been deprecated effective today. The Git server will be shutdown on December 21/2013.

About these ads
This entry was posted in Uncategorized. Bookmark the permalink.

16 Responses to The Great Git Experiment

  1. anon says:

    It’s not April 1st yet!

  2. rchaves says:

    Well, at least git fanatics can’t say you didn’t give it a fair chance.

    Just speculating here, but I won’t be surprised if the EGit team just can’t take the change in plans and decides to move their project to Github.

  3. This is really better than Google Nose. Nice job.

  4. mknauer23 says:

    Yes, after many discussions during last week’s EclipseCon I can see that there’s a consensus about shutting down Git immediately. But in my opinion we shouldn’t go back to CVS, it’s so old fashioned. I’d suggest that the Eclipse community develops its own, proprietary source code management system. If it is integrated very well in our IDE of choice that’ll help getting new contributions in. As soon as it is ready (Kepler M7?) I’m happy to include it in the packages.

  5. Gerard says:

    wow. You guys have obviously entertained other reasons for the drop contributions?

  6. Gerard says:

    Also, because git decentralised there would be less commits, less activity “upstream” yes? What are classified as contributions? I find this interesting, because this is obviously not something you guys have taken lightly.

  7. Ian Bull says:

    Thank-you for taking the time to gather community input and putting this together Wayne! I’ve felt that Git has been a real problem for the Eclipse community, but since everyone else seemed so excited I didn’t share my thoughts. I’ve actually been maintaining p2 in a CVS repository and simply using a script to push the commits to Git, so we are ready for the transition.

    BTW, I also hear that Java 5 is overrated, so we’re going to revert all our APIs back to Java 1.4 too.

  8. Cristiano says:

    I could say the contrary. I started to contribute after the git adoption. I just liked to send pull requests to some projects that were mirrored to github.
    To come back to CVS won’t bring back contributors… I bet !!!

  9. John Conlon says:

    Great idea! Besides Git is poor English, it should be GET.

  10. Erdal Karaca says:

    +1, after all, Linus Torvalds uses CVS at home, too!

  11. Pingback: No seriously: We love Git. Seriously. | Eclipse Hints, Tips, and Random Musings

  12. ae says:

    I’ve never been comfortable riding the bleeding edge, new-fangled products. Especially with something as important as the source code — this really is the entire product! Instead of going back to the CVS newness, could we just go back to a public NFS share with SCCS? We would likely all sleep better knowing the source code is protected with 40+ years of improvements.

  13. Matthias Sohn says:

    versioning systems are for lame ducks prefering warm showers instead of facing the bits, I recommend let’s use diff and patch instead

  14. Someone who doesnt want to get flamed by the Git fanbois says:

    Git’s workflow is too confusing, and allows you to blow you leg off (ie: lose commits) too easily. However developing a proprietry VCS is not the best use of resources. Eclipse should have used Mercurial instead as it would benefit from a mature DVCS that is intuitive, and is very easy to fix mistakes in (history editing options provide backups of your tree so you can restore it).

  15. Ed Burnette says:

    No, no, no. SCCS is much better. Or just make a full copy of the files every few days. That should be enough source control for anybody. :)

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s