tasn pushed a commit to branch master. http://git.enlightenment.org/admin/release-management.git/commit/?id=a8a21d9de729006b79f8ce264922411ca1e044d2
commit a8a21d9de729006b79f8ce264922411ca1e044d2 Author: Tom Hacohen <[email protected]> Date: Tue Mar 11 12:23:39 2014 +0000 Add functions to get commit message and generate news entry. --- generate_news.py | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/generate_news.py b/generate_news.py new file mode 100755 index 0000000..08f31ff --- /dev/null +++ b/generate_news.py @@ -0,0 +1,36 @@ +#!/usr/bin/env python2 + +import subprocess +import re + +def git_commit_message_get(commit): + ret = {} + crange = "{0}^..{0}".format(commit) + out = subprocess.check_output(['git', 'log', '--format=format:%s%n%b', crange]) + ret['subject'], ret['message'] = out.split('\n', 1) + return ret + +def news_entry_get(commit): + log = git_commit_message_get(commit) + extra_info = [] + + for match in re.finditer('CID ?\d+|T\d+', log['message']): + extra_info.append(match.group(0).replace(' ', '')) + + if not extra_info: + return log['subject'] + else: + return "{} ({})".format(log['subject'], ', '.join(extra_info)) + +def run(args): + pass + +if __name__ == '__main__': + import argparse + parser = argparse.ArgumentParser(description='NEWS generator') + parser.add_argument('commit_range', + help='The git commit range to work with, e.g: "..efl-1.9".') + + args = parser.parse_args() + + run(args) --
