4 ms·
> Because Eric Sink is a smart guy, but he doesn't understand git yet. He's still following the Subversion workflow. His article makes it seem like he doesn't
by jcdreads 18y ago
> Because Eric Sink is a smart guy, but he doesn't understand git yet. He's still following the Subversion workflow.
His article makes it seem like he doesn't have his head all the way around git's internals, but I think his problem with git is a valid one: it makes it _much easier_ to do the wrong thing to the build than the relatively simplistic svn does, and it can be a drag to use tools that make breaking the build quite so easy. For big team projects it is, in that sense, very much like C programming, and even more like C++ programming: it's a lot of power, but it's way more than enough rope to hang yourself with, or for the guy in the next cube to accidentally hang you with:
> ...you need to act differently than you do when you're in an environment that attempts to protect you from your own mistakes.
- ionfish 18y agoPerhaps that's the price one has to pay for making it easier to do the right thing, which is to say, not squashing a bunch of unrelated stuff into the same commit just because you happened to be working on them at the same time.
- mechanical_fish 18y agoI just don't understand this mentality. Maybe it's because I haven't had a lot of experience using SVN (without the help of git-svn) in a multi-developer environment. But to me SVN users look like people who have been forced to walk a tightrope -- every time they check code in to their VCS, they have to make sure that the code is free of bugs, or their colleagues' machines blow up. Which is a dangerous situation, so they sensibly erect guardrails, which they then become completely used to, to the point where they don't even feel them - they can follow the path of those guardrails with their eyes closed. They come to assume that the only safe way for a human to walk is in a perfectly straight line. But then a DVCS user comes along, just sort of wandering around in two dimensions. Because DVCS isn't like a tightrope; it's more like a flat parking lot with a line painted on it. You can stroll wherever you like, so long as you're standing on the line when you type git push. But the sight of a git user makes the SVN user freak out: "Watch out! You're going to fall off that level parking lot!" And when someone compares the use of git to C, they are not being profound. They are just freaking out. Because that metaphor is poor. The problem with C is that you can easily write code that contains memory leaks or buffer overflows that are invisible to you, and invisible to your peers, and invisible to your automated tests, but that will cause a severe emergency weeks, months, or years from now. This is a problem that is orders of magnitude more serious than any of these alleged problems with git. git is not secretly introducing long-term time bombs into your code, even if you do manage to find a way to make it break the build.
- jcdreads 18y ago> ...this mentality... I'm saying not that git shouldn't be used because it offers power. (Quite the contary: I use git-svn at work exactly because it's more powerful.) I'm pointing out that, "Oh shit, I better be careful with this different and more powerful tool," is a reasonable attitude for Sink to have.