github_changelog_generator 1.3.4 → 1.3.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 106f098e39f0d85b3883d100fb137b551b4de80d
4
- data.tar.gz: 8f814c78ce1d417382cd05c68f8c010711543761
3
+ metadata.gz: 3172a56b61093399473b1e3a83d9f255680f1eca
4
+ data.tar.gz: d9d16eb6f5d0287186baf99e7a9340862ce3aa13
5
5
  SHA512:
6
- metadata.gz: fba2170bb94421414e922012774a19b4323da6eb0afe36189dd004836cf18f175f04ffeb733288ad616a3e3c976a23a119745001c7647c27d4690f78cf0477c7
7
- data.tar.gz: fddffe99525aba01e1fd10adec5751aa1c05bb88967635be295e49ec001b5596111f8b68c943bec0af926ab89b561b59f2d9f6cdf527fbfbf4cd24fe74a188bb
6
+ metadata.gz: 0bb1c8194bf19cdffc3fec92265c6c3f7b24178ad39a17495083719e3304d814802fc9489bb483c7fb8220df78d9e6e299fe104e940a471227a825dacb34fc44
7
+ data.tar.gz: 78c91169445ec8836b92fb1a64c01be399f8f170094a466d4f216d029652749556bd54bcf45a28e799b8c8dcca5f65bcaaeb179791d8f417dffe2d15ba5c2fae
data/CHANGELOG.md CHANGED
@@ -1,13 +1,29 @@
1
1
  # Change Log
2
2
 
