While I have a lot of respect for the work Microsoft have done with CodePlex, personally I think GitHub is fundamentally a much better platform for open source projects. The main reason being is that it is just so easy to get access to the code, make changes and do whatever you want while utilising the power of Git. I have a couple of projects on CodePlex, so I wondered how easy it would be to port them over to GitHub.
After creating a new repository on GitHub, you are given the option to import from a Subversion Repository. All you need to do is enter the public Subversion URL for your repository.
Thankfully, CodePlex allows you to access your source code via TFS and Subversion. To find the URL, simply go to the Source Code tab and click Connection Instructions. This will give you the project’s SVN URL to enter into Github.
After clicking next the experience isn’t great – there is no real feedback about what is going on which is unfortunate. However, after a while I received an email saying the Import had been completed successfully. If it fails, it also will send you an email to let you know.
My GitHub repository now has all the source code from my CodePlex project.
Along with the code, it also has all the commits and history associated with the project which is pretty awesome!
In just a few clicks I was able to migrate from CodePlex and SVN to GitHub and Git.
If you didn’t want to use the UI, or it failed for some reason, GitHub have a great guide about how you can do this import manually.