LWN.net Logo

Subversion considers its future

Subversion considers its future

Posted May 1, 2008 15:40 UTC (Thu) by mikov (subscriber, #33179)
In reply to: Subversion considers its future by ras
Parent article: Subversion considers its future

(Quick check - how many svn sub-commands are there: 30. How many git sub-commands are there: 124.)

I have seen this assertion many times, but in my opinion it is a very misleading exaggeration. The svn subcommands have a practically 1-to-1 correspondence to git. Git has many commands, but:

  • All of them don't need to be used
  • Git can do a lot more things.
  • As somebody else pointed out, many of them are internal.
  • Many of them do similar tasks.

I was a heavy and enthusiastic SVN user and it took me about a couple of hours (well, perhaps a day) to learn to use Git as a 100% SVN replacement. Everything beyond that was just a bonus.

I 100% agree that the corporate world is "not ready" for Git. Here is an absurd example of my own experience. Our company's product was being certified for VISA CISP compliance (a set of requirements for secure credit card software).

One of the requirements is that all source code changes must be logged with their author, and there must be a way to verify that the source hasn't been tampered with. We use GIT and all these things (and more) are just a natural part of Git. I thought we would sail through this part.

Alas, when the "examiners" found out that we weren't using a "real" VCS, they probably thought we weren't a "serious" company. It took me hours to explain that to prevent tampering of the source it is sufficient just to record the SHA1 of the commit. I don't think they were happy, because they wanted to see encrypted source CDs hidden in a secure safe.

So, yeah, most of the corporate world is not ready for Git and probably never will. Even SVN will actually be a big improvement for them. They are too incompetent, lazy or unmotivated at various levels of the organization. But that is actually a very good thing for small young companies trying to compete :-)


(Log in to post comments)

Subversion considers its future

Posted May 9, 2008 13:38 UTC (Fri) by wookey (subscriber, #5501) [Link]

I was a heavy and enthusiastic SVN user and it took me about a couple of hours (well, perhaps a day) to learn to use Git as a 100% SVN replacement. Everything beyond that was just a bonus.

Mikov, you must be much cleverer than me and my fellow (corporate) developers. I've now been to 3 talks on using git, as it is obviously cool, but I still don't 'get' it. SVN I do get, at least enough to use it for our work. I don't think I'm particularly stupid so I suspect this situation is common. My compatriot Nick went to the same James Bottomley talk at Linuxconf 2007 and he came out equally nonplussed.

We find SVN does a great job and will be used for the forseeable future (I spend my time trying to stop people piling _everything_, no matter how innapropriate, in, and re-arranging stuff which has 27 slightly-different versions in different dirs because people have failed to grasp what it is that a VCS does). I'm not sure we are ready for anything cleverer.

We might use a DVCS if we could see any major advantage in doing so, and I know I'd like to understand git because I suspect it makes pushing kernel patches upstream much easier, but like I said, so far I don't get it well enough to understand exactly what it might gain us, nor to actually use it for anything. And changing any infrastructure involves significant pain so there has to be sufficient incentive...

Subversion considers its future

Posted May 11, 2008 22:18 UTC (Sun) by mikov (subscriber, #33179) [Link]

Mikov, you must be much cleverer than me and my fellow (corporate) developers. I've now been to 3 talks on using git, as it is obviously cool, but I still don't 'get' it. SVN I do get, at least enough to use it for our work. I don't think I'm particularly stupid so I suspect this situation is common. My compatriot Nick went to the same James Bottomley talk at Linuxconf 2007 and he came out equally nonplussed.

I don't think I am especially clever (or at least I won't admit it in public :-) Also, don't forget that I too am a corporate developer - I work for a corporation, albeit a small one. I think it helped me a lot that I researched a couple of alternative DVCS before trying Git, so I was already familiar with the subject area. It does take some mental re-adjustment.

It really is simple to use Git as a SVN replacement, with just a dozen commands, without getting too deep. Once you get comfortable with that, you will gradually discover the other possibilities - that's what I did.

Perhaps fortunately we had needs that SVN didn't fill while Git did (branch and patch management, efficient access from multiple locations, hierarchical commit structure, etc - btw, we did look into SVK). Also it helps that we are much more flexible, being a small shop.

I would not advocate to anybody to just blindly replace SVN with Git, if SVN is already working great for them and they don't have an obvious need to fill. SVN is a great tool. It also has advantages when keeping multiple projects in the same repository. In fact I love SVN, it is just I love Git even more :-)

About "getting" Git, even if you don't start using it seriously, my advice is not to waste time with talks, etc. I recommend reading the documentation that comes with it and perhaps Linus'es original low level description for the design motivation.

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds