to update the log there and then, knowing that the script will
do the rest.
-Cc: Their Name <email>
+ Cc: Their Name <email>
This copies a single patch to another email address.
+Series-process-log: sort, uniq
+ This tells patman to sort and/or uniq the change logs. It is
+ assumed that each change log entry is only a single line long.
+ Use 'sort' to sort the entries, and 'uniq' to include only
+ unique entries. If omitted, no change log processing is done.
+ Separate each tag with a comma.
+
Various other tags are silently removed, like these Chrome OS and
Gerrit tags:
re_cover_cc = re.compile('^Cover-letter-cc: *(.*)')
# Patch series tag
-re_series = re.compile('^Series-(\w*): *(.*)')
+re_series = re.compile('^Series-([a-z-]*): *(.*)')
# Commit tags that we want to collect and keep
re_tag = re.compile('^(Tested-by|Acked-by|Reviewed-by|Cc): (.*)')
# Series-xxx tags that we understand
valid_series = ['to', 'cc', 'version', 'changes', 'prefix', 'notes', 'name',
- 'cover-cc']
+ 'cover-cc', 'process_log']
class Series(dict):
"""Holds information about a patch series, including all tags.
etc.
"""
final = []
+ process_it = self.get('process_log', '').split(',')
+ process_it = [item.strip() for item in process_it]
need_blank = False
for change in sorted(self.changes, reverse=True):
out = []
for this_commit, text in self.changes[change]:
if commit and this_commit != commit:
continue
- out.append(text)
+ if 'uniq' not in process_it or text not in out:
+ out.append(text)
line = 'Changes in v%d:' % change
have_changes = len(out) > 0
+ if 'sort' in process_it:
+ out = sorted(out)
if have_changes:
out.insert(0, line)
else: