Sha256: 04308c04e9c434e685dcded5f9aa26fa69e32cacfc1f979bb053a221e997f78c
Contents?: true
Size: 1.15 KB
Versions: 5
Compression:
Stored size: 1.15 KB
Contents
module Wrongdoc::Release self.extend Wrongdoc::History def self.changes(io) vtags = tags.map { |tag| tag[:tag] =~ /\Av/ and tag[:tag] }.sort cmds = [] if vtags.empty? cmds << %w(git log) else version = vtags[-1] prev = vtags[vtags.index(version) - 1] if prev cmds << [ 'git', 'diff', '--stat', prev, version ] cmds << [ 'git', 'log', "#{prev}..#{version}" ] else cmds << [ 'git', 'log', version ] end end io.sync = true cmds.each_with_index do |cmd,i| i > 0 and io.puts pid, status = Process.waitpid2(fork do if io.fileno != $stdout.fileno $stdout.reopen(io) io.close end exec *cmd end) status.success? or abort status.inspect end end def self.notes(io, opts) spec = Gem::Specification.load(Dir['*.gemspec'][0]) io.puts spec.description.strip io.puts io.puts "* #{spec.homepage}" io.puts "* #{spec.email}" io.puts "* #{opts[:git_url] || opts[:cgit_url]}" _, _, body = `git cat-file tag v#{spec.version}`.split(/\n\n/, 3) io.print "\nChanges:\n\n" io.puts body end end
Version data entries
5 entries across 5 versions & 1 rubygems