Hi all,
I tried this script on a new series and noticed that something was not
working as I was expecting.
I have a patch modifying the following files:
xen/arch/arm/domain_build.c
xen/include/asm-arm/domain.h
When using the scripts with just "-d .", I get the following person CCed:
Cc: Andrew Cooper
Cc: George Dunlap
Cc: Ian Jackson
Cc: Jan Beulich
Cc: Julien Grall
Cc: Konrad Rzeszutek Wilk
Cc: Stefano Stabellini
Cc: Tim Deegan
Cc: Wei Liu
The same patch with get_maintainers.pl only give the following person:
Stefano Stabellini
Julien Grall
It looks like to me the problem is because the option "-f" has been
given to get_maintainers.pl. The option works on file and not a patch.
I think what you want to do is remove the -f option. I will send a patch
for that.
Cheers,
On 05/15/2018 06:10 PM, Ian Jackson wrote:
From: Lars Kurth
e
This provides a much better workflow when using git format-patch and
git send-email, with get_maintainer.pl.
The tool covers step 2 of the following workflow
Step 1: git format-patch ... -o ...
Step 2: ./scripts/add_maintainers.pl -d
This overwrites *.patch files in
Step 3: git send-email -to xen-devel@lists.xenproject.org
/*.patchxm
I manually tested all options and the most common combinations
on Mac.
Changes since v1:
- Added RAB (indicated by Juergen on IRC that this is OK)
- Remove trailing whitespaces
- Renamed --prefix to --reroll-count
- Cleaned up short options -v, ... to be in line with git
- Added --tags|-t option to add AB, RAB and RB emails to CC list
- Added --insert|-i mode to allow for people adding CCs to commit message
instead of the e-mail header (the header is the default)
- Moved common code into functions
- Added logic, such that the tool only insert's To: and Cc: statements
which were not there before, allowing for running the tool multiple times
on the same
Changes since v2:
- Deleted --version and related infrastructure
- Added subroutine prototypes
- Removed AT and @lists declaration and used \@ in literals
- Changed usage message and options based on feedback
- Improved error handling
- Removed occurances of index() and replaced with regex
- Removed non-perl idioms
- Moved uniq statements to normalize and added info on what normalize does
- Read L: tags from MAINTAINERS file instead of using heuristic
- Fixed issues related to metacharacters in getmaintainers()
- Allow multiple -a | --arg values (because of this renamed --args)
- Identify tags via regex
- CC's from tags are only inserted in the mail header, never the body
- That is unless the new option --tagscc is used
- Added policy processing which includes reworking insert()
- Replaced -i|--insert with -p|--inspatch and -c|--inscover now using policies
- Added new policies to cover for all user requests
- Rewrote help message to center around usage of policies
- Reordered some code (e.g. help string first to make code more easily readable)
Changes since v3:
- Made help message clearer
- Replaced PROCESSING POLICY with LOCATION
- Renamed --inspatch (top|ccbody|cc---|none) | -p (top|ccbody|cc---|none)
to --patchcc (header|commit|comment|none) | -p (header|commit|comment|none)
- Renamed --inscover (top|ccend|none) | -c (top|ccend|none)
to --covercc (header|end|none) | -c (header|end|none)
- Renamed variables and functions in the code to match the options
- Changed $patch_prefix processing
- Changed search expression for identifying cover letters
- Renamed $readmailinglists to $getmailinglists_done
- Use array form of open
- More file error handling (using IO::Handle)
- Fixed buggy AND in if statement
- Removed check whether getmaintainers exists for future proofing
- Add logic to work out --reroll-count
Changes since v4:
- Strip some trailing whitespace from the code
- writefile() now uses the .tmp-and-rename pattern to avoid data loss
- Provide --get-maintainers= option to specify replacement for
get_maintainers.pl. This is useful for Ian's usecase, since it
allows --get-maintainers=true, to avoid adding any MAINTAINERS-based
info anywhere while still adding other CCs (eg from -t) everywhere.
- Refactor normalize() somewhat so that it uses only %seen, and
does not any longer modify its argument arrays.
- De-dupe case-insensitively (by making normalize use lc).
Cc: Andrew Cooper
Cc: George Dunlap
Cc: Ian Jackson
Cc: Jan Beulich
Cc: Julien Grall
Cc: Konrad Rzeszutek Wilk
Cc: Stefano Stabellini
Cc: Tim Deegan
Cc: Wei Liu
Signed-off-by: Lars Kurth
Release-acked-by: Juergen Gross
Signed-off-by: Ian Jackson
---
scripts/add_maintainers.pl | 548 +
1 file changed, 548 insertions(+)
create mode 100755 scripts/add_maintainers.pl
diff --git a/scripts/add_maintainers.pl b/scripts/add_maintainers.pl
new file mode 100755
index 000..0f4a4cf
--- /dev/null
+++ b/scripts/add_maintainers.pl
@@ -0,0 +1,548 @@
+#!/usr/bin/perl -w
+# (c) 2018, Lars Kurth
+#
+# Add