The Great Git Migration

You may have noticed that Git is a pretty big deal at Eclipse. We’ve come a long way since the topic was first broached at EclipseCon 2006.

As of today, we have 61 projects at Eclipse with Git repositories. Of our 270 projects, 197 have source code repositories, which means that some 30% of our projects have now using Git. That number may require some explanation. Not all projects at Eclipse have source code. Some projects, like the Modeling Top-level project do not have code, but rather act as an organizational unit for a collection of subprojects.

It’s also worth noting that the calculation is based on data provided by the projects themselves (so some repositories–CVS, SVN, and Git–may be missing). Some repositories are reported twice (e.g. some parent projects redundantly record the repositories of their subprojects); those redundancies are filtered out of this computation.

Eclipse project metadata lists a total of 126 separate Git repositories. Keeping this metadata up-to-date is important because it lets us do a few things automatically for the projects. Eclipse project Git repositories are, for example, replicated on GitHub. We also keep track of project commit statistics via Dash using this information. I’m also working on generating contribution information for project IP Logs directly from Git: unlike CVS and SVN, Git tracks both the committer and author information. With this in place, we’ll be able to further simplify the process for tracking Git contributions to an Eclipse project.

By my estimation, we have 73 Git repositories that aren’t accounted for in project metadata. Some of these may represent Git migrations in progress for project that aren’t ready to designate their new repositories as official, or maybe abandoned false starts that need to be cleaned up. Some are probably owned by projects that simply haven’t updated their metadata. This is a pretty significant number that bears further scrutiny. I have some digging to do.

All Git repositories, regardless of whether or not they’re listed in project metadata can be viewed via our Git server.

This entry was posted in Community. Bookmark the permalink.

Leave a Reply

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

You are commenting using your 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