I heard that some people want to use git as their preferred VCS for SoC. The problem is that their mentoring organization use a global Subversion repository hosted on Google Code. The solution : git-svn. So I wrote this little how-to set git-svn up with Mono SoC SVN (just change mono-soc-2008 with your organization repository) :
- First checkout the current whole mono soc svn repository :
svn checkout https://mono-soc-2008.googlecode.com/svn/ mono-soc-2008 --username your.google.code.username - You should be prompted with a password request, to get it go to :
http://code.google.com/hosting/settings - Add three folders corresponding to your project’s trunk, branches and tags :
svn mkdir tags/[your project name] branches/[your project name] trunk/[your project name] - Commit these changes :
svn commit -m "Added folders for project [your project name]" - Use git-svn clone to get a working git-svn environment with the command :
git-svn clone --tags=tags/[your project name] --trunk=trunk/[your project name] --branches=branches/[your project name] --username=your.google.code.username https://mono-soc-2008.googlecode.com/svn
Now you can use standard git commands to add files, revert changes, do bisect or whatever. Once you want to mirror your changes back to SVN, just do a git-svn rebase to resolve possible conflicts with svn HEAD and then a git-svn dcommit will convert your git history to the svn repository.


