From 2f960ef8fd00a3bf748e0b16b61acba20b3af455 Mon Sep 17 00:00:00 2001 From: nu774 Date: Sat, 7 Sep 2013 15:57:22 +0900 Subject: [PATCH] updated ChangeLog with new git2changelog.py --- ChangeLog | 176 +++++++++++++++++++++++++++++++++++++++++++++++ git2changelog.py | 40 +++++++++++ 2 files changed, 216 insertions(+) create mode 100755 git2changelog.py diff --git a/ChangeLog b/ChangeLog index e69de29..9a0c82b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -0,0 +1,176 @@ +2013-09-07 nu774 + + * updated ChangeLog with new git2changelog.py [HEAD] + +2013-06-14 nu774 + + * add --moov-before-mdat [v0.3.0] + +2013-03-04 nu774 + + * fix an error message + +2013-03-03 nu774 + + * bump version [v0.2.0] + + * add --gapless-mode + +2013-02-20 nu774 + + * simplify __timeb64 condition + + * use fseeko64() on i686-pc-mingw32 + +2013-02-18 nu774 + + * fix build issue on i686-pc-mingw (struct __timeb64 is missing) + +2013-02-17 nu774 + + * bump version [v0.1.9] + + * fix to accept option -C + +2013-02-16 nu774 + + * bump version [v0.1.8] + + * refine json metadata importing + + * m4af: duplication check on adding tags + +2013-02-15 nu774 + + * add --tag-from-json [v0.1.7] + + * fix implicit int variable decl. + + * update m4af + +2013-02-03 nu774 + + * bump version [v0.1.6] + + * win32: change _wfopen() -> wfsopen() + +2013-01-30 nu774 + + * update README (add note for character encoding) + +2013-01-28 nu774 + + * bump version [v0.1.5] + + * gracefully shutdown on signals + +2013-01-27 nu774 + + * fix MSVC project build issue + +2013-01-25 nu774 + + * bump version [v0.1.4] + + * add --tag-from-file + +2013-01-24 nu774 + + * add --silent + +2013-01-19 nu774 + + * retab + + * bump version [v0.1.3] + + * fix crash on wrong long option, rename --ignore-length to --ignorelength + +2013-01-17 nu774 + + * bump version [v0.1.2] + + * compat_win32: free argv with atexit() + + * take care of COPYRIGHT-SIGN in UTF-8 + +2013-01-15 nu774 + + * bump version [v0.1.1] + + * fix return type of put_type_entry() to void + + * add ADTS header size(7) to output byte length + +2013-01-13 nu774 + + * fix mp4 duration & version calcuration [v0.1.0] + +2013-01-11 nu774 + + * add support for xid + + * support for i686-pc-mingw32 (missing _vscprintf) + +2013-01-10 nu774 + + * bump version [v0.0.9] + + * rename basename() -> aacenc_basename() and move to compat layer + +2013-01-09 nu774 + + * add --tag and --long-tag + + * fix corner case of progress display + + * calculate length from file size + + * raw input support + +2013-01-08 nu774 + + * insert a white space in progress message + +2013-01-07 nu774 + + * fix typo of bitrate-mode option [v0.0.8] + + * more static inlining (missed on the previous commit) [v0.0.7] + + * check error of fread() and fwrite() [v0.0.6] + + * change inline->static inline to follow C99 semantics (for Clang) + + * explicitly add -lfdk-aac to LDADD in Makefile.am + + * add some files to EXTRA_DIST in Makefile.am + + * fixed a typo in usage message [v0.0.5] + +2013-01-06 nu774 + + * add MSVC projects + + * add .gitattributes + + * more tweak on configure.ac and Makefile.am (take care of getopt_long) [v0.0.4] + + * use fstat() to test seekability of input file + + * retrieve bitrate for tool tag with aacEncoder_GetParam() + + * output to current working directory by default + +2013-01-05 nu774 + + * zero clear LIB_INFO before calling aacEncGetLibInfo() [v0.0.3] + + * tweak configure.ac and Makefile.am + + * update version.h [v0.0.2] + + * fixed to clip before converting float to int + + * initial commit [v0.0.1] + diff --git a/git2changelog.py b/git2changelog.py new file mode 100755 index 0000000..91be8c7 --- /dev/null +++ b/git2changelog.py @@ -0,0 +1,40 @@ +#!/usr/bin/env python + +# Copyright (C) 2013 nu774 +# For conditions of distribution and use, see copyright notice in COPYING + +import sys +import re +from subprocess import Popen, PIPE +from itertools import groupby +from collections import namedtuple + +GITLOG_FMT = 'commit %H%nauthor %cn <%ae>%ndate %ad%nsubject %s%nref %d%n%n' +GITLOG_CMD = ['git','log','--date=short','--format={0}'.format(GITLOG_FMT)] + +Commit = namedtuple('Commit', 'commit author date subject ref') + +def parse_gitlog(stream): + re_decode_tag = re.compile(r'(?<=\()([^,)]+)') + commit = dict() + for line in stream: + fields = line.decode('utf-8').rstrip('\r\n').split(' ', 1) + if len(fields) == 2: + key, value = fields + if key == 'ref': + m = re_decode_tag.search(value) + value = ' [{0}]'.format(m.group()) if m else '' + commit[key] = value + elif commit: + yield Commit(**commit) + commit = dict() + +output=sys.stdout.write + +with Popen(GITLOG_CMD, shell=False, stdout=PIPE).stdout as pipe: + commits = parse_gitlog(pipe) + commits_by_date_author = groupby(commits, key=lambda x: (x.date, x.author)) + for (date, author), commits in commits_by_date_author: + output('{0} {1}\n\n'.format(date, author)) + for c in commits: + output(' * {0}{1}\n\n'.format(c.subject, c.ref))