Files
scylladb/scripts/apply-mail.py
Avi Kivity a9a230afbe scripts: introduce script to apply email, working around google groups brokeness
Google Groups recently started rewriting the From: header, garbaging
our git log. This script rewrites it back, using the Reply-To header
as a still working source.

Closes #11416
2022-08-31 14:47:24 +03:00

36 lines
757 B
Python
Executable File

#!/usr/bin/python3
import email
import argparse
import re
import tempfile
import os
argparser = argparse.ArgumentParser()
argparser.add_argument('emails', metavar='FILE', nargs='+',
help='Files with email message containing a patch')
args = argparser.parse_args()
bad_google = re.compile(r'".* via .*" <.*@googlegroups.com>')
temps = []
for email_file in args.emails:
e = email.message_from_file(open(email_file))
author = e.get('From')
m = re.fullmatch(bad_google, author)
if m:
e.replace_header('From', e.get('Reply-To'))
o = tempfile.NamedTemporaryFile()
o.write(bytes(e))
temps.append(o)
names = str.join(' ', [f.name for f in temps])
os.system(f'git am -3mi {names}')