I saw the announcement this morning that Rails is moving their development to Git from Subversion. I’ve been toying with Git for about 6 months but haven’t made the switch because there isn’t a tool that supports externals the way I use it at work.
In the last few days, I’ve been poking FranÃ§ois Beausoleil, the author of Piston, to get more of my external goodness sorted out. This would allow me to spend my days working in Git while the rest of the team I work with stays in SVN – which is just about the perfect solution.
So far it still has its bumps – but I’m optimistic.
That being said I wasn’t switching to Git because DHH said to. I was more moved by the video of Linus at Google.
The funny thing about that is a long long time ago – I used bit keeper at work. Linus used bit keeper to maintain the kernel. I hated bitkeeper! At the time, the argument was constantly – it must be good – they use it to maintain the kernel – which was a crap argument considering there were only 6 of us and we all sat in the same room – we weren’t a distributed team of thousands. I eventually got us to switch to Subversion (Which had the nice benefit of saving my dept $1500/seat a year for scm and got us shiny new laptops) and things were good.
When I started seeing grumblings about Git a year ago – I was prepared to ignore it. It seemed like it was going to be bitkeeper all over again – meaning a great solution for Linus – and a bad one for me. I’ve been watching for signs that I could keep my externals workflow. FranÃ§ois even posted on my blog to give me a heads up about the new – not quite released version of his tool.
Last night I got one of my project migrated so I can use either SVN or Git on it. I figure after a few weeks of working I’ll know if Git is what it is cracked up to be – and if it isn’t I can go back to the land of SVN. I remember what it was like back in the day when I went from CVS to SVN. I loved the improvements in SVN and hated the fact that there was zero tool support. That eventually settled down – here’s hoping that the path is much shorter for Git.