public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Leif Lindholm" <leif.lindholm@linaro.org>
To: devel@edk2.groups.io
Cc: Andrew Fish <afish@apple.com>, Laszlo Ersek <lersek@redhat.com>,
	Michael D Kinney <michael.d.kinney@intel.com>,
	Philippe Mathieu-Daude <philmd@redhat.com>,
	Bob Feng <bob.c.feng@intel.com>,
	Liming Gao <liming.gao@intel.com>,
	"Wu, Hao A" <hao.a.wu@intel.com>
Subject: [PATCH 0/3] add GetMaintainer.py helper script
Date: Fri, 12 Jul 2019 18:01:25 +0100	[thread overview]
Message-ID: <20190712170128.6495-1-leif.lindholm@linaro.org> (raw)

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 <afish@apple.com>
  Laszlo Ersek <lersek@redhat.com>
  Leif Lindholm <leif.lindholm@linaro.org>
  Michael D Kinney <michael.d.kinney@intel.com>
  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 '<default>' filename, let the single-char '*'
  wildcard resolve this (_using_ the magic '<default>' 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 '<default>' pathname
- Also prints mailing list addresses for matching L: tags

Cc: Andrew Fish <afish@apple.com>
Cc: Laszlo Ersek <lersek@redhat.com>
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Bob Feng <bob.c.feng@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Cc: Philippe Mathieu-Daude <philmd@redhat.com>
Cc: "Wu, Hao A" <hao.a.wu@intel.com>

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


             reply	other threads:[~2019-07-12 17:01 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-07-12 17:01 Leif Lindholm [this message]
2019-07-12 17:01 ` [PATCH 1/3] Maintainers.txt: update for filesystem area descriptions Leif Lindholm
2019-07-12 22:54   ` Laszlo Ersek
2019-07-12 17:01 ` [PATCH 2/3] Maintainers.txt: add wildcard path association for Arm/AArch64 Leif Lindholm
2019-07-12 22:54   ` Laszlo Ersek
2019-07-12 17:01 ` [PATCH 3/3] BaseTools: add GetMaintainer.py script Leif Lindholm
2019-07-12 22:58   ` Laszlo Ersek
2019-07-13 10:41     ` Leif Lindholm
2019-07-15 17:08       ` [edk2-devel] " Laszlo Ersek
2019-07-12 22:54 ` [PATCH 0/3] add GetMaintainer.py helper script Laszlo Ersek
2019-07-18 16:27 ` Leif Lindholm
2019-07-18 17:01   ` Philippe Mathieu-Daudé
2019-07-18 17:40     ` Leif Lindholm
2019-07-18 17:50       ` Philippe Mathieu-Daudé
2019-07-18 21:17   ` Laszlo Ersek
2019-07-18 21:56     ` Leif Lindholm
2019-07-24  1:39       ` Liming Gao
2019-07-19  9:00     ` [PATCH 0/3] add GetMaintainer.py helper script (and Maintainers.txt format change) Leif Lindholm
2019-07-24  2:03       ` [edk2-devel] " Bob Feng
2019-07-24 16:49         ` Leif Lindholm

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-list 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=20190712170128.6495-1-leif.lindholm@linaro.org \
    --to=devel@edk2.groups.io \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox