[edk2-devel] [PATCH 0/3] add GetMaintainer.py helper script

Leif Lindholm leif.lindholm at linaro.org
Fri Jul 12 17:01:25 UTC 2019


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 at apple.com>
  Laszlo Ersek <lersek at redhat.com>
  Leif Lindholm <leif.lindholm at linaro.org>
  Michael D Kinney <michael.d.kinney at intel.com>
  devel at 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 at apple.com>
Cc: Laszlo Ersek <lersek at redhat.com>
Cc: Michael D Kinney <michael.d.kinney at intel.com>
Cc: Bob Feng <bob.c.feng at intel.com>
Cc: Liming Gao <liming.gao at intel.com>
Cc: Philippe Mathieu-Daude <philmd at redhat.com>
Cc: "Wu, Hao A" <hao.a.wu at 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


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#43663): https://edk2.groups.io/g/devel/message/43663
Mute This Topic: https://groups.io/mt/32444044/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-




More information about the edk2-devel-archive mailing list