> An alternative that worked really well for me is "do not push broken code". Linus is saying "If you pull at a random time, you might get cruft in your local tree". Why is that?
It's not about pushing broken code, it's about having a very complex code
base and you just can't foresee how each change will behave before it has
been tested by a lot of people on a lot of different machines.
A linux release is a pretty good point in time to get a quite well tested
version and therefore it's a good base for your changes and to be able
to test how your changes - only your changes - behave.
Good point. However, that still means that this advice does not apply to most people in the wild as most people are not working on projects that large.
It's not about pushing broken code, it's about having a very complex code base and you just can't foresee how each change will behave before it has been tested by a lot of people on a lot of different machines.
A linux release is a pretty good point in time to get a quite well tested version and therefore it's a good base for your changes and to be able to test how your changes - only your changes - behave.