Linux Development – How Is the Linux Repository Administrated?

code-reviewsgitgithublinuxlinux-development

I am amazed by the Linux project and I would like to learn how they administrate the code, given the huge number of developers. I found the Linux repository on GitHub, but I do not understand how it is administrated. For example the following commit: https://github.com/torvalds/linux/commit/31fd84b95eb211d5db460a1dda85e004800a7b52

Notice the following part:
enter image description here

So one authored and Torvalds committed. How is this possible. I thought that it was only possible to have either pull or pushing rights, but here it seems like there is an approval stage.

I should mention that the specific problem I am trying to solve is that we use pull requests to our repo. The problem we are facing is that while a pull request is waiting to get merged, it is often broken by a commit. This leads to a seemingly never ending work to adapt the fork in order to make the pull request merge smoothly. Do Linux solve this by giving lots of people pushing rights (at least there are currently just three pull requests but hundreds of commits per day).

Best Answer

Every git commit has separate "author" and "committer" metadata fields, which can be set manually when doing a commit, or automatically through mechanisms like pull requests in github.

This allows workflows that include sending patches via email, which is apparently still the main mechanism used for the Linux kernel - the github repository is just a mirror, and Linus does not like the implementation of github pull requests, so he will not accept them.

Related Topic