Git and Subversion
There are many people who want to use Git, but are forced to stick with Subversion for various reasons. Git-svn gives us the opportunity to migrate away from Subversion, but setting up a two-way sync is less than trivial. On this page I've documented the best way I've found so far for how to live with Git and Subversion in parallel.
You can also show your appreciation with flattr using the button below:
- Part 1: Cloning an SVN repo into a Git mirrorPart 2: Committing back and forth
- Part 3: Conflicts
- Part 4: Collaborating with other Git users
- Part 5: Centralized Git-SVN mirror
- Part 6: Grafting together SVN history
- Part 7: Leaving SVN behind
I've blogged quite a few posts on the topic:
- A big rough introduction to distributed source control and Git
- Why and how clone of a Subversion repo into a Git repo (aka SVN mirror)
- Sharing a Git SVN mirror in a team
- Sharing a Git SVN mirror in a team clarifications
- Git and Subversion summary
- Git-SVN mirror with branches
- The Dream of a Bi-directional Git-SVN mirror
- Git-SVN mirror without the annoying update-ref
You can also see all blog-posts tagged with git-svn.
I've created a 60-120 minute talk that summarizes the above setup. It's mostly a live demo exercise, with some motivation, practical tips and strategies. If you want me to do it at a local user-group or meetup around Bonn/Cologne, give me a ping.
I presented at GearConf 2010, the talk was called "Living with Git and Subversion in parallel".
I also presented the same talk, although in an extended version at the Essen JUG meeting in April 2011.
Apparently my talk was so well received the year before, that they invited me to repeat the talk at GearConf 2011. The talk was about 50 minutes, and included Jenkins and Github integration. The audience rated me as a 1,5 (using German school grade system, where 5 is bad and 1 is good).