steveklabnik wrote:Solar wrote:Complexity
Unsubstantiated. As long as you're not an idiot, git is not difficult.
And here, ladies and gentlemen, we see how attitude of lead programmer can actually permeate all the way through to the user base.
Sorry, that was a bit harsh, too.
I'm not an idiot, and I don't like how your statement implies me to be one simply because I do not agree with you. I wouldn't even say that git is difficult
for a tool that does what git does. But git does more than SVN, so yes, git is more difficult than SVN, especially if the additional features are exactly what I would never use anyway.
steveklabnik wrote:svn wrote:
svn co svn+ssh://path/to/your/repo .
*edit files*
svn commit -m "message, lol"
svn up
git wrote:
git clone git://path/to/your/repo
*edit files*
git commit -a -m "message, lol"
git pull
Yes. Much harder.
Perhaps, perhaps not. What's this "git clone", and how is it different from "git checkout"? You know, I'm a dinosaur, and perhaps an idiot, too, but every VCS I have used so far used "checkout" (or "co"), so what's this "clone" about?
(Yes, I'm playing the dofus here, but perhaps you get my meaning.)
I evaluate the software that I use by its technical merits, not by who wrote it or how much I like them.
I use a mixture of the two. I like UltraEdit not only because it's probably the best text editor I've used so far, but because I found the lead programmer to be a friendly, responsive guy who reacts well to costructive criticism. I dislike the Linux kernel not only because of some technical issues, but because of the attitude of those involved, too.
But this is only a very minor point. In the comparison of SVN vs. git, other factors are much more important.
I don't know why you'd want to intentionally use an inferior tool.
Mostly because I don't consider SVN to be inferior, merely different.
Then there's a whole number of reasons. I've used SVN (and before that CVS and before that RCS) for as long as I used VCS. I've got a SVN server up and running. I like the
Trac Wiki / BugTracker / SourceBrowser frontend very much, and got that up and running, too. I am very familiar with both the server and the client set-up. My company uses SVN for all its repositories, too.
I don't know about you, but I switch only when I actually see a benefit in doing so, not because there's shiny new technology to be had.
git is a superset of svn. It can do everything that svn can do, and more. There's no reason to use inferior software if you don't have to.
What git offers in addition to svn - clone, pull, merging, etc. - is exactly that part of git I would never use. So why bother setting up a superset if what I have fits the bill?
And again that completely uncalled-for side remark making the whole discussion rather pointless because I'm an idiot anyway, right?
I branch for every feature. I'm not even kidding.
I absolutely believe you. But are you doing that because it's the best way to do it, or because it's the way heralded by the tool you use?
I work at only one feature at a time, and tag a new release when I'm done. If I have to do maintenance on a previous release that cannot wait till the next one, I make a branch. And I
never do automatic merges. Everything that's not a pure whitespace edit gets reviewed. I won't go into details here, but it's a conscious decision both by me and my superior due to the nature of the software I work with. In the business reality, there are many non-technical factors driving a decision for one workflow or another...
You don't branch in SVN, because it's hard (okay, branching is not, but merging is). Instead you probably use something on top like quilt to avoid the choice between having to clutter your history with incomplete commits that don't ever work or not using version control at all until the change is perfect.
I don't branch (often) in SVN because I consider a branch to be a sign of previous work not well done, and another needless complexity in your source tree. Your projects might differ, you might be happy with git, that's absolutely OK. But my opinion holds, you don't need git or its branch-and-merge workflow for a hobby project.