1
0
mirror of https://xff.cz/git/u-boot/ synced 2025-09-02 01:02:19 +02:00

patman: Add all CC addresses to the cover letter

If we're sending a cover letter make sure to CC everyone that we're
CCing on each of the individual patches.

Signed-off-by: Doug Anderson <dianders@chromium.org>
This commit is contained in:
Doug Anderson
2012-12-03 14:40:43 +00:00
committed by Simon Glass
parent d94566a111
commit 3118725515
3 changed files with 15 additions and 2 deletions

View File

@@ -226,6 +226,9 @@ Date: Mon Nov 7 23:18:44 2011 -0500
will create a patch which is copied to x86, arm, sandbox, mikef, ag and will create a patch which is copied to x86, arm, sandbox, mikef, ag and
afleming. afleming.
If you have a cover letter it will get sent to the union of the CC lists of
all of the other patches.
Example Work Flow Example Work Flow
================= =================

View File

@@ -140,7 +140,7 @@ else:
options.count + options.start): options.count + options.start):
ok = False ok = False
cc_file = series.MakeCcFile(options.process_tags) cc_file = series.MakeCcFile(options.process_tags, cover_fname)
# Email the patches out (giving the user time to check / cancel) # Email the patches out (giving the user time to check / cancel)
cmd = '' cmd = ''

View File

@@ -19,6 +19,7 @@
# MA 02111-1307 USA # MA 02111-1307 USA
# #
import itertools
import os import os
import gitutil import gitutil
@@ -138,6 +139,9 @@ class Series(dict):
print 'Prefix:\t ', self.get('prefix') print 'Prefix:\t ', self.get('prefix')
if self.cover: if self.cover:
print 'Cover: %d lines' % len(self.cover) print 'Cover: %d lines' % len(self.cover)
all_ccs = itertools.chain(*self._generated_cc.values())
for email in set(all_ccs):
print ' Cc: ',email
if cmd: if cmd:
print 'Git command: %s' % cmd print 'Git command: %s' % cmd
@@ -201,27 +205,33 @@ class Series(dict):
str = 'Change log exists, but no version is set' str = 'Change log exists, but no version is set'
print col.Color(col.RED, str) print col.Color(col.RED, str)
def MakeCcFile(self, process_tags): def MakeCcFile(self, process_tags, cover_fname):
"""Make a cc file for us to use for per-commit Cc automation """Make a cc file for us to use for per-commit Cc automation
Also stores in self._generated_cc to make ShowActions() faster. Also stores in self._generated_cc to make ShowActions() faster.
Args: Args:
process_tags: Process tags as if they were aliases process_tags: Process tags as if they were aliases
cover_fname: If non-None the name of the cover letter.
Return: Return:
Filename of temp file created Filename of temp file created
""" """
# Look for commit tags (of the form 'xxx:' at the start of the subject) # Look for commit tags (of the form 'xxx:' at the start of the subject)
fname = '/tmp/patman.%d' % os.getpid() fname = '/tmp/patman.%d' % os.getpid()
fd = open(fname, 'w') fd = open(fname, 'w')
all_ccs = []
for commit in self.commits: for commit in self.commits:
list = [] list = []
if process_tags: if process_tags:
list += gitutil.BuildEmailList(commit.tags) list += gitutil.BuildEmailList(commit.tags)
list += gitutil.BuildEmailList(commit.cc_list) list += gitutil.BuildEmailList(commit.cc_list)
all_ccs += list
print >>fd, commit.patch, ', '.join(list) print >>fd, commit.patch, ', '.join(list)
self._generated_cc[commit.patch] = list self._generated_cc[commit.patch] = list
if cover_fname:
print >>fd, cover_fname, ', '.join(set(all_ccs))
fd.close() fd.close()
return fname return fname