aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tools/patman/commit.py2
-rw-r--r--tools/patman/patchstream.py15
2 files changed, 13 insertions, 4 deletions
diff --git a/tools/patman/commit.py b/tools/patman/commit.py
index 8d583c4ed39..e49bf87dfc8 100644
--- a/tools/patman/commit.py
+++ b/tools/patman/commit.py
@@ -27,6 +27,7 @@ class Commit:
rtags: Response tags (e.g. Reviewed-by) collected by the commit, dict:
key: rtag type (e.g. 'Reviewed-by')
value: Set of people who gave that rtag, each a name/email string
+ warn: List of warnings for this commit, each a str
"""
def __init__(self, hash):
self.hash = hash
@@ -38,6 +39,7 @@ class Commit:
self.notes = []
self.change_id = None
self.rtags = collections.defaultdict(set)
+ self.warn = []
def AddChange(self, version, info):
"""Add a new change line to the change list for a version.
diff --git a/tools/patman/patchstream.py b/tools/patman/patchstream.py
index 9f283470bc2..880d7ddc7f2 100644
--- a/tools/patman/patchstream.py
+++ b/tools/patman/patchstream.py
@@ -68,7 +68,6 @@ class PatchStream:
self.skip_blank = False # True to skip a single blank line
self.found_test = False # Found a TEST= line
self.lines_after_test = 0 # Number of lines found after TEST=
- self.warn = [] # List of warnings we have collected
self.linenum = 1 # Output line number we are up to
self.in_section = None # Name of start...END section we are in
self.notes = [] # Series notes
@@ -84,12 +83,20 @@ class PatchStream:
self.commit = None # Current commit
def _add_warn(self, warn):
- """Add a new warning to report to the user
+ """Add a new warning to report to the user about the current commit
+
+ The new warning is added to the current commit if not already present.
Args:
warn (str): Warning to report
+
+ Raises:
+ ValueError: Warning is generated with no commit associated
"""
- self.warn.append(warn)
+ if not self.commit:
+ raise ValueError('Warning outside commit: %s' % warn)
+ if warn not in self.commit.warn:
+ self.commit.warn.append(warn)
def _add_to_series(self, line, name, value):
"""Add a new Series-xxx tag.
@@ -614,7 +621,7 @@ def fix_patch(backup_dir, fname, series, cmt):
if backup_dir:
shutil.copy(fname, os.path.join(backup_dir, os.path.basename(fname)))
shutil.move(tmpname, fname)
- return pst.warn
+ return cmt.warn
def fix_patches(series, fnames):
"""Fix up a list of patches identified by filenames