diff options
Diffstat (limited to 'Rakefile')
-rw-r--r-- | Rakefile | 15 |
1 files changed, 15 insertions, 0 deletions
@@ -37,3 +37,18 @@ task :ragel do raise "Failed to build C source" unless File.exist? target end end + +desc 'prints RDoc-formatted history' +task :history do + tags = `git tag -l`.split(/\n/).grep(/^v[\d\.]+$/).reverse + timefmt = '%Y-%m-%d %H:%M UTC' + tags.each do |tag| + header, subject, body = `git cat-file tag #{tag}`.split(/\n\n/, 3) + tagger = header.split(/\n/).grep(/^tagger /).first.split(/\s/) + time = Time.at(tagger[-2].to_i).utc + puts "=== #{tag.sub(/^v/, '')} / #{time.strftime(timefmt)}" + puts "" + puts body ? body.gsub(/^/sm, " ") : " initial" + puts "" + end +end |