Live data from Hacker News

Poll: Version Control

news.ycombinator.com

21–30 of 92 posts

Re: Poll: Version Control

#21
post #4

i'd like to know why people are using what they are. did you pick git because you just recently started using version control or was there really something you needed in it that made you switch? i've been using cvs for about 10 years now and have no reason to switch to anything else. it does what i need without any extra fluff, all my projects are in cvs, and the majority of the projects i contribute to use cvs.

using subversion over cvs because of repository revision numbers, renaming of files.

using git over subversion because of sane branching / merging / rolling back, history tracking, SPEED, increased redundancy (everybody is backing up the repo!) and local commits.

Re: Poll: Version Control

#22
post #14

Why do these polls get repeated so regularly? http://news.ycombinator.com/item?id=323041

Because not all of them make the front page? And even if it did, this person probably missed it. Really, is that so wrong?

Re: Poll: Version Control

#23

fossil

The first thing I thought of was a version control system that only lets you make one version; then it's etched in stone for all eternity.

So, maybe it's a bad choice for a name, but the system itself sounds interesting--it includes a wiki and bug tracking.

Re: Poll: Version Control

#25
post #13

Earlier quoted context omitted.

I have to respectfully disagree here. Having super-lightweight branching and local commits has helped me greatly, even in the tumultuous early days of a new project. Basically, it gives me the freedom to create a branch, hack for a while, and then either pull the changes into the trunk or abandon them, while still keeping an easy "bookmark" in place (a.k.a. the branch itself) to go back and review later. Using rsync…

> create a branch, hack for a while $ cp -R project testbranch > then either pull the changes into the trunk or abandon them diff or rm -rf. And none of the nuisance of explicitly telling the VC system when you're adding, deleting, and renaming files.

I'm not arguing with the value of a filesystem as a general-purpose organizational tool. However, it's a strictly weaker tool in terms of structure and semantics than a proper VCS. Also, not only does using a raw filesystem put the burden on you to remember the associations between branches and versions, it also gives you zero support for merging once those branches are made.

Git is pretty good about following renames, moves, and other changes to the underlying filesystem, while still maintaining a proper graph structure to relate revisions to each other. Fast network replication and mirroring is just another benefit, as is the ability to quickly merge changes from multiple branches.

Finally, as another commenter has already suggested, it's really just about establishing good habits as part of your workflow early. It's much like testing: if you start out with a decent test suite, you're much more likely to maintain and use it than you are if you have to overlay testing onto an established project. Similarly, if you have full version history from day 1, things will be much easier further down the road.

Re: Poll: Version Control

#26
post #3

I adopted mercurial when git was "painful" to use. It seems as though this has changed, but I see no compelling reason to switch just because all the Rails kids think git's cool right now.

I love mercurial because it's so painless. It just works. Everywhere.

Re: Poll: Version Control

#27
post #4

i'd like to know why people are using what they are. did you pick git because you just recently started using version control or was there really something you needed in it that made you switch? i've been using cvs for about 10 years now and have no reason to switch to anything else. it does what i need without any extra fluff, all my projects are in cvs, and the majority of the projects i contribute to use cvs.

Speed, non-idiotic operations (rename, branches) and offline commit's

Re: Poll: Version Control

#28
post #3

I adopted mercurial when git was "painful" to use. It seems as though this has changed, but I see no compelling reason to switch just because all the Rails kids think git's cool right now.

Mercurial's metaphor for local branching is awkward. Git's metaphor is not, and most people go batty for it. That's a pretty good reason to change.

I wouldn't use git if it didn't have cheap inline local branching. It is the Killer Feature.

Re: Poll: Version Control

#29

Can anyone with experience with both SVN and Git comment on the pros/cons of branching and merging (this is something I do often in Perforce). Which would you use based on this one issue?

svn's complete lack of merge tracking is simply too painful to use. git will make you much happier.

Re: Poll: Version Control

#30
post #14

Why do these polls get repeated so regularly? http://news.ycombinator.com/item?id=323041

Sorry! I follow HN primarily through the RSS feed and a lot of posts/threads never show up there.

Before posting, I did Google for polls on the subject of version control and didn't turn up anything (oddly enough, this thread seems to be at the top of the results page):

http://www.google.com/search?hl=en&q="version+control"+poll+site:news.ycombinator.com

Even if I had seen your poll, though, I probably would have posted anyway because I'm interested in getting a feel for how many people use some of the systems that are listed at top besides Git, Mercurial, and Subversion.

Post reply on HN