On Thu, Nov 05, 2026 at 12:00:27PM +0100, Quentin Schulz wrote:

On 11/4/26 8:48 PM, Ralph Siemsen wrote:
+Of course there are sometimes cases where a large patch series is okay:
+
+* when the changes are all in a specific area: for example when fixing a bug
+  in a driver, but also doing some refactoring or cleanup in the same code

issue: This is typically the things we don't want to see I believe. Separate bugs from refactoring, cleanup, and new features. The argument is: we want the bug to be fixed as soon as possible, but we *reaaaaally* like to merge full series at once, so having this kind of changes mixed in a series means it's likely we'll either ask the contributor to split the series, or if the non-bug-fixing part of the series is controversial or not in a good state yet, unnecessarily postpone the merging of the bug fix.

Maybe I should have said: "*directly related* refactoring or cleanup"?

Ideally a bug fix should be its own patch, and certainly it should not include any new features. But sometimes a bit of refactor/cleanup helps to make a bug fix easier to implement and/or understand.

+* when there are unavoidable dependencies between patches: keeping them
+  together avoids having to explain how multiple series are dependent

thought: People usually struggle to detect the *actual* dependencies and are usually leaning too much on "I need those two drivers to be merged for the board to work" for example. We've seen this more recently with a full SoC bring-up being sent as one series. Yes, the SoC is unusable without all the minimally required drivers, but each individual driver can and should be sent a separate series. I'm not sure how we can word this better, maybe providing a real-life example would be nice. This can always be improved later on, so not a blocker.

Having struggled with this myself, while I do agree with the idea of using separate series, it does complicate the development process. It means a branch for each series, and merging them together for each compile/test cycle. Only after doing this dozens of times did I realize that I could stack the branches on top of each other rather than merging each time. Then "git history fixup" and "git history reword" made it much easier to modify the stack. But all of this has to be learned and it is not immediately obvious.

I also agree that it is hard to detect the actual dependencies. And in fact they are not static: when a reviewer of one series requests changes, it can often impact other series. Which suggests that there is a dependency, even if it was not apparent initially.

With the issue in the previous paragraph fixed, I think this is a good improvement and we should merge as soon as possible.

Perhaps I should just drop the whole "Of course there are sometimes cases where a large patch series..." section?

Regards,
Ralph

Reply via email to