Hi, On Tue, Sep 12, 2017 at 09:32:07AM +0100, Bruce Richardson wrote: > On Tue, Sep 12, 2017 at 12:03:30AM +0200, Thomas Monjalon wrote: > > Hi all, > > > > As you know I am currently the only maintainer of the master tree. > > It is very convenient because I need to synchronize with others > > only when pulling "next-*" trees. > > But the drawback is that I should be available very often to > > avoid stalled patches waiting in patchwork backlog. > > > > I feel it is the good time to move to a slightly different organization. > > I am working closely with Ferruh Yigit for almost one year, as next-net > > maintainer, and I think it would be very efficient to delegate him some > > work for the master tree. > > I think Ferruh has been doing an excellent job on the net tree, and > would be an excellent candidate to help with the workload on the master > tree. > > > I mean that I would use the patchwork delegation to explicitly divide > > the workload given our different experiences. > > Ferruh, do you agree taking this new responsibility? > > > > At the same time, we can think how to add more git sub-trees: > > In principle, I'm in favour, but I think that the subtrees of the master > tree should be at a fairly coarse granularity, and not be too many of > them. The more subtrees, the more likely we are to have issues with > patchsets needing to be split across trees, or having to take bits from > multiple trees in order to test if everything is working. <snip>
About that, how about we start allowing true merge commits instead of rebasing (rewriting history) in order to ease things for maintainers? This approach makes pull requests show up as a merge commits that contain the (ideally trivial) changes needed to resolve any conflicts; this has the following benefits: - The work done by a maintainer during that merge is tracked, not silently ignored or lost. The merge commit itself is signed-off by its author. - This allows tracing mistakes or bugs to the conflict resolution itself. - Upstream can reject pull requests on the basis that merging it is not trivial enough (i.e. downstream must merge upstream changes first). - Sub-trees can merge among themselves in case they need features that encompass several trees, not necessarily always against the master tree. Everything is tracked. - Maintainers do not ever modify the commits they get from other trees, which keep their SHAs unmodified as part of the history. A given commit ID is truly unique among all trees (back-port trees remain the only exception since commits are cherry-picked). - It shifts the entire responsibility to the maintainers of sub-trees. The only downside is that commits have several parents, history becomes a graph that developers need to get used to (some might call it a mess), however that's probably not an issue for those already used to Linux kernel development and other large projects. I know this was already discussed in the past, however I think adding more sub-trees will make rebasing too complex otherwise. Thoughts? -- Adrien Mazarguil 6WIND