1.) Already done: First preparatory steps:
- If he hasn't already done so, every dev and contributor should dig through some basic git and github tutorials (only applies to those new to git/github of course, all you veterans out there can lay back and enjoy watching us newbies struggle ). When we start to use git/github, we should at least have a faint idea what we're doing
- Step no longer necessary: Ask Daniel to stop the scripts syncing the SVN repo to the git mirror, if he hasn't done so already - they must be broken by now anyway, since there have been some commits pushed to it when the SVN repo was down. As the mirror repo has already been renamed, this step isn't really relevant for the migration procedure anymore.
- Already done: Inform all users on github who made forks of the mirror repo that this repo is going to be renamed and a fresh copy of the SVN repo will be swapped in. As this fresh copy will get the name the mirror had before ("freeorion"), they might be able take some measures to ensure their forks don't get screwed up too much (as these forks most probably won't work if the source repo gets replaced by a different, kind of unrelated one).
- Already done: Inform all devs and contributors to get any uncommitted work committed to SVN, as far as possible, to minimize any troubles that might arise if you need to transfer uncommitted work from a SVN working copy that will be obsolete after the switch to a git working copy.
2.) Already done: Rename the git mirror to something like "fo-svn-mirror".
3.) Already done: Revoke commit access to the SF SVN repo from everyone except the project admins (Geoff, Dilvish and myself), to minimize the risk of someone committing during (and after) the migration process.
4.) Already done: Import the SVN repo with the github importer tool into a new repo "freeorion" within the freeorion account.
5.) In progress: Cleanup steps:
- Already done: Adjust the Python script that creates Version.cpp to work with git instead of SVN, using "git describe". We might want to finalize our discussion on how the version string should look like before...
- Already done: Tied to that discussion is also the decision what the naming scheme for the builds should be in future. We won't have the SVN revision number anymore as "build number", so we need to come up with something else. Cjkjvfnby already has made some suggestions in the discussion linked above.
- Update the SDKs to employ git to fetch/checkout the sources
- Already done: Update the wiki main page, particularly the links to the repo and recent development work.
- Decide on what needs to be changed/updated about the FreeOrion project on SF.
* Already done: What to do with the repo? Will stay as a read-only, retired/defunct repo.
* Already decided and partly done: Shut down the feature/bug trackers and point people to the issue tracker on github, or leave them active? Migrate them to the GitHub issue tracker and shut them down.
* What should be changed on the front page to indicate the official repo is now on github?
* Partly decided: Continue publishing binary releases on SF, or is there a similar feature on github, and if, shall we use that instead? We will continue to publish our releases and test builds on SF. There is a feature on github for releases, but that doesn't look useable for the weekly test builds anyway. We can use this to publish our releases on github too. Shall we do this?
I might have overlooked one thing or another, so any feedback, corrections, additions etc. are welcome. I want to reach a consensus ASAP, so we can go ahead with that thing.
EDIT1: Updated procedure (2015-03-19)
EDIT2: Updated procedure (2015-03-22)
EDIT3: Updated procedure (2015-03-24)
EDIT4: Updated procedure (2015-03-25)
EDIT5: Updated procedure (2015-03-27)
EDIT6: Updated procedure (2015-03-29)
EDIT7: Updated procedure (2015-03-31)
EDIT8: Updated procedure (2015-06-07)