[dpdk-dev] [PATCH] scripts: check cc stable mailing list in commit

Thomas Monjalon thomas.monjalon at 6wind.com
Mon Jan 16 11:37:34 CET 2017

2017-01-16 17:51, Yuanhan Liu:
> On Wed, Nov 30, 2016 at 02:54:14PM +0000, Ferruh Yigit wrote:
> > On 11/21/2016 10:43 PM, Thomas Monjalon wrote:
> > > Add a check for commits fixing a released bug.
> > > Such commits are found thanks to scripts/git-log-fixes.sh.
> > > They must be sent CC: stable at dpdk.org.
> > > In order to avoid forgetting CC, this mail header can be written
> > > in the git commit message.
> > > 
> > > Signed-off-by: Thomas Monjalon <thomas.monjalon at 6wind.com>
> > 
> > I think this is useful, thanks for the patch.
> Yes, it is. Thanks! (Sorry for late reply; hope it's not too late).
> > > +[ -z "$bad" ] || printf "Should CC: stable at dpdk.org\n$bad\n"
> > 
> > This is good for developer, but since "CC: xx" tags removed when patch
> > applied,
> Again, I'd suggest to __not__ remove such tag. Firstly, why bother? And
> I will talk why this tag should be kept, as a stable tree maintainer.

The drawback of keeping CC: in the mainline tree would be to give the wrong
feeling that only the commits having that tag are in the stable tree.

> At the beginning, when people are not used to add "cc: stable" tag, I used
> to pick bug fix commits from master by something like: list all bug fixing
> patches and pick those that appliable to previous release.
> Later, kudos to Thomas, who wrote an handy script (git-log-fixes.sh) to
> do both, it indeeded make my life much easier. But it's still not enough.
> It lists a lot of patches (206 fix patches, while 728 in total: the
> ratio is near 30%):
>     $ devtools/git-log-fixes.sh v16.07..v16.11 | wc -l
>     206
>     $ git rev-list v16.07..v16.11 | wc -l
>     728
> Thus I dropped few of them, manually, resulting to 130 (still looks like
> a big number to me):

I do not think it is a so big number.

>     $ git rev-list v16.07..v16.07.2 | wc -l
>     130
> The policy I would expect is, leave this tag as it is, I then will apply
> all of them to a stable branch: I will no longer do the picking job. Instead,
> I may just need handle those can't apply cleanly and ask the author to
> do backport.
> It would be do-able now, as I saw a lot of people are getting used to add
> such tag. And even not, I saw those kind committers do that for them.

The kind committers were adding CC: in their email reply.
You would like we add CC: also in the git tree before committing, right?

It put another responsibility on committers. When the stable tag is forgotten
by the author, it is easy to forget adding it in the commit. And when it is
pushed, it is too late. But we can still fix this neglecting by sending an
email to stable at dpdk.org.
That's why I think the most reliable source of explicit tagging is the stable
mailing list, not the mainline git tree.

> Besides, if there is already an explicit way, why should we stick on the
> implicit way?

Because the explicit way is not 100% proof.
I think we still need to check manually to avoid missing too many fixes.
The other way (that you are advocating) means that we accept to miss
some fixes and it will enforce the community to become better and better to
manage that.
I can agree to your way of thinking. I just want to make it 100% clear to
everyone and read the feedbacks.

My conclusion: the work of stable maintainer should be simpler and better
automated. If we miss some fixes because of the automated process, it means
we must be better in this process :)
The most reliable source of trust in this automated process should be the
list of patches appearing on the stable mailing list at any time (on first
send or after it has been merged in the mainline).

More information about the dev mailing list