I was wondering if anyone has been using Git for a while, and can speak to working on a team where there is a lot of merging. What's been your experience like? Is Git mature enough?
I'm thinking of jumping ship from Subversion. While I had the same thought about a year ago, new merge functionality promised a lot in Subversion 1.6.
Unfortunately, I'm in the middle of a new development cycle where there is a ton of merging, and I have two words for Subversion: SLOW and STUPID. Subversion 1.6, unlike the SVNMERGE tool which I used for ages and worked like a charm, doesn't remember the previous merge. Its half-built. Its slow. And I've about had it.
I recently saw this video on Git. Its Linus Torvalds speaking at Google on Git, and while I have issues with some of the things he says, he's right-on when he says that SVN should have focused on merging, not branching.
Hopefully you guys can shed some lights on some of the specifics I need before I jump ship!


Nov 23, 2009 at 12:13 PM I haven't done much complicated merging with Git, but have been playing with it for a month or so, and have done a bit of collaboration, and thus far it does seem to be just as easy as it promises.
I like it!
Nov 23, 2009 at 12:21 PM Bob,
Have you been using any special tools for Git, like Tortoise?
Nov 23, 2009 at 5:05 PM I've only used the command line interface thus far. I'm on a Mac and there's no Tortoise-Git on Mac yet. I've looked briefly at the Mac GUI tools that are available, but haven't had a need yet. One thing I'd like to find is a tool to duplicate Subclipse's features for comparing files, and comparing the working folder to the repository. I haven't done much research on this, but if anyone reading has a suggestion on that I'd love to hear it.
I understand there is an Eclipse plugin (eGit, I think), but I understand that it is in development and not particularly stable at the moment.
Nov 23, 2009 at 6:55 PM Bob,
I would try out SmartGit. I use SmartSVN now, and its by far the most mature and easy to use software. I haven't tried out SmartGit yet, but if you do give it a try, do let me know what you think.
http://www.syntevo.com/smartgit/index.html
Sami
Nov 24, 2009 at 1:00 PM i use git right now for all my project including the cfwheels repo. i can't tell you how easy git makes merging svn repos with local git repos, it really is something you have to experience. i've also use git to fix svn merges that broke between 1.5 and 1.6. really if you ever have a problem with git, hit me up in an email and i'll be happy to try to help you out.
Nov 24, 2009 at 1:03 PM forgot to mention. torgoisegit has come a LONG way. it now even supports git-svn commands. really if you haven't take a look at it before, you should give the 1.1 version a try. i personally use cygwin for all git stuff, but i've been playing with tortoisegit since the first release and have been really impressed with their progress.
Nov 24, 2009 at 1:15 PM Thanks Tony! Will let you how my foray into Git-land goes!
Nov 24, 2009 at 1:17 PM Sami, I'm very interested in dumping SVN for the reasons you mention. I'm sick of deciphering merge fail and commit fail messages.
Did you follow a particular "New to Git" users guide or anything? I'm interested in any feedback folks also might have re converting a large collection of SVN repos over to git.
Nov 24, 2009 at 1:21 PM Alan,
I'm seeing a bunch of 'How to move' docs on the Net, especially ones that will transfer directly from SVN to Git. That's where I will start after taking a look at the tools and working with a dummy repo to start.
Nov 25, 2009 at 5:42 AM @alan @sami,
if you're planning on using github to start playing with git, there is an option when creating a repo to have github import an svn repo. haven't used it myself but from what i heard it works really well and removes the need to use git-svn to migrate away from svn. just beware that this is a one time import and not a way to "track" and svn repo with github although there are tickets opened for them to add that functionality.
Nov 27, 2009 at 6:37 PM @BobSilverberg - gitX is nice. http://gitx.frim.nl/seeit.html
I use merging quite a bit, and I love it. The fact that you branch on your local box means you can keep the branch in sync with the truck daily very easily (you can have multiple links to repositories) - it's mostly simply a workflow change, but boy is it a nice one. Branching and merging are so simple and fast, once you get the hang of it you'll wind up doing it a lot - several times a day sometimes.
Because I am used to git, I keep making the mistake of suggesting branching in SVN, and it's almost always a 2-3 day life story trying to merge changes back in, and it is horrible in SVN compared to git.
A nice case study is digg.com: http://blog.digg.com/?p=900
Anyway, I like it.