On Wed, Nov 22, 2023 at 1:15 PM PierreGondois <pierre.gond...@arm.com> wrote:
>
> Code review tools like gerrit might use a 'Change-id' tag to track
> the evolution of patches. This tag should be removed before
> submitting a patch to the mailing-list.
> It has been observed that contributors sometimes forget to remove
> this tag. Add a check in PatchCheck.py to automate this.
>
> Also add a '--ignore-change-id' command line parameter to ignore
> the above check.
>
> Signed-off-by: Pierre Gondois <pierre.gond...@arm.com>
> ---
>  BaseTools/Scripts/PatchCheck.py | 18 +++++++++++++++++-
>  1 file changed, 17 insertions(+), 1 deletion(-)
>
> diff --git a/BaseTools/Scripts/PatchCheck.py b/BaseTools/Scripts/PatchCheck.py
> index 7f372d40b570..7770d1e37318 100755
> --- a/BaseTools/Scripts/PatchCheck.py
> +++ b/BaseTools/Scripts/PatchCheck.py
> @@ -3,7 +3,7 @@
>  #
>  #  Copyright (c) 2015 - 2021, Intel Corporation. All rights reserved.<BR>
>  #  Copyright (C) 2020, Red Hat, Inc.<BR>
> -#  Copyright (c) 2020, ARM Ltd. All rights reserved.<BR>
> +#  Copyright (c) 2020 - 2023, Arm Limited. All rights reserved.<BR>
>  #
>  #  SPDX-License-Identifier: BSD-2-Clause-Patent
>  #
> @@ -26,6 +26,9 @@ class Verbose:
>      SILENT, ONELINE, NORMAL = range(3)
>      level = NORMAL
>
> +class PatchCheckConf:
> +    ignore_change_id = False
> +
>  class EmailAddressCheck:
>      """Checks an email address."""
>
> @@ -111,6 +114,8 @@ class CommitMessageCheck:
>              self.check_signed_off_by()
>              self.check_misc_signatures()
>              self.check_overall_format()
> +            if not PatchCheckConf.ignore_change_id:
> +                self.check_change_id_format()
>          self.report_message_result()
>
>      url = 
> 'https://github.com/tianocore/tianocore.github.io/wiki/Commit-Message-Format'
> @@ -307,6 +312,12 @@ class CommitMessageCheck:
>                  break
>              last_sig_line = line.strip()
>
> +    def check_change_id_format(self):
> +        cid='Change-Id:'
> +        if self.msg.find(cid) != -1:
> +            self.error('\"%s\" found in commit message:' % cid)
> +            return
> +
>  (START, PRE_PATCH, PATCH) = range(3)
>
>  class GitDiffCheck:
> @@ -780,11 +791,16 @@ class PatchCheckApp:
>          group.add_argument("--silent",
>                             action="store_true",
>                             help="Print nothing")
> +        group.add_argument("--ignore-change-id",
> +                           action="store_true",
> +                           help="Ignore the presence of 'Change-id:' tags in 
> commit message")
>          self.args = parser.parse_args()
>          if self.args.oneline:
>              Verbose.level = Verbose.ONELINE
>          if self.args.silent:
>              Verbose.level = Verbose.SILENT
> +        if self.args.ignore_change_id:
> +            PatchCheckConf.ignore_change_id = True
>
>  if __name__ == "__main__":
>      sys.exit(PatchCheckApp().retval)
> --
> 2.25.1

This is great, thanks!

Acked-by: Pedro Falcato <pedro.falc...@gmail.com>

-- 
Pedro


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#111642): https://edk2.groups.io/g/devel/message/111642
Mute This Topic: https://groups.io/mt/102748141/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to