Re: [PATCH v3] Add a document on rebasing and merging

From: Jonathan Corbet
Date: Fri Jun 14 2019 - 10:30:32 EST

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?