This project is read-only.

Move to GitHub

Feb 10, 2015 at 3:08 PM
With more and more open source projects moving to GitHub, perhaps it's time to discuss if (and when/how) RazorGenerator should also move. There are numerous advantages, but perhaps the biggest is the critical mass of developers who have made GitHub their primary code interaction platform. The network effect will create greater exposure, make it easier for a larger number of developers to contribute, and generally be in line with the consensus approach these days (even Microsoft is releasing and moving most of it's stuff to GitHub).

This brings up some challenges:

Source Code
  • Moving the source code should actually be the easiest part. It's straight-forward to create a new origin and then push the entire repository.
  • There may be some lingering issues with identifying contributors. If the email address used on Codeplex and on GitHub are different, then it won't correctly associate those commits with the appropriate author. There is some advice on how to address this here and GitHub also has a help page for this:
  • Dealing with forks may be a challenge. At the time I wrote this message there were 53 forks on Codeplex. Some of those developers (myself included) probably already have GitHub accounts and would be happy to move their fork to GitHub with the code. For the rest, we may need to provide some guidance on how to create a GitHub account, fork the new GitHub project, and then commit their existing forked code to the new GitHub fork.
  • There are currently 5 pending pull requests. Those will probably need to be merged or rejected before moving.
  • As far as I can tell, there is an introduction page and 6 documentation pages labeled "quickstart".
  • It should be relatively simple to port these over to GitHub flavored markdown and add them to the project.
  • GitHub has a nice Wiki system described here
  • I don't mind taking on this task.
  • There are currently 211 discussions on Codeplex with some very valuable help content and guidance, we obviously wouldn't want to loose all of this.
  • GitHub does not have a discussions capability, though some projects use the GitHub issues tracking as a way to hold discussions (for example, several of the core MS dotnet GitHub projects do this).
  • I'm not sure what tools exist for this. We could potentially automate the process using APIs, or perhaps there is already a tool out there (I have to think other projects have already been down this path when moving to GitHub).
  • Matching users may be a challenge, I.e., getting the user accounts on the discussions on Codeplex to match up with users on GitHub.
  • There are currently 93 open issues and 163 total issues, some with valuable discussion.
  • These would be more straightforward to move to the GitHub issues tracker, though again we'll have many of the same complications as for discussions.
I also realize that there may be some folks who don't want this project to move to GitHub. I think it's probably at least worth some consideration though. Especially seeing the kind of engagement other .NET based projects have gotten once they've either moved or been launched there.
Feb 10, 2015 at 3:34 PM
Thanks for driving this, as this is way overdue!

My take is that this is a good opportunity to start clean. Meaning don't try to move existing pull requests forward and issues forward. Instead, let people who had opened them re-open them on Github is they're still relevant to them. That's what we did with T4MVC. Let's not make this too hard on ourselves :)

For discussions, everything that's on Codeplex will stay there, and continue to be searchable, etc... And if someone replies to an old thread on Codeplex, it's fine to respond there. For new discussion, we'd use the Github issue tracker.

I wouldn't worry about people who don't want to move to Github. I'm guessing that the majority would be in favor.

On Github, I guess we would have both the Organization and the Project be called RazorGenerator, unless someone has a better scheme. That's what we did with T4MVC:
Feb 19, 2015 at 4:03 PM
Sorry it's taken so long to reply. Not moving the PRs and issues certainly makes things easier, and that does appear to be the direction a lot of projects have gone when migrating. I'll be happy to take the lead and move this forward if you're ready to roll. At this point I think the steps are:
  • Create the GitHub Organization and invite team members (anyone other than you and pranavkm?)
  • Create the repository
  • Create a GitHub Wiki and port the existing content over
  • Push a copy of the CodePlex repository to the new GitHub repository
  • Clean up code authors so the accounts match
  • Add a note to the CodePlex site with a link to GitHub
Feb 19, 2015 at 4:09 PM
That sounds about right. If you have the cycles to make this happen, that would be awesome!
Mar 16, 2015 at 8:52 PM
Finally getting around to this. I've set up a GitHub organization (invitations are on the way). Should have the rest of it done by the end of today or tomorrow.
Mar 16, 2015 at 9:16 PM
Okay, repo is up, code is pushed, and the readme has been copied over. Now I just need to copy over the wiki pages and we're set. I don't have permission to add a note to the CodePlex page, so that'll have to be either you or @pranavkm. The new repo is at:
Mar 17, 2015 at 2:29 AM
Awesome! I just added you as a developer on this project in case you need it.
Mar 17, 2015 at 2:33 AM
Ok, I added a note to the Codeplex start page to point to GitHub!