Now I love GitHub, the whole idea of social coding is awesome, but within an enterprise/business I still feel that Subversion has its place namely because a lot of large organisations at this current time won’t want to invest money into changing the Source Control Management system from something that the management see as working. (Yes they are free, but you have training, server install, support costs to consider)
Now I’ve played with GIT and MERCURIAL and really do like them, I prefer Mercurial over Git and that could be to do with the fact it has some resemblance to Subversion and also that Joel Spolsky’s Fog Creek’s Kiln looks and is awesome. I get the whole idea of Distributed revision control so don’t get me wrong I’m saying there is no place for it in the Enterprise, but for me right now I don’t think businesses will see the benefit of the switch over night, if they have subversion working for them correctly, and most people will find the jump give them more productivity if their current subversion usage isn’t optimised.
In my current position we have around 14 ColdFusion developers, and we’re using agile techniques to build our internal software. So with this comes Unit Testing, Database Testing, IDE, One Click Deployments and so forth, and there is plenty to learn here already and in my humble opinion these techniques have a far greater importance to learn then a new Source Control Management system. The first stumbling block I’ll see if people will commit and then not push, and so although it’s on the local machine it will be very easy (at the start of the implementation, to forget to push)
In addition all our ANT Scripts have been set up with SVNANT and I guess there are other ways to do the same in ANT for GIT and MERCURIAL; so for the foreseeable future we’ll be sticking with Subversion.
I’m not going to say I’ve got my Subversion usage right instantly no matter where I have worked, every position I’ve had I’ve learnt new ways of dealing with things in Subversion and now I feel I have mastered the beast enough.
I’m going to start a few blogs about how we now use Subversion in the team I work in and I hope some people find it useful and also will change their thoughts on Subversion usage in the future.
Also with the release of Subversion 1.7 it has a lot of improvements with speed, but at the moment we’re stuck with using 1.6 due to our need for SVNANT and this hasn’t been upgraded to use 1.7 yet as there are a lot of API changes.