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 <liming.gao@intel.com>
Cc: Jordan Justen <jordan.l.justen@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
This commit is contained in:
Yonghong Zhu 2016-10-17 11:12:04 +08:00
parent e61406708c
commit e709bbb1ce
1 changed files with 9 additions and 8 deletions

View File

@ -436,6 +436,14 @@ class CheckOnePatch:
''', ''',
re.IGNORECASE | re.VERBOSE | re.MULTILINE) 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): def find_patch_pieces(self):
if sys.version_info < (3, 0): if sys.version_info < (3, 0):
patch = self.patch.encode('ascii', 'ignore') patch = self.patch.encode('ascii', 'ignore')
@ -472,14 +480,7 @@ class CheckOnePatch:
self.commit_subject = pmail['subject'].replace('\r\n', '') self.commit_subject = pmail['subject'].replace('\r\n', '')
self.commit_subject = self.commit_subject.replace('\n', '') self.commit_subject = self.commit_subject.replace('\n', '')
self.commit_subject = self.subject_prefix_re.sub('', self.commit_subject, 1)
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()
class CheckGitCommits: class CheckGitCommits:
"""Reads patches from git based on the specified git revision range. """Reads patches from git based on the specified git revision range.