[PATCH] pw_maintainers_cli: enhance tree selection

pbhagavatula at marvell.com pbhagavatula at marvell.com
Fri Sep 29 10:34:43 CEST 2023


From: Pavan Nikhilesh <pbhagavatula at marvell.com>

When longest prefix match doesnt find a suitable tree, pick the
tree which has the highest modified file count instead of defauting
to main tree.

Signed-off-by: Pavan Nikhilesh <pbhagavatula at marvell.com>
---
 tools/pw_maintainers_cli.py | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/tools/pw_maintainers_cli.py b/tools/pw_maintainers_cli.py
index c7b5ba0..4aa46ae 100755
--- a/tools/pw_maintainers_cli.py
+++ b/tools/pw_maintainers_cli.py
@@ -46,6 +46,7 @@ import re
 import argparse
 import fnmatch
 
+from collections import Counter
 from requests.exceptions import HTTPError
 
 from git_pw import config
@@ -276,6 +277,7 @@ class Maintainers(object):
           dpdk-next-crypto + dpdk-next-virtio = dpdk
           dpdk-next-net-intel + dpdk-next-net-mlx = dpdk-next-net
         """
+        highest_tree = Counter(tree_list).most_common(1)[0][0]
         # Make sure the list is unique.
         tree_list = list(set(tree_list))
 
@@ -287,7 +289,9 @@ class Maintainers(object):
             os.path.commonprefix(_tree_list).rstrip('-').replace(
                     'dpdk-next-net-virtio', 'dpdk-next-virtio')
         # There is no 'dpdk-next' named tree.
-        if common_prefix.endswith('dpdk-next') or common_prefix.endswith('/'):
+        if common_prefix.endswith('dpdk-next'):
+            common_prefix = highest_tree
+        elif common_prefix.endswith('/'):
             common_prefix = 'git://dpdk.org/dpdk'
         return common_prefix
 
-- 
2.25.1



More information about the ci mailing list