Moving over to github?

Topics: Project Management Forum
Dec 28, 2010 at 6:30 PM

Hey guys,

are there any plans for Farseer to move from CodePlex over to github? Maintaining downstream modifications and contributing to the project would be much easier this way. I'd be totally willing to help with the conversion.

Marvin

Coordinator
Dec 28, 2010 at 8:36 PM

No plans of moving to Github. I'm fairly happy with Codeplex at the moment. In what ways are Github better?

Dec 29, 2010 at 11:36 AM

I think it would be best to give an example.

I made some local modifications in the Farseer codebase that I use. These changes are not under any kind of version control but just in my local Farseer SVN working copy.
I've also put these changes into a patch file to enable me to stay up to date with the latest Farseer version. With Codeplex/SVN the workflow to get a new version of Farseer version would be either to:
a) get the new Farseer source, then try to apply the patch again (drawback: applying the patch file over and over is cumbersome, especially if there are conflicts), or
b) contribute my changes back to the project by sending you the patch file (drawback: even if my changes are accepted it will take quite some time for them to appear in the trunk)

In contrast, with github/git I could "fork" the Farseer project, meaning that I would create my own publicly accessible clone of the main repository in which I can make custom modifications to the code base. These modifications would also be properly version controlled and backed up on the github servers.
If I think some of my changes are worthy of being contributed back to the the main Farseer repository I could just create a "pull request", meaning that I'd show you the range of commits that I made to modify Farseer. Then (if you decide to do so) you could automatically merge these changes into the main development line. No need for emailing patch files.

For example, this is my fork of a Lua utility library: https://github.com/mkilling/underscore.lua. This is a (closed) pull request I made to contribute back to the main repository: https://github.com/mirven/underscore.lua/pull/3.

Coordinator
Dec 29, 2010 at 12:25 PM

I see. However, the choice of project placement is not entirely up to the source control being used. I do like the concepts of Git (and Mercury for that matter), even if the tools are lacking compared to SVN and TFS tools. That being said, Codeplex has a great integration into the source control as I can tag source files, shelve changes, fix bugs and more directly from my source code editor's source control plug-in.

But as I said, it is not only the source control. It is also the rest of the system. It does have some limitations (like Silverlight hosting), but most of the time Codeplex allows me to code and manage the project efficiently. I would certainly hope that Codeplex adds support for Git as it did with Mercurial and SVN.

As for your changes - it is only a small amount of users that actually change the core engine. Most of the changes are hacks to get around annoying limitations (that I'm unaware of most of the time by the way). I would recommend people post about their changes in the discussion forums and if needed, post a patch to our patch section. If you have any changes, let me know and I can merge them into FPE - if the changes are related to Box2D, they can even be merged upstream.