On 18 December 2013 07:55, Vladimir Prus
On 12.12.2013 02:19, Cox, Michael wrote:
Which brings me to a question I've been wanting to get answered: why was Github chosen in the first place? I know it's the 900-lb gorilla in public git repository hosts, but I think Bitbucket allows so much more flexibility in configuring your repositories:
- Individual branches and wild-card refs can be configured with who is allowed to commit (which can be a group).
Another problem with github model is that it promotes this fork-and-pull-request model, which then creates a history where every second commit is 'merged pull request N', which is not very useful.
IMHO, we've talked about it on IRC the other day, it may be useful as it helps to find out where things come from. A 'plain' contributed commit does not always carry useful information i.e. bug number it fixes. So, the merge commit is a chance to amend that. Plus, it indicates important detail: *who* let the contribution into the codebase.
On the other hand, many other projects are using gerrit, where contributors clone locally, made changes and then push to a special magic ref on a server, which creates online review. Contributors of course can share their changes by pushing them to other repositories, but in the end, you end up with a clean logical patches to the official repository.
I have been a tiny contributor/lurker to Qt/Qt Creator, and from a contributor POV, their Gerrit system is a huge obstacle for ad-hoc or occasional contributors. Setting up is not easy, learning curve about the whole development workflow is quite steep, and the information is very distributed (no (auto)links between gerrit and their bug reports). For me, it is difficult to simply observe what is happening in the Qt/Qt Creator projects. Whereas on GitHub/BitBucket I can easily monitor lots. Best regards, -- Mateusz Ĺoskot, http://mateusz.loskot.net