diff options
| -rw-r--r-- | tools/patman/README | 9 | ||||
| -rw-r--r-- | tools/patman/patchstream.py | 2 | ||||
| -rw-r--r-- | tools/patman/series.py | 9 | 
3 files changed, 16 insertions, 4 deletions
| diff --git a/tools/patman/README b/tools/patman/README index d4e7f36c3..8cffcd1f3 100644 --- a/tools/patman/README +++ b/tools/patman/README @@ -225,9 +225,16 @@ Series-changes: n  	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: diff --git a/tools/patman/patchstream.py b/tools/patman/patchstream.py index fc7492e95..7334ed30e 100644 --- a/tools/patman/patchstream.py +++ b/tools/patman/patchstream.py @@ -46,7 +46,7 @@ re_cover = re.compile('^Cover-letter:')  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): (.*)') diff --git a/tools/patman/series.py b/tools/patman/series.py index eb5a00c37..783b3dd13 100644 --- a/tools/patman/series.py +++ b/tools/patman/series.py @@ -28,7 +28,7 @@ import terminal  # 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. @@ -167,15 +167,20 @@ class Series(dict):              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: |