>WTP Incubator Moves to Git

>The components in the Web Tools Project Incubator decided back in late May/June 2010 to migrate off of CVS as the source code repository and move to using git. The new git repository for all WTP Incubator components is now available.

To clone the repository:
git clone git://git.eclipse.org/gitroot/webtools/org.eclipse.webtools.incubator.git

Why not move all of WTP over? Mainly because of the large number of unknowns. The Incubator is fairly small, and the components within it are fairly self contained. The incubator is ideal for learning what may be required when eventually migrating the large WTP projects over to git.

As of now, we do have the Hudson CI builds for XQuery, Vex, and XML Security tools available. All of these components are stored in the same repository, but their development occurs on their own branches.

  • xquery-dev
  • vex-dev
  • xmlsecurity-dev

Each of these branches are the main development branches for their respective components. Each can and will have their own milestone schedules and release cycle until they graduate. If you want to work with the code from any of these projects, make sure to checkout and track the appropriate branch. Using EGit makes this fairly straight forward.

To Checkout a Dev Branch:
git checkout xquery-dev

The thought currently is to use the master branch as the Milestone/Release branch. When a component is ready to create a milestone they can merge it back into the master branch and tag it. This may change as we learn a bit more on what are the best ways to manage a single repository with multiple components that may release at different times.

As of right now all of the projects are using Maven3/Tycho for building. The goal here is to provide a common way to build, and many of the existing committers were already familiar with Maven. This does mean that the common WTP build infrastructure is not being used for these projects, so the group will need to see how to handle integration, and milestone publishing going forward.

Over the coming months we’ll be learning a lot about working with git, and what are some ways to use it to produce milestones and releases from it. It is the hope that the leasons and techniques we learn in the Incubator will be beneficial for the larger WTP migration in the future.

Advertisements
This entry was posted in eclipse, egit, git, vex, xml. Bookmark the permalink.

3 Responses to >WTP Incubator Moves to Git

  1. Robin says:

    >I'm interested in why you set up your repository structure like this. Why not have separate repositories for each project?One advantage you may have with a single repository is that you can tag all the projects in one go. But when you use branches like you do, that advantage is lost.

  2. David Carver says:

    >@Robin the reason is that this was how the original CVS repository was setup, and we wanted to maintain all the commit history for these projects. There is some method to the maddness as well.Think of the approach as a Silo workflow pattern.http://progit.org/book/ch3-4.htmlWhen a stable version is ready, we can merge back into master from the appropriate dev branch. There are many ways to work with git. As we go along we'll probably do some restructuring and clean up in the future to get rid of some of the CVS legacy we brought over.

  3. Robin says:

    >You can convert a single CVS repository into multiple Git repositories without losing any history. But you can also do this from the converted repository, see this stackoverflow question.

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