Commit make-changelog release helper
This commit is contained in:
parent
3b8ef29ef3
commit
d0c5761e5b
33
extra/make-changelog.py
Executable file
33
extra/make-changelog.py
Executable file
@ -0,0 +1,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)
|
Loading…
x
Reference in New Issue
Block a user