Live data from Hacker News

Bye Bye SVN, Hello Git

engineering.secondmarket.com

31–40 of 64 posts

Re: Bye Bye SVN, Hello Git

#31
post #19

I just recently switched to Git after joining a new company. The team I'm on was just in the process of switching from SVN to Git, so we were all spending a lot of time online in Pro Git as well as researching various workflows. I think that we're still not fully taking advantage of Git because the other members of the team tend to commit and push all the time (so the code is backed up) but that makes rebasing and sq…

Do you have an anecdote about why having more commits have made rebasing / squashing difficult? Is it just that team members are pushing their numerous changes to the central repo? I'm wondering if I'm missing something because I never squash commits...

Chances are they're pushing to the same branch or to the same small number of branches instead of to private-ish branches. This is an easy trap to fall into: lots of people have a hard time getting used to using branches for everything.

As for squashing or not, I rarely do, and in general only squash commits that are simple typo fixes. This makes bisecting much easier.

Also, and this may or may not be relevant, maybe some people are reluctant to spam the central repository with their own temporary branches. To avoid this, I have everyone in my team set up a personal, backed up repository. Anyone can pull from these personal repos, but only their owners can push to them. When the temporary branches are done, they can be merged.

Re: Bye Bye SVN, Hello Git

#32
post #10

Earlier quoted context omitted.

I think there are a lot of people that use subversion.

Sure, and I'm one of them. It's not exactly startling news in 2012 that a lot of people prefer the git/hg model. Hell, I prefer it myself! But I've got a complete svn ecosystem set up here, with 44 projects in a single svn repository, automatic offsite backups, and hundreds of checked-out directories spread across five (or more?) computers with five distinct operating systems. As far as I can see, the one-time costs…

I'm one of them as well. I'd also love to use git. The issue I have we it is that I feel like the "port" to Windows was more of a crowbar sort of operation rather than a well thought out plan to make a program cross-platform compatible.

Install TortoiseSVN. Done.

Install TortoiseHg. Oh it needs something else. What's it called? Ok. I need msysGit. I'll get that. Ok, they're all in beta? Whatever I'll just get one. What? It runs on top of Cywin? And on, and on...

Am I missing something here or is it really that convoluted? I work with non-programmers (engineering types) who program and I need it to be easy for them. Any recommendations?

Re: Bye Bye SVN, Hello Git

#33
post #3

It's 2012, not 2008. Why is the #2 story right now about a company that switched from SVN to Git?

I've only just made the switch. Like most people I was stuck with SVN due to my employer using it, and refusing to update. Now I'm freelance I've had the time to put into learning Git and I'm glad I did, but the point is there are still a lot of people using SVN, some of whom will switch to Git in the future, and posts like this can be very useful to them.

> and refusing to update.

How true this is. I spoke with one sysadmin who told me that even if 100% of the developers were using git-svn he would never allow git as the official location to store code on the servers and it must be pushed back to svn. I am not sure how to respond to people like that.

Edit: When pressed for more details it was clear that he was happy with his svn server setup and didn't want to change and have to learn something new. This was not a logical discussion, but an emotional one and as he ran the servers he had the final say.

Re: Bye Bye SVN, Hello Git

#34
post #7

Earlier quoted context omitted.

I think there are a lot of people that use subversion.

At the risk of sounding like an elitist hipster hacker, the core audience of this site comes here looking to read articles about innovation, not staid, conservative companies slowly transitioning to established and proven technologies.

Even hipster hackers sometimes work for staid, conservative companies. Articles like this one give the hiphacks some ammo when they want to convince management.

Re: Bye Bye SVN, Hello Git

#35
post #3

It's 2012, not 2008. Why is the #2 story right now about a company that switched from SVN to Git?

I'd be more interested to hear about companies who switched from Perforce to Git. Perforce seems to be entrenched in more corporate environments.

Anything in particular you would like to know? I have done it twice. First at Trolltech where Qt was moved over (I want to say there are a handful of public blogs on this) and I have helped with a bunch of perforce/git migration/integration at RIM and consulted with various other companies.

Re: Bye Bye SVN, Hello Git

#36

Earlier quoted context omitted.

Yes, git is THAT MUCH BETTER. I wish I had time to get in all the details about why git is better but I will leave you with two questions to ask your existing version control system: 1. How fast is your version control system? Unless you have tried git, you will not realize how painfully slow SVN (or any other VCS which has to talk to server) is. 90% of my git operations take less than a second. Now, you may say that…

Yes, SVN can handle renames. And maintain history across renames. Btw, SVN supports partial checkouts (git doesn't). Which I use regularly on a gigabyte repo. I use git regularly for all my hobby projects (mainly because 'git init' seems way simpler than the equivalent svn command), and I might even start a company off on git, but I'll never claim that SVN is obviously a bad way to do things.

Git supports grafting, also using enormous multigigabyte svn repository that contain numerous projects is SVN cancer.

Re: Bye Bye SVN, Hello Git

#37
post #21
post #11

Earlier quoted context omitted.

Under a rock? Is git _that_ much better? I used to read about how it didn't need a central repository, yet this article, and github, seem to indicate everyone ultimately wants/needs a central repository. So git is worth switching just for branching/merging superiority? Maybe I don't do it enough, but svn has never let me down. Or maybe I'm not on a large enough dev team? Guess I'm really just trying to figure out if…

Simple difference: in svn, until you're ready for other people to see your changes, you have to leave them uncommitted. In git, you say "well, I just refactored function X, let's throw that in a commit before I do anything else, and if I have to revisit it, I will" I've never had to use svn myself, but it's this aspect that's always sounded positively crippling to my workflow

This is about the only gripe I have about svn. Otherwise, we're so deep into the svn ecosystem that it would be a monumental shift.

Re: Bye Bye SVN, Hello Git

#38
post #33

Earlier quoted context omitted.

I've only just made the switch. Like most people I was stuck with SVN due to my employer using it, and refusing to update. Now I'm freelance I've had the time to put into learning Git and I'm glad I did, but the point is there are still a lot of people using SVN, some of whom will switch to Git in the future, and posts like this can be very useful to them.

> and refusing to update. How true this is. I spoke with one sysadmin who told me that even if 100% of the developers were using git-svn he would never allow git as the official location to store code on the servers and it must be pushed back to svn. I am not sure how to respond to people like that. Edit: When pressed for more details it was clear that he was happy with his svn server setup and didn't want to change…

It's possible that he was operating under constraints of which you were unaware. One thing that springs to mind is escrow.

Re: Bye Bye SVN, Hello Git

#40
post #11

Earlier quoted context omitted.

Under a rock? Is git _that_ much better? I used to read about how it didn't need a central repository, yet this article, and github, seem to indicate everyone ultimately wants/needs a central repository. So git is worth switching just for branching/merging superiority? Maybe I don't do it enough, but svn has never let me down. Or maybe I'm not on a large enough dev team? Guess I'm really just trying to figure out if…

Yes, git is THAT MUCH BETTER. I wish I had time to get in all the details about why git is better but I will leave you with two questions to ask your existing version control system: 1. How fast is your version control system? Unless you have tried git, you will not realize how painfully slow SVN (or any other VCS which has to talk to server) is. 90% of my git operations take less than a second. Now, you may say that…

Actually, I've had many more problems with git renames than with SVN ones. IIRC, it has to do with git internally tracking content, not really filenames. So, I've had cases where changes then a rename result in git thinking a new file was created and an old one destroyed.

But, at the end of the day, I rename files so infrequently that it's hardly a selling point or problem on either system.

Post reply on HN