![](https://secure.gravatar.com/avatar/b47d036b8f12e712f4960ba78404c3b2.jpg?s=120&d=mm&r=g)
2013/9/21 Bryce Harrington <bryce@...961...>:
Is bzr vs git something we should be giving consideration to again, or are developers pretty satisfied with bzr so far?
Maybe after 0.49 is out the door we could open discussion on any infrastructure changes folks would like to see considered.
I prefer Bazaar over Git, for the following reasons:
1. Git does not support bound branches or lightweight checkouts.
2. It requires MSYS on Windows. (Maybe not a big problem, but btool exists exclusively to avoid relying on MSYS.)
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".
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".
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.
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".
That being said, I would contribute to the project regardless of the VCS.
Regards, Krzysztof