Merge branch 'new-features'

This commit is contained in:
Petr Korolev 2014-11-19 13:55:13 +02:00
commit c58ec0dcbb
2 changed files with 17 additions and 12 deletions

View File

@ -176,13 +176,6 @@ module GitHubChangelogGenerator
older_tag_time = self.get_time_of_tag(older_tag) older_tag_time = self.get_time_of_tag(older_tag)
newer_tag_time = self.get_time_of_tag(newer_tag) newer_tag_time = self.get_time_of_tag(newer_tag)
# if we mix up tags order - lits fix it!
# if older_tag_time < newer_tag_time
# older_tag, newer_tag = newer_tag, older_tag
# older_tag_time, newer_tag_time = newer_tag_time, older_tag_time
# puts "Swap tags!"
# end
newer_tag_name = newer_tag['name'] newer_tag_name = newer_tag['name']
pull_requests = Array.new(@pull_requests) pull_requests = Array.new(@pull_requests)
@ -265,11 +258,19 @@ module GitHubChangelogGenerator
if @options[:pulls] if @options[:pulls]
# Generate pull requests: # Generate pull requests:
if pull_requests if pull_requests
if @options[:author]
pull_requests.each { |dict|
merge = "#{@options[:merge_prefix]}#{dict[:title]} [\\##{dict[:number]}](#{dict.html_url}) ([#{dict.user.login}](#{dict.user.html_url}))\n\n"
log += "- #{merge}"
}
else
pull_requests.each { |dict| pull_requests.each { |dict|
merge = "#{@options[:merge_prefix]}#{dict[:title]} [\\##{dict[:number]}](#{dict.html_url})\n\n" merge = "#{@options[:merge_prefix]}#{dict[:title]} [\\##{dict[:number]}](#{dict.html_url})\n\n"
log += "- #{merge}" log += "- #{merge}"
} }
end end
end
end end
if @options[:issues] if @options[:issues]

View File

@ -1,11 +1,12 @@
#!/usr/bin/env ruby #!/usr/bin/env ruby
require 'optparse' require 'optparse'
require 'PP'
require_relative 'version' require_relative 'version'
module GitHubChangelogGenerator module GitHubChangelogGenerator
class Parser class Parser
def self.parse_options def self.parse_options
options = {:tag1 => nil, :tag2 => nil, :format => '%d/%m/%y', :output => 'CHANGELOG.md', :labels => %w(bug enhancement), :pulls => true, :issues => true, :verbose => true, :add_issues_wo_labels => true, :merge_prefix => '*Merged pull-request:* '} options = {:tag1 => nil, :tag2 => nil, :format => '%d/%m/%y', :output => 'CHANGELOG.md', :labels => %w(bug enhancement), :pulls => true, :issues => true, :verbose => true, :add_issues_wo_labels => true, :merge_prefix => '*Merged pull-request:* ', :author => true}
parser = OptionParser.new { |opts| parser = OptionParser.new { |opts|
opts.banner = 'Usage: changelog_generator [options]' opts.banner = 'Usage: changelog_generator [options]'
@ -37,6 +38,9 @@ module GitHubChangelogGenerator
opts.on('-l', '--last-changes', 'Generate log between last 2 tags only') do |last| opts.on('-l', '--last-changes', 'Generate log between last 2 tags only') do |last|
options[:last] = last options[:last] = last
end end
opts.on('--[no-]author', 'Add author of pull-request in the end. Default is true') do |author|
options[:last] = author
end
opts.on('-f', '--date-format [FORMAT]', 'Date format. Default is %d/%m/%y') do |last| opts.on('-f', '--date-format [FORMAT]', 'Date format. Default is %d/%m/%y') do |last|
options[:format] = last options[:format] = last
end end