While surfing around the Better Explained site, I happens to see a article which introduce users to the distributed version controlling (DVCS). At the end of the article there was video on youtube which happens to be a session on Git by Linus Torvalds for Google. It drew my attention and I actually watched it all the way through. Linus being a inspiring speaker is one thing but his version controlling thing, as in my opinion is not yet ready for a production companies. One the arguments he brings up in the session is that git allows open source to get over with it's politics of committer access. That is a valid point, having being able to have your own repository avoid having monarchy style control of a project. But this is not valid for enterprises who always want to have an upper hand on things. Also even though branching may be more smoother in DVCS, other troubles like lack on central control (even though we can mimic this) is not going to attract many enterprises soon to use DVCS.
Btw I'm not saying that SVN or CVS is better than Git but I think we need something that has better centralized control and have better merging support!
4 comments:
Well buddy, you are missing a quite lot about Git and DVCS in general. I don't blame you. Unless you are really using a DVCS and groking the concept, it won't make much sense. I'll post a quick thing here, and hopefully I'll have time to cook a better blogpost.
True, Linus's talk was a pivotal point in VCS history. It was what gave me the wake up call. But what Linus talks there is just much about marketing. :) His talk is the inspiration which make you look deeper.
DVCS is first, not about project politics or decentralizing power. Since a centralized system can be considered as a specific setting of a distributes system (at least within out context), if you want to use the centralized work flow, you are well to go with. Even there Git beats CVS/Svn. ;) For a very basic diagram of this you can refer to my blog post here
And about being enterprise ready, only thing missing as I see is the TortoiseSVN clone for Git, if you are depending on it. I'm not the only one whose using Git at work, you know. :)
People tend to think about Git is te next evolution step in RCS -> CVS -> Subversion. But Git (or Mercurial, Bazaar, or any other DVCS) is a totally different approach of thinking about version controlling.
Anyway, all in all, and as far as I've experienced DVCS is the way to go. And Git without any doubt is doing hell of a job at it.
If you are still interested about how Git works and how one can use it, check out this great video by Scott Chacon.
hm... You can argue. But I think Linus was thinking both merging and community policies while he boiled the design for Git. Git is simply what he wanted to maintain Linux kernel project. Anyway I'm not very experienced with Git. But in my opinion.. Only problem with current centralized systems are that they lack support for merging! (Actually it's not good enough)). This is the only reason why i'd switch to Git, and it's a quite big thing too. And I think companies are generally reluctant to give up centralized control over merging... even if you have tortoise like client for Git!
Well, Linus was thinking about the kernel. But he only maintained it for a couple of months until he got to where he wanted as a start. Then he handed maintaining over to Junio Hamano, who is doing a great job. So Git is not a tool just for kernel hackers. Accept it or hate it, but it is a mainstream tool. :)
Git, ...as I mentioned in the previous comment, you can run it with centralized control. In fact most enterprise installations of Git might be in that configuration, I reckon.
About the problem with VCSs,... don't think there's much except merging if you think that way. But if you actually go ahead, try a DVCS, I mean try seriously,..... then you might be able to see why DVCS have much more to offer.
Eg: I was a Subversion user (I still use it sometimes) who was very happy with it, and who was a fanboy preaching about Subversion being way better than CVS. After using Git and having learned a fair amount of concepts, there's no way I'm going to switch back. :)
Sorry for being such a Git fanboy (hey, that's how they call me sometimes; Git). I had to reply for I don't believe that this is *not* about "what's best", but rather "what's better for us". And I truly, honestly believe the fact that 'Git isn't prime time ready' is not valid.
Thanks again buddy, for the space for an intellectual conversation. Keep it up. :)
I'd love to hear what is more in the offering than merging...
Post a Comment