On 25 Sep 2024, at 21:02, Aaron Conole wrote:
> Eelco Chaudron <[email protected]> writes: > >> This patch adds a new option, --check-authors-file, to the checkpatch >> tool to help OVS maintainers check for missing authors in the >> AUTHORS.rst file. >> >> Signed-off-by: Eelco Chaudron <[email protected]> >> --- >> v2: Fixed partial match, and long argument check. > > Not sure about it. For example, is it really a problem with the patch > if the author doesn't appear? Maybe this could be a different checking > utility? I certainly don't think it would be an error in the patch. It’s not an error in the patch itself, but an error to be resolved before we apply it. As we have to duplicate a lot of infra for a stand-alone tool, and this option is not being enabled by default, I feel like it’s ok to enhance checkpatch. It also simplifies commiters the workflow, as now I can just run ‘checkpatch.py -3 -S -a’. Anyone else thoughts, feedback on this? //Eelco >> --- >> utilities/checkpatch.py | 22 +++++++++++++++++++++- >> 1 file changed, 21 insertions(+), 1 deletion(-) >> >> diff --git a/utilities/checkpatch.py b/utilities/checkpatch.py >> index 742a0bc47..636634472 100755 >> --- a/utilities/checkpatch.py >> +++ b/utilities/checkpatch.py >> @@ -28,6 +28,7 @@ __errors = 0 >> __warnings = 0 >> empty_return_check_state = 0 >> print_file_name = None >> +check_authors_file = False >> checking_file = False >> total_line = 0 >> colors = False >> @@ -977,6 +978,21 @@ def ovs_checkpatch_parse(text, filename, author=None, >> committer=None): >> "who are not authors or co-authors or >> " >> "committers: %s" >> % ", ".join(extra_sigs)) >> + >> + if check_authors_file or author: >> + m = re.search(r'<(.*?)>', author) >> + if m: >> + try: >> + with open("AUTHORS.rst", "r") as file: >> + file_content = file.read() >> + pattern = r'\b' + re.escape(m.group(1)) + >> r'\b' >> + if re.search(pattern, file_content) is None: >> + print_error("Author '%s' is not in the " >> + "AUTHORS.rst file!" % author) >> + except FileNotFoundError: >> + print_error("Can't open AUTHORS.rst file in " >> + "current path!") >> + >> elif is_committer.match(line): >> committer = is_committer.match(line).group(2) >> elif is_author.match(line): >> @@ -1067,6 +1083,7 @@ Input options: >> >> Check options: >> -h|--help This help message >> +-a|--check-authors-file Check AUTHORS file for existense of author >> -b|--skip-block-whitespace Skips the if/while/for whitespace tests >> -l|--skip-leading-whitespace Skips the leading whitespace test >> -q|--quiet Only print error and warning information >> @@ -1138,9 +1155,10 @@ if __name__ == '__main__': >> sys.argv[1:]) >> n_patches = int(numeric_options[-1][1:]) if numeric_options else 0 >> >> - optlist, args = getopt.getopt(args, 'bhlstfSq', >> + optlist, args = getopt.getopt(args, 'abhlstfSq', >> ["check-file", >> "help", >> + "check-authors-file", >> "skip-block-whitespace", >> "skip-leading-whitespace", >> "skip-signoff-lines", >> @@ -1157,6 +1175,8 @@ if __name__ == '__main__': >> if o in ("-h", "--help"): >> usage() >> sys.exit(0) >> + elif o in ("-a", "--check-authors-file"): >> + check_authors_file = True >> elif o in ("-b", "--skip-block-whitespace"): >> skip_block_whitespace_check = True >> elif o in ("-l", "--skip-leading-whitespace"): _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
