Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Git Magic (stanford.edu)
29 points by kirubakaran on April 12, 2008 | hide | past | favorite | 12 comments


I can't help but think "Does source control matter that much in a startup".

I can see why git may be much better than svn for large groups of developers, but is git really that much better for small groups? Are people really spending much time on revision control?


Git is not just a better revision control. It changes the way you do things. I am just a lone entrepreneur... not a part of some giant team. It lets me do things that was never possible before. I know I sound like a zealot but I don't know how to convince you. Perhaps I can say it is like the difference between Java and Python. But I don't want any language war crap confusing the issue here.

Okay I'll leave you with this. It is Linus' speech that convinced me to give Git a shot. Listen to it and if it doesn't make you try Git, then I guess you don't need Git.

http://video.google.com/videoplay?docid=-2199332044603874737...


If you are going to learn something, then why not learn something that will scale? If you can already make SVN dance, sing and bring you dinner then the economics might be different of course :)

Personally I wanted to learn Git as a couple of projects I track are now hosted in it. So I took the nuclear option and started using it to version control ~/ and power my backup system.


Source control does matter. If you're thinking about any serious development effort (startup or not), you really need to use it. Unless of course you can honestly say that you always know exactly what your next step is, never make any mistakes, never need to go back to an old version and work with a group of identical equally perfect developers.

What you need to figure out is which tool (git, svn, or something completely different) matches with your style and needs as a developer or group of developers. The best version control is the one that becomes part of your natural workflow so you use it without thinking of it as an extra step that you constantly have to do. Because if that happens, you'll just stop using it.

Git's branching capabilities work well for someone who needs to work on multiple independent features or try out new ideas that may or may not work out. All of which is usually what's going on in a startup. It's something that comes as part of the tool instead of having to be worked up in a series of processes that you don't either have to time or (painful) experience to come up with yourself.


I wasn't questioning the value of source control at all. But for the average startup, is the value of git that much more than the value of svn?


Git may be more important for a startup. I'm guessing the typical startup, particularly YC types, will be using a ton of open source. Git enables you to take all the open source libraries you depend on, branch them, add the little changes you need, and merge things back from upstream (or contribute back, of course).

This is a huge win over the hacky way things are done with svn externals or svn + patches.


>Git enables you to take all the open source libraries you depend on, branch them, add the little changes you need, and merge things back from upstream (or contribute back, of course).

So that's what git does. Thanks for the one sentence explanation.


I'm about to switch from svn to git, and I'm hoping it'll make a difference. My webapp has been released a while now and here's how I'm hoping git will help my release cycle:

I don't like / use svn's branching support. So, after every release I'm reluctant to start any major development. What if I've pulled the guts out of my app, and a critical bug is discovered?

Clearly not a problem if I have either a stable branch that I can apply the bug fix to, or a branch for whatever major feature I'm working on.

It's quite possible that this is my shortcoming and has nothing to do with svn vs git. But, if switching to git (which seems to have great branching support) is what it takes for me to adopt a better practice then I'm for it.

Anyway, I think SCM is a major part of running a software startup. It has too much of an effect on operations not to be important.


I love svn's branching support. I always work in new branches and then merge them back to trunk. I never have trunk anything but what is 100% working and deployed, and then branches can be in any shape. This way you aren't afraid to check in code.


Could it be that you're just scarred from trying to do branching with cvs? I've heard svn is much nicer regarding that.


A friend of mine worked at a company where he apparently presided over a month long flame war about what version control system to use. He got sick of it and just dictated that svn would be used, henceforth. I think people get altogether too excited about something that should be a fairly conservative part of your business. Innovation in source code management is not likely to be that big a win, although I guess if you're getting started, going with something more modern like git might be smart.


Edit: I wasn't meaning "Does using source control matter that much". Obviously it does. I was questioning how much extra value git could add over svn.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: