[2/2] devtools: disable fixes authors in get maintainers

Message ID 20211101133533.3402007-2-ferruh.yigit@intel.com (mailing list archive)
State Rejected, archived
Delegated to: Thomas Monjalon
Headers
Series [1/2] devtools: remove ugly workaround from get maintainers |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/github-robot: build success github build: passed
ci/iol-broadcom-Functional success Functional Testing PASS
ci/iol-mellanox-Performance success Performance Testing PASS
ci/iol-broadcom-Performance success Performance Testing PASS
ci/iol-spell-check-testing success Testing PASS
ci/iol-aarch64-compile-testing success Testing PASS
ci/iol-x86_64-unit-testing fail Testing issues
ci/iol-aarch64-unit-testing success Testing PASS
ci/iol-x86_64-compile-testing fail Testing issues
ci/intel-Testing success Testing PASS
ci/Intel-compilation success Compilation OK
ci/iol-intel-Performance success Performance Testing PASS
ci/iol-intel-Functional success Functional Testing PASS

Commit Message

Ferruh Yigit Nov. 1, 2021, 1:35 p.m. UTC
  'get_maintainer.pl' by default returns authors that has fixes in
relevant code, to reduce the output only maintainers from MAINTAINERS
file, disabling fixes authors, by making '--no-fixes' default.

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
 devtools/get-maintainer.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
  

Comments

Thomas Monjalon Nov. 1, 2021, 10:20 p.m. UTC | #1
01/11/2021 14:35, Ferruh Yigit:
> 'get_maintainer.pl' by default returns authors that has fixes in
> relevant code, to reduce the output only maintainers from MAINTAINERS
> file, disabling fixes authors, by making '--no-fixes' default.

Do you mean it is not Cc'ing people who have contributed to the file?
Is it keeping Cc of people having contributed to the commit being fixed?
  
Stephen Hemminger Nov. 1, 2021, 11:19 p.m. UTC | #2
On Mon,  1 Nov 2021 13:35:33 +0000
Ferruh Yigit <ferruh.yigit@intel.com> wrote:

> 'get_maintainer.pl' by default returns authors that has fixes in
> relevant code, to reduce the output only maintainers from MAINTAINERS
> file, disabling fixes authors, by making '--no-fixes' default.
> 
> Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>

Isn't it better to send to more people on patches rather than less.
There could be cases where a patch reverts a change and the original
author never gets notified after this.

Could you give an example?
  
Ferruh Yigit Nov. 2, 2021, 10:04 a.m. UTC | #3
On 11/1/2021 10:20 PM, Thomas Monjalon wrote:
> 01/11/2021 14:35, Ferruh Yigit:
>> 'get_maintainer.pl' by default returns authors that has fixes in
>> relevant code, to reduce the output only maintainers from MAINTAINERS
>> file, disabling fixes authors, by making '--no-fixes' default.
> 
> Do you mean it is not Cc'ing people who have contributed to the file?
> Is it keeping Cc of people having contributed to the commit being fixed?
> 

It is adding both, people contributed to the file and contributed to the commit
it is fixing. More details from tool is below [1].

Intention to cc'ing the people who introduced the commit you are fixing
makes sense.
But as far as I can see it adds all xxx-by names from the fix commit, not
just author, that may add some unrelated people.

Let me give a sample:
Commit A: ("ethdev: add namespace")
           It updates bunch of drivers and it has acks from various
           driver maintainers.

Commit B: ("net/txgbe: fix link macro")
           Fixing Commit A for one driver (txgbe)

If --fixes is used on 'Commit B', the author of 'Commit A' and all people
acked 'Commit A' is added. But none of the acks were related to 'Commit B'.
So as a result unrelated people cc'ed for 'Commit B'.


If the commit and fix commit are more narrow scope, this make sense.
So we may prefer to keep '--fixes' if we are OK to some noises in some cases.



[1]
 From 'get_maintainer.pl':
    --fixes => for patches, add signatures of commits with 'Fixes: <commit>' (default: 1 (on))


And form commit log that adding the feature:
2f5bd343694e ("scripts/get_maintainer.pl: add signatures from Fixes: <badcommit> lines in commit message")

     A Fixes: lines in a commit message generally indicate that a previous
     commit was inadequate for whatever reason.
     
     The signers of the previous inadequate commit should also be cc'd on
     this new commit so update get_maintainer to find the old commit and add
     the original signers.
  
Ferruh Yigit Nov. 2, 2021, 10:07 a.m. UTC | #4
On 11/1/2021 11:19 PM, Stephen Hemminger wrote:
> On Mon,  1 Nov 2021 13:35:33 +0000
> Ferruh Yigit <ferruh.yigit@intel.com> wrote:
> 
>> 'get_maintainer.pl' by default returns authors that has fixes in
>> relevant code, to reduce the output only maintainers from MAINTAINERS
>> file, disabling fixes authors, by making '--no-fixes' default.
>>
>> Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
> 
> Isn't it better to send to more people on patches rather than less.
> There could be cases where a patch reverts a change and the original
> author never gets notified after this.
> 
> Could you give an example?
> 

I already gave a sample on response to Thomas, can you please check there,
to not fork the same discussion.

Thanks,
ferruh
  
