Hacker News new | ask | show | jobs
by Xylakant 5274 days ago
Full ack. Github and it's widespread usage is actually the only reason I switched over to git as my main VCS. Close to 100% of my usual use-cases would be well-served by a recent version of svn. I know, there's a ton of use-cases that benefit tremendously from git's model, but those are not mine.

I still hate how the raw cli interface with tons of switches forces me to learn git's internals and storage model. Git advocates usually tell me "you need to know to unleash the powers of git" but actually, I'd rather prefer not to know and regard it as an opaque tool.

Compared to svn or hg the cli feels crude and not well thought over either. There's commands that accept the full verb (add, diff, checkout, clone), others that accept an abbreviation (rm, mv), but no (remove, move). I can set that up using aliases, I know. But why do I have to? Then there's add, move and remove, but no copy (which is "cp <file>; git add <file>). I often find myself typing the wrong incantation because there's a mismatch in how the commands are named. In that respect svn really shines in comparison.

1 comments

The internal representation aspect is important -- specifically, having to deal with the index as separate from both your working directory and your repository. that makes it harder to get started.