The Biggest and Weirdest Commits in Linux Kernel Git History (2017)
The Linux kernel's git history includes a variety of merge types, including the rare octopus merges with multiple parent commits. A notable example is a commit with 66 parents, which sparked discussion among developers about the implications of such large merges. While octopus merges are uncommon, they serve a practical purpose in managing complex histories within the kernel development process.
- ▪The Linux kernel has 649,306 commits, with 46,930 being merges and 1,549 classified as octopus merges.
- ▪A specific commit with 66 parents was a merge of various changes to the ASoC code, which supports sound for embedded devices.
- ▪Octopus merges are more common in the Linux kernel compared to other projects, such as Rails, which has no octopus merges.
Opening excerpt (first ~120 words) tap to expand
We normally think of git merges as having two parent commits. For example, the most recent Linux kernel merge as I write this is commit 2c5d955, which is part of the run-up to release 4.10-rc6. It has two parents: 2c5d955 Merge branch 'parisc-4.10-3' of ... | *- 2ad5d52 parisc: Don't use BITS_PER_LONG in use ... *- 53cd1ad Merge branch 'i2c/for-current' of ... Git also supports octopus merges, which have more than two parents. This seems strange for those of us who work on smaller projects: wouldn't a merge with three or four parents be confusing? Well, it depends. Sometimes, a kernel maintainer needs to merge dozens of separate histories together at once.
…
Excerpt limited to ~120 words for fair-use compliance. The full article is at Destroyallsoftware.