From e709bbb1ce386c7ac4240fae929cacfcc2bfa5a9 Mon Sep 17 00:00:00 2001 From: Yonghong Zhu Date: Mon, 17 Oct 2016 11:12:04 +0800 Subject: BaseTools/PatchCheck.py: Update to handle the two [] as prefix The bug is that only remove the first [] when it does the char count, however sometimes we use [edk2][patch] as prefix, this patch fix this bug. Fixes: https://bugzilla.tianocore.org/show_bug.cgi?id=113 Cc: Liming Gao Cc: Jordan Justen Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Yonghong Zhu Reviewed-by: Jordan Justen --- BaseTools/Scripts/PatchCheck.py | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/BaseTools/Scripts/PatchCheck.py b/BaseTools/Scripts/PatchCheck.py index 07fca68149..05f8f6e407 100755 --- a/BaseTools/Scripts/PatchCheck.py +++ b/BaseTools/Scripts/PatchCheck.py @@ -436,6 +436,14 @@ class CheckOnePatch: ''', re.IGNORECASE | re.VERBOSE | re.MULTILINE) + subject_prefix_re = \ + re.compile(r'''^ + \s* (\[ + [^\[\]]* # Allow all non-brackets + \])* \s* + ''', + re.VERBOSE) + def find_patch_pieces(self): if sys.version_info < (3, 0): patch = self.patch.encode('ascii', 'ignore') @@ -472,14 +480,7 @@ class CheckOnePatch: self.commit_subject = pmail['subject'].replace('\r\n', '') self.commit_subject = self.commit_subject.replace('\n', '') - - pfx_start = self.commit_subject.find('[') - if pfx_start >= 0: - pfx_end = self.commit_subject.find(']') - if pfx_end > pfx_start: - self.commit_prefix = self.commit_subject[pfx_start + 1 : pfx_end] - self.commit_subject = self.commit_subject[pfx_end + 1 :].lstrip() - + self.commit_subject = self.subject_prefix_re.sub('', self.commit_subject, 1) class CheckGitCommits: """Reads patches from git based on the specified git revision range. -- cgit v1.2.3