All of lore.kernel.org
 help / color / mirror / Atom feed
From: Adrien Mazarguil <adrien.mazarguil@6wind.com>
To: Bruce Richardson <bruce.richardson@intel.com>
Cc: Thomas Monjalon <thomas@monjalon.net>,
	ferruh.yigit@intel.com, stephen@networkplumber.org, dev@dpdk.org
Subject: Re: git trees organization
Date: Wed, 13 Sep 2017 09:58:45 +0200	[thread overview]
Message-ID: <20170913075845.GR2481@6wind.com> (raw)
In-Reply-To: <20170912083207.GC40060@bricha3-MOBL3.ger.corp.intel.com>

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

  parent reply	other threads:[~2017-09-13  7:58 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-09-11 22:03 git trees organization Thomas Monjalon
2017-09-12  8:32 ` Bruce Richardson
2017-09-12  8:48   ` Thomas Monjalon
2017-09-12 13:01     ` Wiles, Keith
2017-09-12 16:34     ` Ferruh Yigit
2017-09-13  7:58   ` Adrien Mazarguil [this message]
2017-09-13 11:38     ` Ferruh Yigit
2017-09-13 12:25       ` Adrien Mazarguil
2017-09-13 13:21         ` Ferruh Yigit
2017-09-13 14:54           ` Adrien Mazarguil
2017-09-14  2:25             ` Stephen Hemminger
2017-09-14  8:22               ` Thomas Monjalon
2017-09-14  9:03                 ` Bruce Richardson
2017-09-14  9:18                   ` Thomas Monjalon
2017-09-14 12:50                     ` Wiles, Keith
2017-09-14  9:11                 ` Nélio Laranjeiro
2017-09-14 17:57                   ` Stephen Hemminger
2017-09-12 16:32 ` Ferruh Yigit
2017-09-12 20:20   ` Thomas Monjalon

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170913075845.GR2481@6wind.com \
    --to=adrien.mazarguil@6wind.com \
    --cc=bruce.richardson@intel.com \
    --cc=dev@dpdk.org \
    --cc=ferruh.yigit@intel.com \
    --cc=stephen@networkplumber.org \
    --cc=thomas@monjalon.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.