From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mx.groups.io; dkim=pass header.i=@linaro.org header.s=google header.b=kXI8GGmb; spf=pass (domain: linaro.org, ip: 209.85.128.46, mailfrom: leif.lindholm@linaro.org) Received: from mail-wm1-f46.google.com (mail-wm1-f46.google.com [209.85.128.46]) by groups.io with SMTP; Fri, 12 Jul 2019 10:01:34 -0700 Received: by mail-wm1-f46.google.com with SMTP id v19so9587630wmj.5 for ; Fri, 12 Jul 2019 10:01:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=VoG3JtiN2A+VOWILmjUizZrlhho/RQ920neQ6tPRuvc=; b=kXI8GGmbnxblqxEhGzc+8phZh4FmmbuFEO0vKRUQXk1uQxUNU3fD1wPgAQ3n60ynWp x14EjC1eJb3FqqSTxmtLiXfBOgutJFtB1QpWg6K98uJOwjmtGmzH/Kx/OyToZ9XY5Nwg 6eDVWiJsGJ9/WVJmNdauZYPkc2XzNT37K6XUiFXoVHduLrWixhdePXvPwNjk25BRyPeX rmgxrkT7urbl1kOR9tEpVs12wFGUiLAlkAkNvm0R7kKA6xhULcMGpOJq/dJB6SC7govV wYJQyg08rVyzvR41RnxuxrdBYOnlGiLV2JWF4nCl6aOrjPYzD+lFYgqK1490hCs5WHdw 8OrA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=VoG3JtiN2A+VOWILmjUizZrlhho/RQ920neQ6tPRuvc=; b=kT6fy7DXgg9e7HbQJhUetFPmPso9Bnub0Jqai7lo7U8iMJumqmUaTmGu0NhKkj307X fCmNibdZeCWJgk7iu8SZ+B03TjCBX668rgsD2ph5RsTVgXceLmeWAE4xmL3VHo1NKbNE G7r5usrsg3pKGBT+MBcELZxeeSyc+jMpBaxhY6IeY/8GQVFg6maU25+kYw64236xB1ph Sdf+5qoSrqTfpxriKuq0OPm+fHm13zsYeat1rn3rWJo1cYv4YyzjHYbSfdzRxggrmsbP SltCDFGF7hTTvDxDBt5DlN0e1Rr2eX8tpefKN9aaBw8POf93+e3eGqih4wpzCUoi+dwf kWOQ== X-Gm-Message-State: APjAAAUWzXiJEU8x0ofPT1l9OPe0QPPu7P+H7TM8kxD/hWQQ73cpTduu 5nQwCe7aMlDvPc+MXEDlqi+N7rkv2F8= X-Google-Smtp-Source: APXvYqwFEZK2x462HU5nzasyxz/fZ9QjDTKCVPqSEiq2yDi3qi3WdQD1hEcKmaoukrrZuY/YCDKjLg== X-Received: by 2002:a05:600c:c4:: with SMTP id u4mr10597779wmm.96.1562950892276; Fri, 12 Jul 2019 10:01:32 -0700 (PDT) Return-Path: Received: from vanye.hemma.eciton.net (cpc92302-cmbg19-2-0-cust304.5-4.cable.virginm.net. [82.1.209.49]) by smtp.gmail.com with ESMTPSA id g11sm9044816wru.24.2019.07.12.10.01.31 (version=TLS1_3 cipher=AEAD-AES256-GCM-SHA384 bits=256/256); Fri, 12 Jul 2019 10:01:31 -0700 (PDT) From: "Leif Lindholm" To: devel@edk2.groups.io Cc: Andrew Fish , Laszlo Ersek , Michael D Kinney , Philippe Mathieu-Daude , Bob Feng , Liming Gao , "Wu, Hao A" Subject: [PATCH 0/3] add GetMaintainer.py helper script Date: Fri, 12 Jul 2019 18:01:25 +0100 Message-Id: <20190712170128.6495-1-leif.lindholm@linaro.org> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Changes are available directly from: https://git.linaro.org/people/leif.lindholm/edk2.git/log/?h=upstreaming/git-maintainer-v1 This series adds new tags to the Maintainers.txt format, making it possible to describe which filesystem paths are looked after by which people, and hence automating the extraction of a list over who should be cc:d on a patch submission. Remaining shorcomings in v1: - Will still be misparsing OvmfPkg and MdeModulePkg due to non-tag lines interspersed with the tag lines. These lines will be removed as areas of responsibility is formally rewritten as tags. - * Wildcard support is not fully filesystem compliant except in first or last position in the file pattern (it translates as regex .* elsewhere). However, actual cases of mismatch are expected to be unlikely, and they will be false positives rather than false negatives - so I think this is good enough at least for a start. - Provides no information of why certain people or meiling lists were picked - it just bundles all recipients up, deduplicates them, and prints them out. Using the script requires the gitpython module to be installed. Worthwhile mentioning outside the ChangeLog is the added -l flag, which lets you look up what a given path would return in the way of matches. E.g. "python BaseTools/Scripts/GetMaintainer.py -l Non/Existing/Path" would return: --- Non/Existing/Path "Non/Existing/Path": no maintainers found, looking for default Andrew Fish Laszlo Ersek Leif Lindholm Michael D Kinney devel@edk2.groups.io --- This series would still result in GetMaintainers.py missing some maintainers/reviewers due to descriptions in prose rather than filename patterns. My preferred way of handling this would be to merge 1-2/3 as soon as found acceptable, following up and merging patches to update ArmVirtPkg, MdeModulePkg, and OvmfPkg, and finally once the file is consistent, proceed to merge 3/3. Changelog: v1: - Rebase to current Maintainers.txt. - Fix typos and missed bits in Maintainers.txt. - Get rid of the magic '' filename, let the single-char '*' wildcard resolve this (_using_ the magic '' filename in the script, but treating it as if it was a file in the top-level directory). - Add -l flag to script to look up which maintainers would be returned for a given path (which need not exist). rfc: - Split patches up - one for new Maintainers.txt format (documentation and F: tags). - one for adding a new wilcards responsibility area for */Arm, */AArch64 - one for the GetMaintainer.py script - Reworked wildcard handling based on Laszlo's explanation - Trailing / covers everything under that directory - Trailing * does not cover subdirectories - Added support for X: tag - Added support for magic '' pathname - Also prints mailing list addresses for matching L: tags Cc: Andrew Fish Cc: Laszlo Ersek Cc: Michael D Kinney Cc: Bob Feng Cc: Liming Gao Cc: Philippe Mathieu-Daude Cc: "Wu, Hao A" Leif Lindholm (3): Maintainers.txt: update for filesystem area descriptions Maintainers.txt: add wildcard path association for Arm/AArch64 BaseTools: add GetMaintainer.py script BaseTools/Scripts/GetMaintainer.py | 190 +++++++++++++++++++++++++++++ Maintainers.txt | 54 ++++++++ 2 files changed, 244 insertions(+) create mode 100644 BaseTools/Scripts/GetMaintainer.py -- 2.20.1