Em Sáb, 2013-09-21 às 23:26 +0200, Krzysztof Kosiński escreveu:
1. Git does not support bound branches or lightweight checkouts.

I don't know what are bound branches, but for lightweight checkouts, git has something similar: http://mortalpowers.com/news/speed-up-git-clone-with-shallow-clones#.UkEEgVT5G00

2. It requires MSYS on Windows. (Maybe not a big problem, but btool
exists exclusively to avoid relying on MSYS.)

This is indeed a problem.

3. The manpages are incomprehensible if you don't already know Git
fairly well, and therefore not very useful. For instance the one for
"git push" says "Update remote refs along with associated objects",
and the one for "git reset" says "Reset current HEAD to the specified
state". This could be partially addressed if we made a page similar to
"Working with Bazaar".

The git documentation under git --help or via the manpages didn't teach me many things. But there is a lot of documentation around the net.

4. The default behavior of basic commands is borderline malicious. For
instance, "git pull" will autocommit a merge if it applies cleanly,
even though it might not compile at all, "git diff" will not show
changes in files added to the staging area, and "git commit" will do
nothing if you don't first execute "git add". To get a sane behavior,
one needs to always say "git pull --no-commit", "git diff HEAD" and
"git commit -a".

I think this is a matter of personal preferences. As long as the tool is customizable, there shouldn't be any problems.

5. The whole model of Git, where it's impossible to operate directly
on remote branches, causes a lot of artificial complications and
necessitates the existence of additional concepts such as "tracking
branches", "fast-forward merges", "remotes" and so on. This complexity
does not exist under the Bazaar model.

Topics too advanced for me, cannot say anything about it.
=P

6. Some commands with names taken from Bazaar / SVN / CVS do something
completely different, leading to confusion. For example, "git revert"
is equivalent to "bzr merge -r -1..-2 && bzr commit", not to "bzr
revert".

git is a old project and old projects are used to have this kind of problems. Emacs, for instance, is so old that it has its own concept of window. Then, when GUI were invented, Emacs created a new concept, frame, just to mean the window of GUIs. This is not a excuse for this problem, anyway.


--
Vinícius dos Santos Oliveira
https://about.me/vinipsmaker