On Sun, Nov 25, 2007 at 09:48:27PM +0000, Jakub Narebski wrote:
* reset/checkout/revert. The commands to wonderful things, but this UI
is a mess for the newcomer. * pull/fetch/push: I would have had pull being what fetch is, and
added some --merge option to actually "do the obvious merge". But
pull encourage "bad" behavior from the user, and confuses newcomers
a lot. * I would have hidden plumbing more, using a really distinguished
namespace (stupid example, there are probably better ways, but we
could have git-_rev-parse or git-plumbing-rev-parse instead of
git-rev-parse) so that it's clear to the user that those are really
internal commands, and that he doesn't need to understand them. This is a big issue with git: the list of commands of git is the top
of the iceberg from the UI point of view. People _feel_ they are
comfortable with a tool if they get say 75% of the UI. I don't say
it's true that understanding 75% of the UI makes you a $tool expert,
but it's how people feel it. With git, 75% of the commands (and
don't get me started with the options ;P) is a _lot_. bzr is way
better at that game: there are at least as many commands, but those
are completely hidden to the user. Of course having our guts easy to grok and find is a big advantage
for the git gurus. But for the newcomer it's a disconcerting. There is probably more things I'd change, but those were the first UI
rumblings from me :)