Piloting Git in a Subversion Environment

We’re looking to implement a pilot of Git to familiarize the team with the tool and introduce them to the more flexible workflow that Git supports over SVN. Because we support concurrent lines of development, we would like to forego the usual way of using git with SVN (each developer clones a branch of the repository and commits there) and try to implement a pure git experience using an intermediate “project repository”. The idea behind this repository is as follows:

  • We clone the main subversion repository using git svn
  • An empty project repository is created on the server and the Subversion clone is pushed to this repository (its an additional remote).
  • The development team clones the project repository and proceeds to do development in their own clones. Periodic pushes to and pulls from the project repository keeps each developers master branch up to date, from which they can rebase their local branches.
  • Periodically (probably daily), the originating SVN clone is ‘svn rebased’ and the new changes pushed to the project repository. These changes will be pulled by the developers on the next pull from the project repository.

In picture form, the workflow looks something like this:

Envisioned Pilot Process

Nevermind – StackOverflow ruined it for me.

Feeling Bad

I’m kind of feeling bad for not blogging lately. The site is not getting much of my attention over the last few months. I’m playing a lot with git, a version control tool and figuring out how it plays with SVN, the SCM we use at work. I’m most interested in the advantages over SVK for distributed development while still having a central repository. Expect some posts on that soon.

Aside from that it is camping season, so I’m trying to spend most of my weekends away from the computer.

Hopefully, the bookmark trail is giving some good data on what I am looking at lately. If you really want to know whats going on, follow me on Twitter. It’s where I spend most of my blogging time lately.