I've actually switched from svn to git (mainly for Speex). There's a bit of learning to do,
but in the end, it's makes my life easier. Still, one thing I don't like in git is the tons of
sub-commands you mention. The *real* problem with that (which you failed to mention) is that
among these commands, only a few are really useful (about as many as for svn). The rest are
what Linux calls "plumbing" commands that are called by other commands, but that users don't
really use. Because of that, it's much tougher to figure out what command you need. I wish
these commands were just hidden so we don't get confused into thinking they're useful.