Best way to fork SVN project with Git

Posted by Jeremy Thomerson on Stack Overflow See other posts from Stack Overflow or by Jeremy Thomerson
Published on 2010-05-06T18:26:43Z Indexed on 2010/05/06 18:48 UTC
Read the original article Hit count: 375

Filed under:
|
|
|
|

I have forked an SVN project using Git because I needed to add features that they didn't want. But at the same time, I wanted to be able to continue pulling in features or fixes that they added to the upstream version down into my fork (where they don't conflict). So, I have my Git project with the following branches:

  • master - the branch I actually build and deploy from
  • feature_* - feature branches where I work or have worked on new things, which I then merge to master when complete
  • vendor-svn - my local-only git-svn branch that allows me to "git svn rebase" from their svn repo
  • vendor - my local branch that i merge vendor-svn into. then i push this (vendor) branch to the public git repo (github)

So, my flow is something like this:

git checkout vendor-svn
git svn rebase
git checkout vendor
git merge vendor-svn
git push origin vendor

Now, the question comes here: I need to review each commit that they made (preferably individually since at this point I'm about twenty commits behind them) before merging them into master. I know that I could run git checkout master; git merge vendor, but this would pull in all changes and commit them, without me being able to see if they conflict with what I need.

So, what's the best way to do this? Git seems like a great tool for handling forks of projects since you can pull and push from multiple repos - I'm just not experienced with it enough to know the best way of doing this.

Here's the original SVN project I'm talking about: https://appkonference.svn.sourceforge.net/svnroot/appkonference

My fork is at github.com/jthomerson/AsteriskAudioKonf (sorry - I couldn't make it a link since I'm a new user here)

© Stack Overflow or respective owner

Related posts about git

Related posts about fork