3
+ ## [1.3.4](https://github.com/skywinder/Github-Changelog-Generator/tree/1.3.4) (2015-03-03)
4
+
5
+ [Full Changelog](https://github.com/skywinder/Github-Changelog-Generator/compare/1.3.3...1.3.4)
6
+
7
+ **Fixed bugs:**
8
+
9
+ - --no-issues appears to break PRs [\#59](https://github.com/skywinder/Github-Changelog-Generator/issues/59)
10
+
3
11
  ## [1.3.3](https://github.com/skywinder/Github-Changelog-Generator/tree/1.3.3) (2015-03-03)
4
12
 
5
13
  [Full Changelog](https://github.com/skywinder/Github-Changelog-Generator/compare/1.3.2...1.3.3)
6
14
 
15
+ **Closed issues:**
16
+
17
+ - Add \# character to encapsulate list. [\#58](https://github.com/skywinder/Github-Changelog-Generator/issues/58)
18
+
7
19
  ## [1.3.2](https://github.com/skywinder/Github-Changelog-Generator/tree/1.3.2) (2015-03-03)
8
20
 
9
21
  [Full Changelog](https://github.com/skywinder/Github-Changelog-Generator/compare/1.3.1...1.3.2)
10
22
 
23
+ **Fixed bugs:**
24
+
25
+ - generation failed if github commit api return `404 Not Found` [\#57](https://github.com/skywinder/Github-Changelog-Generator/issues/57)
26
+
11
27
  ## [1.3.1](https://github.com/skywinder/Github-Changelog-Generator/tree/1.3.1) (2015-02-27)
12
28
 
13
29
  [Full Changelog](https://github.com/skywinder/Github-Changelog-Generator/compare/1.3.0...1.3.1)
@@ -16,6 +32,20 @@
16
32
 
17
33
  [Full Changelog](https://github.com/skywinder/Github-Changelog-Generator/compare/1.2.8...1.3.0)
18
34
 
35
+ **Implemented enhancements:**
36
+
37
+ - Do not show `Unreleased` section, when it's empty. [\#55](https://github.com/skywinder/Github-Changelog-Generator/issues/55)
38
+
39
+ - Separate list exclude and include labels [\#52](https://github.com/skywinder/Github-Changelog-Generator/issues/52)
40
+
41
+ - Unreleased issues in separate section [\#47](https://github.com/skywinder/Github-Changelog-Generator/issues/47)
42
+
43
+ - Separate by lists: Enhancements, Bugs, Pull requests. [\#31](https://github.com/skywinder/Github-Changelog-Generator/issues/31)
44
+
45
+ **Fixed bugs:**
46
+
47
+ - Test pull request with invalid label \(\#26\) in changelog appeared. [\#44](https://github.com/skywinder/Github-Changelog-Generator/issues/44)
48
+
19
49
  **Merged pull requests:**
20
50
 
21
51
  - Implement filtering of Pull Requests by milestones [\#50](https://github.com/skywinder/Github-Changelog-Generator/pull/50) ([skywinder](https://github.com/skywinder))
@@ -24,6 +54,10 @@
24
54
 
25
55
  [Full Changelog](https://github.com/skywinder/Github-Changelog-Generator/compare/1.2.7...1.2.8)
26
56
 
57
+ **Closed issues:**
58
+
59
+ - Bugs, that closed simultaneously with push not appeared in correct version. [\#37](https://github.com/skywinder/Github-Changelog-Generator/issues/37)
60
+
27
61
  **Merged pull requests:**
28
62
 
29
63
  - Feature/fix 37 [\#49](https://github.com/skywinder/Github-Changelog-Generator/pull/49) ([skywinder](https://github.com/skywinder))
@@ -50,6 +84,14 @@
50
84
 
51
85
  [Full Changelog](https://github.com/skywinder/Github-Changelog-Generator/compare/1.2.4...1.2.5)
52
86
 
87
+ **Implemented enhancements:**
88
+
89
+ - Use milestone to specify in which version bug was fixed [\#22](https://github.com/skywinder/Github-Changelog-Generator/issues/22)
90
+
91
+ **Fixed bugs:**
92
+
93
+ - Error when trying to generate log for repo without tags [\#32](https://github.com/skywinder/Github-Changelog-Generator/issues/32)
94
+
53
95
  **Merged pull requests:**
54
96
 
55
97
  - PrettyPrint class is included using lowercase 'pp' [\#43](https://github.com/skywinder/Github-Changelog-Generator/pull/43) ([schwing](https://github.com/schwing))
@@ -60,22 +102,40 @@
60
102
 
61
103
  [Full Changelog](https://github.com/skywinder/Github-Changelog-Generator/compare/1.2.3...1.2.4)
62
104
 
63
- **Merged pull requests:**
105
+ **Fixed bugs:**
64
106
 
65
- - Implement async fetching [\#39](https://github.com/skywinder/Github-Changelog-Generator/pull/39) ([skywinder](https://github.com/skywinder))
107
+ - Sometimes user is NULL during merges [\#41](https://github.com/skywinder/Github-Changelog-Generator/issues/41)
108
+
109
+ - Crash when try generate log for rails [\#35](https://github.com/skywinder/Github-Changelog-Generator/issues/35)
66
110
 
67
111
  ## [1.2.3](https://github.com/skywinder/Github-Changelog-Generator/tree/1.2.3) (2014-12-16)
68
112
 
69
113
  [Full Changelog](https://github.com/skywinder/Github-Changelog-Generator/compare/1.2.2...1.2.3)
70
114
 
115
+ **Implemented enhancements:**
116
+
117
+ - Add ability to run with one parameter instead -u -p [\#38](https://github.com/skywinder/Github-Changelog-Generator/issues/38)
118
+
119
+ - Detailed output [\#33](https://github.com/skywinder/Github-Changelog-Generator/issues/33)
120
+
121
+ **Fixed bugs:**
122
+
123
+ - Docs lacking or basic behavior not as advertised [\#30](https://github.com/skywinder/Github-Changelog-Generator/issues/30)
124
+
71
125
  **Merged pull requests:**
72
126
 
127
+ - Implement async fetching [\#39](https://github.com/skywinder/Github-Changelog-Generator/pull/39) ([skywinder](https://github.com/skywinder))
128
+
73
129
  - Fix crash when user is NULL [\#40](https://github.com/skywinder/Github-Changelog-Generator/pull/40) ([skywinder](https://github.com/skywinder))
74
130
 
75
131
  ## [1.2.2](https://github.com/skywinder/Github-Changelog-Generator/tree/1.2.2) (2014-12-10)
76
132
 
77
133
  [Full Changelog](https://github.com/skywinder/Github-Changelog-Generator/compare/1.2.1...1.2.2)
78
134
 
135
+ **Fixed bugs:**
136
+
137
+ - Encapsulate \[ \> \* \_ \ \] signs in issues names [\#34](https://github.com/skywinder/Github-Changelog-Generator/issues/34)
138
+
79
139
  **Merged pull requests:**
80
140
 
81
141
  - Add a Bitdeli Badge to README [\#36](https://github.com/skywinder/Github-Changelog-Generator/pull/36) ([bitdeli-chef](https://github.com/bitdeli-chef))
@@ -84,6 +144,10 @@
84
144
 
85
145
  [Full Changelog](https://github.com/skywinder/Github-Changelog-Generator/compare/1.2.0...1.2.1)
86
146
 
147
+ **Fixed bugs:**
148
+
149
+ - Script fills changelog only for first 30 tags. [\#20](https://github.com/skywinder/Github-Changelog-Generator/issues/20)
150
+
87
151
  **Merged pull requests:**
88
152
 
89
153
  - Issues for last tag not in list [\#29](https://github.com/skywinder/Github-Changelog-Generator/pull/29) ([skywinder](https://github.com/skywinder))
@@ -106,6 +170,10 @@
106
170
 
107
171
  [Full Changelog](https://github.com/skywinder/Github-Changelog-Generator/compare/1.1.2...1.1.4)
108
172
 
173
+ **Implemented enhancements:**
174
+
175
+ - Implement ability to retrieve GitHub token from ENV variable \(to not put it to script directly\) [\#19](https://github.com/skywinder/Github-Changelog-Generator/issues/19)
176
+
109
177
  **Merged pull requests:**
110
178
 
111
179
  - Sort tags by date [\#23](https://github.com/skywinder/Github-Changelog-Generator/pull/23) ([skywinder](https://github.com/skywinder))
@@ -136,23 +204,39 @@
136
204
 
137
205
  [Full Changelog](https://github.com/skywinder/Github-Changelog-Generator/compare/1.0.1...1.1.0)
138
206
 
139
- ## [1.0.1](https://github.com/skywinder/Github-Changelog-Generator/tree/1.0.1) (2014-11-10)
207
+ **Implemented enhancements:**
140
208
 
141
- [Full Changelog](https://github.com/skywinder/Github-Changelog-Generator/compare/1.0.0...1.0.1)
209
+ - Detect username and project form origin [\#11](https://github.com/skywinder/Github-Changelog-Generator/issues/11)
142
210
 
143
- **Merged pull requests:**
211
+ **Fixed bugs:**
144
212
 
145
- - Implement support of different tags. [\#8](https://github.com/skywinder/Github-Changelog-Generator/pull/8) ([skywinder](https://github.com/skywinder))
213
+ - Bug with wrong credentials in 1.0.1 [\#12](https://github.com/skywinder/Github-Changelog-Generator/issues/12)
214
+
215
+ - Markdown formating in the last line wrong [\#9](https://github.com/skywinder/Github-Changelog-Generator/issues/9)
216
+
217
+ ## [1.0.1](https://github.com/skywinder/Github-Changelog-Generator/tree/1.0.1) (2014-11-10)
218
+
219
+ [Full Changelog](https://github.com/skywinder/Github-Changelog-Generator/compare/1.0.0...1.0.1)
146
220
 
147
221
  ## [1.0.0](https://github.com/skywinder/Github-Changelog-Generator/tree/1.0.0) (2014-11-07)
148
222
 
149
223
  [Full Changelog](https://github.com/skywinder/Github-Changelog-Generator/compare/0.1.0...1.0.0)
150
224
 
225
+ **Implemented enhancements:**
226
+
227
+ - Add support for fixed issues and implemented enchanments. [\#6](https://github.com/skywinder/Github-Changelog-Generator/issues/6)
228
+
229
+ - Implement option to specify output filename [\#4](https://github.com/skywinder/Github-Changelog-Generator/issues/4)
230
+
231
+ **Fixed bugs:**
232
+
233
+ - Last tag not appeared in changelog [\#5](https://github.com/skywinder/Github-Changelog-Generator/issues/5)
234
+
151
235
  **Merged pull requests:**
152
236
 
153
- - Add support for issues in CHANGELOG [\#7](https://github.com/skywinder/Github-Changelog-Generator/pull/7) ([skywinder](https://github.com/skywinder))
237
+ - Implement support of different tags. [\#8](https://github.com/skywinder/Github-Changelog-Generator/pull/8) ([skywinder](https://github.com/skywinder))
154
238
 
155
- - Fix parsing date of pull request [\#3](https://github.com/skywinder/Github-Changelog-Generator/pull/3) ([skywinder](https://github.com/skywinder))
239
+ - Add support for issues in CHANGELOG [\#7](https://github.com/skywinder/Github-Changelog-Generator/pull/7) ([skywinder](https://github.com/skywinder))
156
240
 
157
241
  ## [0.1.0](https://github.com/skywinder/Github-Changelog-Generator/tree/0.1.0) (2014-11-07)
158
242
 
@@ -160,6 +244,8 @@
160
244
 
161
245
  **Merged pull requests:**
162
246
 
247
+ - Fix parsing date of pull request [\#3](https://github.com/skywinder/Github-Changelog-Generator/pull/3) ([skywinder](https://github.com/skywinder))
248
+
163
249
  - Add changelog generation for last tag [\#2](https://github.com/skywinder/Github-Changelog-Generator/pull/2) ([skywinder](https://github.com/skywinder))
164
250
 
165
251
  - Add option \(-o --output\) to specify name of the output file. [\#1](https://github.com/skywinder/Github-Changelog-Generator/pull/1) ([skywinder](https://github.com/skywinder))
data/lib/CHANGELOG.md CHANGED
@@ -1,24 +1,22 @@
1
1
  # Change Log
2
2
 
3
- ## [Unreleased](https://github.com/nantas/changelog_test/tree/HEAD) (2015-03-03)
3
+ ## [v0.0.3](https://github.com/skywinder/changelog_test/tree/v0.0.3) (2015-03-04)
4
4
 
5
- [Full Changelog](https://github.com/nantas/changelog_test/compare/v0.0.1...HEAD)
5
+ [Full Changelog](https://github.com/skywinder/changelog_test/compare/v0.0.2...v0.0.3)
6
6
 
7
- **Fixed bugs:**
7
+ **Merged pull requests:**
8
8
 
9
- - test issue closed by a commit that will be gone [\#3](https://github.com/nantas/changelog_test/issues/3)
9
+ - fix \#3. hotfix. Should appear in v0.0.3 [\#4](https://github.com/skywinder/changelog_test/pull/4) ([skywinder](https://github.com/skywinder))
10
10
 
11
- **Closed issues:**
11
+ ## [v0.0.2](https://github.com/skywinder/changelog_test/tree/v0.0.2) (2015-03-04)
12
12
 
13
- - test issue that will be closed in another repo [\#4](https://github.com/nantas/changelog_test/issues/4)
13
+ [Full Changelog](https://github.com/skywinder/changelog_test/compare/v0.0.1...v0.0.2)
14
14
 
15
- ## [v0.0.1](https://github.com/nantas/changelog_test/tree/v0.0.1) (2015-03-02)
15
+ **Merged pull requests:**
16
16
 
17
- **Fixed bugs:**
17
+ - Here is a test hotfix should appear in v.0.0.2 [\#2](https://github.com/skywinder/changelog_test/pull/2) ([skywinder](https://github.com/skywinder))
18
18
 
19
- - test issue that will be closed by a commit [\#2](https://github.com/nantas/changelog_test/issues/2)
20
-
21
- - test issue that will close normally [\#1](https://github.com/nantas/changelog_test/issues/1)
19
+ ## [v0.0.1](https://github.com/skywinder/changelog_test/tree/v0.0.1) (2015-03-02)
22
20
 
23
21
 
24
22
 
@@ -49,12 +49,12 @@ module GitHubChangelogGenerator
49
49
 
50
50
  if @options[:issues]
51
51
  @issues = self.get_filtered_issues
52
- fetch_event_for_issues(@issues)
53
- detect_actual_closed_dates
54
52
  else
55
53
  @issues = []
56
54
  end
57
55
 
56
+ fetch_event_for_issues_and_pr
57
+ detect_actual_closed_dates
58
58
  @tag_times_hash = {}
59
59
  end
60
60
 
@@ -65,11 +65,18 @@ module GitHubChangelogGenerator
65
65
  end
66
66
 
67
67
  threads = []
68
+
68
69
  @issues.each { |issue|
69
70
  threads << Thread.new {
70
71
  find_closed_date_by_commit(issue)
71
72
  }
72
73
  }
74
+
75
+ @pull_requests.each { |pull_request|
76
+ threads << Thread.new {
77
+ find_closed_date_by_commit(pull_request)
78
+ }
79
+ }
73
80
  threads.each { |thr| thr.join }
74
81
 
75
82
  if @options[:verbose]
@@ -79,9 +86,11 @@ module GitHubChangelogGenerator
79
86
 
80
87
  def find_closed_date_by_commit(issue)
81
88
  unless issue['events'].nil?
89
+ #if it's PR -> then find "merged event", in case of usual issue -> fond closed date
90
+ compare_string = issue[:merged_at].nil? ? 'closed' : 'merged'
82
91
  # reverse! - to find latest closed event. (event goes in date order)
83
92
  issue['events'].reverse!.each { |event|
84
- if event[:event].eql? 'closed'
93
+ if event[:event].eql? compare_string
85
94
  if event[:commit_id].nil?
86
95
  issue[:actual_date] = issue[:closed_at]
87
96
  else
@@ -111,7 +120,7 @@ module GitHubChangelogGenerator
111
120
 
112
121
  def fetch_merged_at_pull_requests
113
122
  if @options[:verbose]
114
- print "Fetching pull requests...\r"
123
+ print "Fetching merged dates...\r"
115
124
  end
116
125
  response = @github.pull_requests.list @options[:user], @options[:project], :state => 'closed'
117
126
 
@@ -120,21 +129,22 @@ module GitHubChangelogGenerator
120
129
  response.each_page do |page|
121
130
  page_i += PER_PAGE_NUMBER
122
131
  count_pages = response.count_pages
123
- print "Fetching pull requests... #{page_i}/#{count_pages * PER_PAGE_NUMBER}\r"
132
+ print "Fetching merged dates... #{page_i}/#{count_pages * PER_PAGE_NUMBER}\r"
124
133
  pull_requests.concat(page)
125
134
  end
126
135
  print " \r"
127
136
 
128
- if @options[:verbose]
129
- puts "Received pull requests: #{pull_requests.count}"
130
- end
131
-
132
137
  @pull_requests.each { |pr|
133
138
  fetched_pr = pull_requests.find { |fpr|
134
139
  fpr.number == pr.number }
135
140
  pr[:merged_at] = fetched_pr[:merged_at]
136
141
  pull_requests.delete(fetched_pr)
137
142
  }
143
+
144
+ if @options[:verbose]
145
+ puts 'Fetching merged dates... Done!'
146
+ end
147
+
138
148
  end
139
149
 
140
150
  def get_filtered_pull_requests
@@ -171,43 +181,6 @@ module GitHubChangelogGenerator
171
181
  end
172
182
 
173
183
  filtered_pull_requests
174
- #
175
- # #
176
- #
177
- #
178
- # unless @options[:pull_request_labels].nil?
179
- #
180
- # if @options[:verbose]
181
- # puts 'Filter all pull requests by labels.'
182
- # end
183
- #
184
- # filtered_pull_requests = filtered_pull_requests.select { |pull_request|
185
- # #fetch this issue to get labels array
186
- # issue = @github.issues.get @options[:user], @options[:project], pull_request.number
187
- #
188
- # #compare is there any labels from @options[:labels] array
189
- # issue_without_labels = !issue.labels.map { |label| label.name }.any?
190
- #
191
- # if @options[:verbose]
192
- # puts "Filter request \##{issue.number}."
193
- # end
194
- #
195
- # if @options[:pull_request_labels].any?
196
- # select_by_label = (issue.labels.map { |label| label.name } & @options[:pull_request_labels]).any?
197
- # else
198
- # select_by_label = false
199
- # end
200
- #
201
- # select_by_label | issue_without_labels
202
- # }
203
- #
204
- # if @options[:verbose]
205
- # puts "Filtered pull requests with specified labels and w/o labels: #{filtered_pull_requests.count}"
206
- # end
207
- # return filtered_pull_requests
208
- # end
209
- #
210
- # filtered_pull_requests
211
184
  end
212
185
 
213
186
  def compund_changelog
@@ -359,7 +332,7 @@ module GitHubChangelogGenerator
359
332
 
360
333
  def generate_log_between_tags(older_tag, newer_tag)
361
334
  # older_tag nil - means it's first tag, newer_tag nil - means it unreleased section
362
- filtered_pull_requests = delete_by_time(@pull_requests, :merged_at, older_tag, newer_tag)
335
+ filtered_pull_requests = delete_by_time(@pull_requests, :actual_date, older_tag, newer_tag)
363
336
  filtered_issues = delete_by_time(@issues, :actual_date, older_tag, newer_tag)
364
337
 
365
338
  newer_tag_name = newer_tag.nil? ? nil : newer_tag['name']
@@ -628,27 +601,41 @@ module GitHubChangelogGenerator
628
601
  return issues_wo_pr, pull_requests
629
602
  end
630
603
 
631
- def fetch_event_for_issues(filtered_issues)
604
+ def fetch_event_for_issues_and_pr
632
605
  if @options[:verbose]
633
- print "Fetching events for issues: 0/#{filtered_issues.count}\r"
606
+ print "Fetching events for issues and PR: 0/#{@issues.count + @pull_requests.count}\r"
634
607
  end
635
608
 
636
609
  # Async fetching events:
637
610
  threads = []
638
611
 
639
612
  i = 0
640
- filtered_issues.each { |issue|
613
+
614
+ @issues.each { |issue|
641
615
  threads << Thread.new {
642
616
  obj = @github.issues.events.list user: @options[:user], repo: @options[:project], issue_number: issue['number']
643
617
  issue[:events] = obj.body
644
- print "Fetching events for issues: #{i+1}/#{filtered_issues.count}\r"
618
+ print "Fetching events for issues and PR: #{i+1}/#{@issues.count + @pull_requests.count}\r"
619
+ i +=1
620
+ }
621
+ }
622
+
623
+ @pull_requests.each { |pull_request|
624
+ threads << Thread.new {
625
+ obj = @github.issues.events.list user: @options[:user], repo: @options[:project], issue_number: pull_request['number']
626
+ pull_request[:events] = obj.body
627
+ print "Fetching events for issues and PR: #{i+1}/#{@issues.count + @pull_requests.count}\r"
645
628
  i +=1
646
629
  }
647
630
  }
631
+
648
632
  threads.each { |thr| thr.join }
649
633
 
634
+ #to clear line from prev print
635
+ print " \r"
636
+
650
637
  if @options[:verbose]
651
- puts "Fetching events for issues: Done!"
638
+ puts "Fetching events for issues and PR: Done! #{i}/#{@issues.count + @pull_requests.count}"
652
639
  end
653
640
  end
654
641
 
@@ -31,7 +31,7 @@ module GitHubChangelogGenerator
31
31
  options = hash
32
32
 
33
33
  parser = OptionParser.new { |opts|
34
- opts.banner = 'Usage: changelog_generator [options]'
34
+ opts.banner = 'Usage: github_changelog_generator [options]'
35
35
  opts.on('-u', '--user [USER]', 'Username of the owner of target GitHub repo') do |last|
36
36
  options[:user] = last
37
37
  end
@@ -1,3 +1,3 @@
1
1
  module GitHubChangelogGenerator
2
- VERSION = '1.3.4'
2
+ VERSION = '1.3.5'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: github_changelog_generator
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.4
4
+ version: 1.3.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Petr Korolev
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-03-03 00:00:00.000000000 Z
11
+ date: 2015-03-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler