summaryrefslogtreecommitdiff
path: root/extra/make-changelog.py
blob: 7bf99bcc1b095768ca366534e1a79affff4289a6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#!/usr/bin/python
# -*- encoding: utf-8 -*-

import git
import sys
from collections import defaultdict
from textwrap import wrap
from email.Utils import formatdate

repo = git.Repo('.')
start = git.Commit(repo, sys.argv[1])
end = git.Commit(repo, 'HEAD')


curlog = repo.log(end)
oldlog = repo.log(start)

changelog = defaultdict(list)

for id in repo.commits_between(start, end):
    commit = git.Commit(repo, id)
    changelog[commit.author.name].append(commit.summary)

print 'bash-completion (X.Y)'
print

for author in sorted(changelog.keys()):
    print "  [ %s ]" % author
    for log in changelog[author]:
        print '\n'.join(wrap(log, initial_indent='  * ', subsequent_indent='    '))
    print

print ' -- David Paleino <d.paleino@gmail.com> ', formatdate(localtime=True)