]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - glsdk/glsdk-u-boot.git/commitdiff
patman: Add all CC addresses to the cover letter
authorDoug Anderson <dianders@chromium.org>
Mon, 3 Dec 2012 14:40:43 +0000 (14:40 +0000)
committerSimon Glass <sjg@chromium.org>
Thu, 31 Jan 2013 23:23:39 +0000 (15:23 -0800)
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>
tools/patman/README
tools/patman/patman.py
tools/patman/series.py

index dc3957ce6fd0442639576b59bdb8b0b9c302bae3..5b6eba04891c6a57a703a0e942f32ccd478ebac9 100644 (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
 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
 =================
index de8314a169886124a551635ad4e183097a28c795..4181d807897a7e98324dcc65dd82a9597c306ad5 100755 (executable)
@@ -140,7 +140,7 @@ else:
             options.count + options.start):
         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)
     cmd = ''
index ad8288d3cc37106933527185bfe25e517cbb5166..083af0f6340d3c4342b988390b50da5775d478a3 100644 (file)
@@ -19,6 +19,7 @@
 # MA 02111-1307 USA
 #
 
+import itertools
 import os
 
 import gitutil
@@ -138,6 +139,9 @@ class Series(dict):
         print 'Prefix:\t ', self.get('prefix')
         if 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:
             print 'Git command: %s' % cmd
 
@@ -201,27 +205,33 @@ class Series(dict):
             str = 'Change log exists, but no version is set'
             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
 
         Also stores in self._generated_cc to make ShowActions() faster.
 
         Args:
             process_tags: Process tags as if they were aliases
+            cover_fname: If non-None the name of the cover letter.
         Return:
             Filename of temp file created
         """
         # Look for commit tags (of the form 'xxx:' at the start of the subject)
         fname = '/tmp/patman.%d' % os.getpid()
         fd = open(fname, 'w')
+        all_ccs = []
         for commit in self.commits:
             list = []
             if process_tags:
                 list += gitutil.BuildEmailList(commit.tags)
             list += gitutil.BuildEmailList(commit.cc_list)
+            all_ccs += list
             print >>fd, commit.patch, ', '.join(list)
             self._generated_cc[commit.patch] = list
 
+        if cover_fname:
+            print >>fd, cover_fname, ', '.join(set(all_ccs))
+
         fd.close()
         return fname