release.py: strip trailing whitespace from ChangeLog.
authorW. Trevor King <wking@tremily.us>
Fri, 26 Oct 2012 02:40:49 +0000 (22:40 -0400)
committerW. Trevor King <wking@tremily.us>
Fri, 26 Oct 2012 02:44:15 +0000 (22:44 -0400)
release.py

index 1a87d3cd4b18d9b8a6e652dc1a706ee2fdf63efe..1dee068edac95cc00cc4e8b2132a52240563c526 100755 (executable)
@@ -18,6 +18,7 @@
 # You should have received a copy of the GNU General Public License along with
 # Bugs Everywhere.  If not, see <http://www.gnu.org/licenses/>.
 
+import codecs
 import optparse
 import os
 import os.path
@@ -103,9 +104,12 @@ def make_changelog(filename, tag):
     by hand is just too slow.
     """
     print 'generate ChangeLog file', filename, 'up to tag', tag
-    invoke(['git', 'log', '--no-merges',
-            '%s..%s' % (INITIAL_COMMIT, tag)],
-           stdout=open(filename, 'w')),
+    status,stdout,stderr = invoke(
+        ['git', 'log', '--no-merges', '{}..{}'.format(INITIAL_COMMIT, tag)])
+    with codecs.open(filename, 'w', 'utf-8') as f:
+        for line in stdout.splitlines():
+            f.write(line.rstrip())
+            f.write(u'\n')
 
 def set_vcs_name(be_dir, vcs_name='None'):
     """Exported directory is not a git repository, so set vcs_name to