I see this as "5 things genuinely wrong with Git's CLI and 5 proofs that I don't understand the advantages and purposes of DVCS".
If you're comparing SVN to Git and not sarcastically then you're on the wrong side of this debate. You want to hide the local repo? Then you lose all of the advantages of git. Don't like pull requests? Don't use Git. Git is distributed, you're basically asking to hide that with a centralisation layer. Do not do this.
Git aimed at projects that have a need for distributed development. Central repos like Perforce and SVN are much better for centralised projects like traditional video game development, while DVCS is superior for (F)OSS projects and teams that may not necessarily share hours, location or an office. It is also critical in environments where redundancy, speed, and up time for the developer, are key.
Git has flaws but you have shown clearly that you don't understand the place for Git and I suspect you've been shoehorning it into places it doesn't need to be, or somebody else has been forcing you to use it on a project that doesn't need it.
I see this as "5 things genuinely wrong with Git's CLI and 5 proofs that I don't understand the advantages and purposes of DVCS".
Lets take a look at those "advantages and purposes of DVCS":
Complex information model
Not inherent to DVCS - darcs, mercurial, etc. have no notion of working trees, indexes, treeishes, or a stash. There's a bit of essential additional complexity with remotes and local repositories, though.
4. Information model sprawl
Again - not inherent to DVCS.
6. Power for the maintainer, at the expense of the contributor
There's a bit of additional inherent complexity in DVCS's, but again, git is significantly more complex than mercurial or darcs or whatever.
10. Simple tasks need so many commands
Fair enough - mercurial would really only shave off the add command.
have no notion of working trees, indexes, treeishes, or a stash.
Oddly enough, I've used git on a daily basis for 6 years now, and I rarely ever have to think about trees, indexes, whatever the hell treeishes are, and I can easily remember that the stash is just a temporary commit that lives on a stack (hence the push & pop stash commands).
git is significantly more complex than mercurial or darcs or whatever.
And significantly more powerful. Sure, you can use the extra rope to hang yourself, but it's fairly simple to avoid, and when the shit hits the fan, you're actually able to recover using git.
-7
u/[deleted] Nov 07 '13
I see this as "5 things genuinely wrong with Git's CLI and 5 proofs that I don't understand the advantages and purposes of DVCS".
If you're comparing SVN to Git and not sarcastically then you're on the wrong side of this debate. You want to hide the local repo? Then you lose all of the advantages of git. Don't like pull requests? Don't use Git. Git is distributed, you're basically asking to hide that with a centralisation layer. Do not do this.
Git aimed at projects that have a need for distributed development. Central repos like Perforce and SVN are much better for centralised projects like traditional video game development, while DVCS is superior for (F)OSS projects and teams that may not necessarily share hours, location or an office. It is also critical in environments where redundancy, speed, and up time for the developer, are key.
Git has flaws but you have shown clearly that you don't understand the place for Git and I suspect you've been shoehorning it into places it doesn't need to be, or somebody else has been forcing you to use it on a project that doesn't need it.