github_changelog_generator 1.3.4 → 1.3.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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