Published:
No, we don't mean a person, but a new (ish) version control system. When we discovered git we were quite excited at the chance for a DVCS (distributed version control system) that handled merging of conflicts better. The one thing git has that allows the many users of svn an interim process while moving over is git-svn. This allows you to use git to track an svn repository, very handy when you have 20+ existing projects in svn. I wasn't able to find a good guide on git-svn workflows, so here's my attempt at one.
For those of you who prefer not to “read the instructions”, here's a quick list of all the commands used in this tutorial:
If you haven't already, install git. I'd recommend installing from source, having tried the pre-built package for OS X where some of the tools included didn't work. You can download the source here. It's not a tough install, although you will need to install a few dependancy libraries, all the details are on the git website. A simple “tar -xjf git-1.2.3.tar.bz2 && cd git-1.2.3 && ./configure && make && sudo make install” will do the trick on the OS X command line in the directory you downloaded it to. If you're running linux you may not be using sudo, so the last step in that list may require you to have root access to your system.
Now that git is installed, create a new empty directory. On command line in that directory use the following to do a checkout of the svn: “git-svn init svn://path.to.svn.repo/ && git-svn fetch”
You should now see the whole repo structure with an “ls”. Feel free to now use git's standard local workflow of commits, a good guide on git can be found here. Once you have enough local changes that you'd like to push to the svn repo, you will now want to make sure you're up to date with the remote repo first, since your colleague Joe might have made some changes since you did your checkout. The command for this is “git-svn rebase”. This will fetch all the remote changes and rebase them into your current working copy. In “svn language” we call this an update. In English is means your copy will have every change on the server, as well as all your changes.
Sometimes during this step you will have conflicts, i.e. things git can't figure out on it's own. It will notify you of this, and you will have to complete those changes by hand. A “git status” will tell you which files are in conflict, and they can be edited to fix any problems in the same fashion as with svn. To then finish your rebase you must mark those files as fixed using “git add <name_of_fixed_conflict_file_here>”, and run a “git rebase --continue”.
Now you should be up-to-date with what's on the server and a “git-svn dcommit” will push your changes to the svn repo. This step is the equivalent to an svn commit.
And that's it, with this workflow you should be able to interact with an svn repo using git and your peers won't even be aware you're using git. Of course it would be good if you told them, who knows, you might find out they're all doing the same and switch over to a git repo instead.

Leave your phone number or email address below and we will contact you back
Or you can call us on 0121 224 7960