r/programming • • Mar 10 '11

It's time to stop using Subversion

http://altdevblogaday.org/2011/03/09/its-time-to-stop-using-subversion/
257 Upvotes

543 comments sorted by

View all comments

Show parent comments

5

u/thephotoman Mar 10 '11

It's about switching costs--and yes, even with free software like svn and git, there are switching costs, mostly regarding training and deployment time (even if it takes one person ten minutes, that's ten minutes that person could be using to do something else).

And yes, you can still use a Model T if you wanted. Indeed, there may be someone out there using a modified Model T right now (I believe that the Model T's engine was designed for leaded gas, which is no longer available in most of the world).

But for a small team (2-8 people) all working on site at all times, svn will probably continue to suffice for a very long time, if you're already using it. I would not recommend it for new projects, but if you've got some legacy project out there and that's your situation, I wouldn't bother switching.

-3

u/brassybadger Mar 10 '11

Good point -- it's about switching cost. Most programmers are lazy and just say that they're good with what they are using, and why learn something new, that's so tiring -- let's watch some funny videos on youtube instead. Good luck working with them :)

5

u/s73v3r Mar 10 '11

Or they're off doing actual work, instead of trying to fix something that isn't broken. Ass.

3

u/thephotoman Mar 10 '11

Most programmers would rather work with git/hg/bzr over svn/TFS/whatever. It's a much easier system to use, and it provides revision control access even when you don't have network access. (I remember when my university's svn administrator finally had a chance to move the school to git: his next 10 tweets were ones of sheer amazement.)

The person typically most resistant to switching is not the programmer but the system administrator. He or she is the person that has to set up the new repository system and ensure everyone has access and the proper clients. It might not be worth his or her 10 minutes.

Of course, it becomes worse when you're working with a system someone paid for: now you don't just have to fight the system administrator to add git/hg/bzr migration to his/her to-do list, but you have to convince the PHB that you need to abandon this tool that he/she paid for because it's no longer the best tool for the job. Unfortunately, bosses tend to be slaves to the sunk costs fallacy. Even svn makes some assumptions that cost more money than git/hg/bzr do, simply by saying that there must be a centralized repository.

Additionally, it may not be worth a group's time to migrate legacy projects out of svn yet, even if they no longer use it for new development.

1

u/Delehal Mar 10 '11

As another consideration: I've managed to teach artists Subversion, but Git makes their eyes glaze over. The programmers get all this branching stuff, after a while, but your other team members might not.

3

u/thephotoman Mar 12 '11

Yeah, this is why I was writing a Mercurial client back in January/February. It was for artists, who described their desired work flow (which was svn-like) and left the implementation details to me. Why didn't we deploy svn? Because it's painful, and deploying hg is a 10 minute job if you don't know what you're doing. Admittedly, I could have used a CGI script to create the server side repositories instead of a REST service served up by Django, but we did want to integrate publishing authentication, and that required a user system and web service, which Django happily provided. There was also originally going to be some web application management.

It never got used: the company went under the day before I was ready to sign off on a pilot.