Migrating a MuleForge project to GitHub


The new MuleForge works with different project hosting platforms, it  is now a repository of all things Mule rather than a project hosting service. I recently migrated the Maven Mule Plugin from our old MuleForge infrastructure to GitHub. This was quite a journey and I had to trawl the web quite a bit to gather all the required steps to make the change. So here’s the full story, in case anyone wants to do the same.

Migrating from SVN to git

The very first thing I did was to migrate the source. There are plenty of (differing) tutorials out there but the “Migrating to Git” chapter in the Pro Git book got me started quite nicely.

There are some more steps you have to perform, though. The instructions tell you to convert all the SVN tags into git tags. But you have to actually push them so they appear on GitHub:

After everything is pushed and up on GitHub it’s time to get rid of the git-svn info:

This affects only the local repository (i.e. that info was not pushed to GitHub) but its a good idea to clean up your local copy.

Migrating the docs

Another task is migrating the documentation. The old, confluence-based markup can be converted to ’s markdown documentation format quite easily. But how do you preview the new documentation? Github’s gists come in handy here. Just create a new gist, enter README.md as file name (well the name actually doesn’t matter as long as you have the .md extension) and paste your new documentation. As soon as you save your gist it will be rendered giving you a nice preview. Continue editing until you’re satisfied and put the end result into a toplevel README.md in your new github repository. Volià, documentation.

I hope this mini-tutorial helps you with your migration of your existing forge project. If you have a Mule project that was not previously hosted on MuleForge (i.e. GitHub or Google Code), now is a good time to register your project and give it some more visibility to the Mule community.

We'd love to hear your opinion on this post

3 Responses to “Migrating a MuleForge project to GitHub”

  1. Thanks for this Dirk.

    A few questions:

    – How do you re-configure the MuleForge project itself so it knows that the code is now on GitHub? I have tried through Xircles, but to no avail.
    – Is the doc on MuleForge auto-synced from the doc on GitHub?


    • It’s the project maintainer’s responsibility to clean up behind them. When I migrated the maven-mule-plugin, I removed all the old contents and put a README.txt in place that states that the project is hosted on Github now.

      As for the documentation, this is something the MuleForge team takes care of. IIRC it’s a manual process right now and it seems that syncing is not done automatically either.

  2. […] up where Dirk Olmes left off in the post, Migrating a MuleForge project to Github, we now suggest a utility to facilitate the migration: […]