On Fri, 14 Jun 2019 11:59:03 +0200 Dmitry Vyukov <dvyukov@xxxxxxxxxx> wrote: > I will appreciate if you elaborate a bit on this "scale of the > project". I wondered about reasons for having the current hierarchy of > trees and complex merging for a while, but wasn't able to find any > rationale. What exactly scale do you mean? I know a number of projects > that are comparable to Linux kernel, with the largest being 2 orders > of magnitude larger than kernel both in terms of code size and rate of > change, that use single tree and linear history. I'm not sure what projects you're talking about, so it's hard to compare. During the 5.2 merge window, Linus did 209 pulls, bringing in just over 12,000 changesets, from on the order of 1600 developers. Even if, at the beginning of the window, each of those pulls was set up to be a fast-forward, they would no longer be positioned that way once the first pull was done. Are you really saying that subsystem maintainers should be continuously rebasing their trees to avoid merges at the top level? Do you see how much work that would take, how badly it would obscure the development history, and how many bugs it would introduce? Or perhaps I misunderstood what you're arguing for? Thanks, jon