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)

-- 


Reply via email to