Hacker News new | ask | show | jobs
by bonzini 3219 days ago
Developers however use Linus's repository only to find a convenient forking point. Most of the development happens either in subsystem trees, or in distribution forks (where "distribution" includes big companies like Google or Facebook); only bug fixes target Linus's tree directly.

And most users use stable trees or distribution forks. So Linus's tree has the distinctive feature that almost no one uses it, unlike a traditional CVSROOT.

1 comments

That almost no-one uses directly, but pretty much everyone you mentioned definitely pulls from it(or pull from things branched from it). It would be super interesting to see a path map of commits and what trees they came from for the big distributions of the kernel(i.e. android, debian, fedora, etc). But I'd bet that all of them pull from Linus's repo as a descendant.

My understanding of the general flow layout for the kernel is:

developer branch -> patch -> mailing list -> sub maintainers -> large maintainers -> Linus -> Stable branch X.X -> distribution (i.e. Debian/etc).

With some things cherry picked here and there that don't flow through this, but that most code does.

Sure, everyone's tree descends from it. However:

- normal CVSROOT: developers develop on top of the head of the day.

- Linus's tree: developers develop on top of someone else's head of the day, except for some bugfixes.

Linus's tree becomes "similar" to a CVSROOT only after he cuts a release. But at that point, version control is actually not part of the game anymore.