Thomas Monjalon Nov. 2, 2021, 11:28 a.m. UTC | #5
02/11/2021 11:04, Ferruh Yigit:
> On 11/1/2021 10:20 PM, Thomas Monjalon wrote:
> > 01/11/2021 14:35, Ferruh Yigit:
> >> 'get_maintainer.pl' by default returns authors that has fixes in
> >> relevant code, to reduce the output only maintainers from MAINTAINERS
> >> file, disabling fixes authors, by making '--no-fixes' default.
> > 
> > Do you mean it is not Cc'ing people who have contributed to the file?
> > Is it keeping Cc of people having contributed to the commit being fixed?
> > 
> 
> It is adding both, people contributed to the file and contributed to the commit
> it is fixing. More details from tool is below [1].
> 
> Intention to cc'ing the people who introduced the commit you are fixing
> makes sense.
> But as far as I can see it adds all xxx-by names from the fix commit, not
> just author, that may add some unrelated people.
> 
> Let me give a sample:
> Commit A: ("ethdev: add namespace")
>            It updates bunch of drivers and it has acks from various
>            driver maintainers.
> 
> Commit B: ("net/txgbe: fix link macro")
>            Fixing Commit A for one driver (txgbe)
> 
> If --fixes is used on 'Commit B', the author of 'Commit A' and all people
> acked 'Commit A' is added. But none of the acks were related to 'Commit B'.
> So as a result unrelated people cc'ed for 'Commit B'.
> 
> 
> If the commit and fix commit are more narrow scope, this make sense.
> So we may prefer to keep '--fixes' if we are OK to some noises in some cases.

Yes I prefer Cc'ing everybody.
In case where the people are not needed for sure, I don't use the script.


> [1]
>  From 'get_maintainer.pl':
>     --fixes => for patches, add signatures of commits with 'Fixes: <commit>' (default: 1 (on))
> 
> 
> And form commit log that adding the feature:
> 2f5bd343694e ("scripts/get_maintainer.pl: add signatures from Fixes: <badcommit> lines in commit message")
> 
>      A Fixes: lines in a commit message generally indicate that a previous
>      commit was inadequate for whatever reason.
>      
>      The signers of the previous inadequate commit should also be cc'd on
>      this new commit so update get_maintainer to find the old commit and add
>      the original signers.
>
  
Ferruh Yigit Nov. 2, 2021, 12:08 p.m. UTC | #6
On 11/2/2021 11:28 AM, Thomas Monjalon wrote:
> 02/11/2021 11:04, Ferruh Yigit:
>> On 11/1/2021 10:20 PM, Thomas Monjalon wrote:
>>> 01/11/2021 14:35, Ferruh Yigit:
>>>> 'get_maintainer.pl' by default returns authors that has fixes in
>>>> relevant code, to reduce the output only maintainers from MAINTAINERS
>>>> file, disabling fixes authors, by making '--no-fixes' default.
>>>
>>> Do you mean it is not Cc'ing people who have contributed to the file?
>>> Is it keeping Cc of people having contributed to the commit being fixed?
>>>
>>
>> It is adding both, people contributed to the file and contributed to the commit
>> it is fixing. More details from tool is below [1].
>>
>> Intention to cc'ing the people who introduced the commit you are fixing
>> makes sense.
>> But as far as I can see it adds all xxx-by names from the fix commit, not
>> just author, that may add some unrelated people.
>>
>> Let me give a sample:
>> Commit A: ("ethdev: add namespace")
>>             It updates bunch of drivers and it has acks from various
>>             driver maintainers.
>>
>> Commit B: ("net/txgbe: fix link macro")
>>             Fixing Commit A for one driver (txgbe)
>>
>> If --fixes is used on 'Commit B', the author of 'Commit A' and all people
>> acked 'Commit A' is added. But none of the acks were related to 'Commit B'.
>> So as a result unrelated people cc'ed for 'Commit B'.
>>
>>
>> If the commit and fix commit are more narrow scope, this make sense.
>> So we may prefer to keep '--fixes' if we are OK to some noises in some cases.
> 
> Yes I prefer Cc'ing everybody.
> In case where the people are not needed for sure, I don't use the script.
> 

OK to drop this patch, but I think good to have first one (1/2).

> 
>> [1]
>>   From 'get_maintainer.pl':
>>      --fixes => for patches, add signatures of commits with 'Fixes: <commit>' (default: 1 (on))
>>
>>
>> And form commit log that adding the feature:
>> 2f5bd343694e ("scripts/get_maintainer.pl: add signatures from Fixes: <badcommit> lines in commit message")
>>
>>       A Fixes: lines in a commit message generally indicate that a previous
>>       commit was inadequate for whatever reason.
>>       
>>       The signers of the previous inadequate commit should also be cc'd on
>>       this new commit so update get_maintainer to find the old commit and add
>>       the original signers.
>>
>
  

Patch

diff --git a/devtools/get-maintainer.sh b/devtools/get-maintainer.sh
index bba4d3f68db8..e546b8fdfd51 100755
--- a/devtools/get-maintainer.sh
+++ b/devtools/get-maintainer.sh
@@ -7,7 +7,7 @@ 
 # - DPDK_GETMAINTAINER_PATH
 . $(dirname $(readlink -f $0))/load-devel-config
 
-options="--no-tree --no-git-fallback"
+options="--no-tree --no-git-fallback --no-fixes"
 options="$options --no-rolestats"
 
 print_usage () {