From 4162bc8659e3038731bec71fed75911575bfc81d Mon Sep 17 00:00:00 2001 From: Petr Korolev Date: Wed, 18 Mar 2015 15:36:01 +0200 Subject: [PATCH 01/17] update readme --- README.md | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index d3b3c6e..d17b486 100644 --- a/README.md +++ b/README.md @@ -101,7 +101,7 @@ Type `github_changelog_generator --help` for detailed usage. ### GitHub token -Since GitHub allow to make only 50 requests without authentication it's recommended to run this script with token +Since GitHub allow to make only 50 requests without authentication it's recommended to run this script with token (`-t, --token` option) **You can easily [generate it here](https://github.com/settings/applications)**. @@ -121,13 +121,13 @@ It's time to create this token or wait for 1 hour before GitHub reset the counte ##Features and advantages of this project - Generate canonical, neat change log file, followed by [basic change log guidlines](http://keepachangelog.com/) :gem: -- Possible to generate **Unreleased** changes (closed issues that have not released yet) -- **GitHub Enterprise support** via command line options! +- Possible to generate **Unreleased** changes (closed issues that have not released yet) :dizzy: +- **GitHub Enterprise support** via command line options! :factory: - Flexible format **customisation**: - - **Customize** issues, that **should be added** to changelog - - **Custom date format** supported + - **Customize** issues, that **should be added** to changelog :eight_spoked_asterisk: + - **Custom date format** supported :date: - Ability to manually specify in which version issue was fixed (in case, when closed date is not match) by setting `milestone` of issue the same name as tag of required version - - Ability to **exclude specific issues** from change log (by labels) + - Ability to **exclude specific issues** from change log (by labels) :negative_squared_cross_mark: - **Automatically exclude "questions"** - issues marked as `question` labels (and other issues, that shouldn't be in change log file: with `duplicate invalid wontfix` labels) :scissors: - **Distinguish** bug fixes, enchantments, and closed issues **according labels**. - Merged pull-requests (all merged pull-requests) @@ -152,9 +152,9 @@ Here is a [wikipage list of alternatives](https://github.com/skywinder/Github-Ch **Nothing is impossible!** -Open an [issue](https://github.com/skywinder/Github-Changelog-Generator/issues/new) and let's make generator better together! +Open an [issue](https://github.com/skywinder/Github-Changelog-Generator/issues/new) and let's make generator better together! -*Bug reports, feature requests, patches, well-wishes are always welcome!* +*Bug reports, feature requests, patches, well-wishes are always welcome* :heavy_exclamation_mark: ## Contributing @@ -164,6 +164,7 @@ Open an [issue](https://github.com/skywinder/Github-Changelog-Generator/issues/n 4. Commit your changes (`git commit -am 'Add some feature'`) 5. Push to the branch (`git push origin my-new-feature`) 6. Create a new Pull Request +7. Profit! :white_check_mark: ## License From a5142246258f0f70efb53ba52ceafa7abbdfacd0 Mon Sep 17 00:00:00 2001 From: Petr Korolev Date: Wed, 18 Mar 2015 15:43:11 +0200 Subject: [PATCH 02/17] update --- README.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index d17b486..5fd63b9 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,7 @@ GitHub Changelog Generator **Fully automate changelog generation** - This gem generate change log file based on **tags**, **issues** and merged **pull requests** (and split them to separate lists according labels) from :octocat: GitHub Issue Tracker. -Since now you don't have to fill your `CHANGELOG.md` manually: just run script, relax and take a cup of :coffee: before your next release! +Since now you don't have to fill your `CHANGELOG.md` manually: just run script, relax and take a cup of :coffee: before your next release! :tada: ### *What’s the point of a change log?* To make it easier for users and contributors to see precisely what notable changes have been made between each release (or version) of the project. @@ -129,11 +129,11 @@ It's time to create this token or wait for 1 hour before GitHub reset the counte - Ability to manually specify in which version issue was fixed (in case, when closed date is not match) by setting `milestone` of issue the same name as tag of required version - Ability to **exclude specific issues** from change log (by labels) :negative_squared_cross_mark: - **Automatically exclude "questions"** - issues marked as `question` labels (and other issues, that shouldn't be in change log file: with `duplicate invalid wontfix` labels) :scissors: -- **Distinguish** bug fixes, enchantments, and closed issues **according labels**. - - Merged pull-requests (all merged pull-requests) - - Bug-fixes (by label `bug` in issue) - - Enhancements (by label `enhancement` in issue) - - Issues (closed issues w/o any labels) +- **Distinguish** bug fixes, enchantments, and closed issues **according labels**. :mag_right: + - Merged pull-requests (all merged pull-requests) :twisted_rightwards_arrows: + - Bug-fixes (by label `bug` in issue) :beetle: + - Enhancements (by label `enhancement` in issue) :star2: + - Issues (closed issues w/o any labels) :non-potable_water: - You manualy can set which labels should be included/excluded and apply a lot of other customisations, to fit changelog for your personal style :tophat: (*look `github_changelog_generator --help` for details)* From 8d5bdbcca752f4cbacab7693d4955806573abe07 Mon Sep 17 00:00:00 2001 From: Petr Korolev Date: Wed, 18 Mar 2015 15:45:51 +0200 Subject: [PATCH 03/17] update --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 5fd63b9..5739fc7 100644 --- a/README.md +++ b/README.md @@ -134,7 +134,9 @@ It's time to create this token or wait for 1 hour before GitHub reset the counte - Bug-fixes (by label `bug` in issue) :beetle: - Enhancements (by label `enhancement` in issue) :star2: - Issues (closed issues w/o any labels) :non-potable_water: -- You manualy can set which labels should be included/excluded and apply a lot of other customisations, to fit changelog for your personal style :tophat: (*look `github_changelog_generator --help` for details)* +- You manually can set which labels should be included/excluded. :wrench: +- Apply a lot of other customisations, to fit changelog for your personal style :tophat: +(*look `github_changelog_generator --help` for details)* ###Alternatives From 30e9ab0ec36bb3d57fe57c2f1bda2a0236f2a1ea Mon Sep 17 00:00:00 2001 From: Petr Korolev Date: Wed, 18 Mar 2015 15:52:46 +0200 Subject: [PATCH 04/17] update --- README.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 5739fc7..31f27c5 100644 --- a/README.md +++ b/README.md @@ -129,11 +129,13 @@ It's time to create this token or wait for 1 hour before GitHub reset the counte - Ability to manually specify in which version issue was fixed (in case, when closed date is not match) by setting `milestone` of issue the same name as tag of required version - Ability to **exclude specific issues** from change log (by labels) :negative_squared_cross_mark: - **Automatically exclude "questions"** - issues marked as `question` labels (and other issues, that shouldn't be in change log file: with `duplicate invalid wontfix` labels) :scissors: -- **Distinguish** bug fixes, enchantments, and closed issues **according labels**. :mag_right: - - Merged pull-requests (all merged pull-requests) :twisted_rightwards_arrows: - - Bug-fixes (by label `bug` in issue) :beetle: + +- **Distinguish** issues **according labels**. :mag_right: + - Merged pull requests (all `merged` pull-requests) :twisted_rightwards_arrows: + - Bug fixes (by label `bug` in issue) :beetle: - Enhancements (by label `enhancement` in issue) :star2: - - Issues (closed issues w/o any labels) :non-potable_water: + - Issues (closed issues `w/o any labels`) :non-potable_water: + - You manually can set which labels should be included/excluded. :wrench: - Apply a lot of other customisations, to fit changelog for your personal style :tophat: (*look `github_changelog_generator --help` for details)* From 9479979fed29adee1b6b0ad3b9a9d966b9c69615 Mon Sep 17 00:00:00 2001 From: Petr Korolev Date: Wed, 18 Mar 2015 15:56:35 +0200 Subject: [PATCH 05/17] update --- README.md | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 31f27c5..a6c4bb7 100644 --- a/README.md +++ b/README.md @@ -126,10 +126,8 @@ It's time to create this token or wait for 1 hour before GitHub reset the counte - Flexible format **customisation**: - **Customize** issues, that **should be added** to changelog :eight_spoked_asterisk: - **Custom date format** supported :date: - - Ability to manually specify in which version issue was fixed (in case, when closed date is not match) by setting `milestone` of issue the same name as tag of required version - - Ability to **exclude specific issues** from change log (by labels) :negative_squared_cross_mark: - - **Automatically exclude "questions"** - issues marked as `question` labels (and other issues, that shouldn't be in change log file: with `duplicate invalid wontfix` labels) :scissors: - + - Ability to manually specify in which version issue was fixed (in case, when closed date is not match) by setting `milestone` of issue the same name as tag of required version :pushpin: + - Automatically **exclude specific issues**, not-related to change log (any issue, that has label `question` `duplicate` `invalid` `wontfix`by default) :scissors: - **Distinguish** issues **according labels**. :mag_right: - Merged pull requests (all `merged` pull-requests) :twisted_rightwards_arrows: - Bug fixes (by label `bug` in issue) :beetle: From ada6f13de57d2f16ae536e2fc3fc4b8c251fd919 Mon Sep 17 00:00:00 2001 From: Petr Korolev Date: Wed, 18 Mar 2015 15:59:44 +0200 Subject: [PATCH 06/17] upate --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index a6c4bb7..0f691a6 100644 --- a/README.md +++ b/README.md @@ -152,11 +152,11 @@ Here is a [wikipage list of alternatives](https://github.com/skywinder/Github-Ch ## Am I missed some essential feature? -**Nothing is impossible!** +- **Nothing is impossible!** -Open an [issue](https://github.com/skywinder/Github-Changelog-Generator/issues/new) and let's make generator better together! +- Open an [issue](https://github.com/skywinder/Github-Changelog-Generator/issues/new) and let's make generator better together! -*Bug reports, feature requests, patches, well-wishes are always welcome* :heavy_exclamation_mark: +- *Bug reports, feature requests, patches, well-wishes are always welcome* :heavy_exclamation_mark: ## Contributing From 3d7aa0b7c5219a9f4637177f2f3cc64ee8e0808d Mon Sep 17 00:00:00 2001 From: Petr Korolev Date: Wed, 18 Mar 2015 16:04:42 +0200 Subject: [PATCH 07/17] cm --- README.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 0f691a6..fa9f5d2 100644 --- a/README.md +++ b/README.md @@ -24,8 +24,12 @@ GitHub Changelog Generator Since now you don't have to fill your `CHANGELOG.md` manually: just run script, relax and take a cup of :coffee: before your next release! :tada: -### *What’s the point of a change log?* +>### *What’s the point of a change log?* To make it easier for users and contributors to see precisely what notable changes have been made between each release (or version) of the project. +### *Why should I care?* +Because software tools are for people. If you don’t care, why are you contributing to open source? Surely, there must be a kernel (ha!) of care somewhere in that lovely little brain of yours. + +>(c) *[http://keepachangelog.com](http://keepachangelog.com/)* ## Installation From 4d094ba21182a695940e1aa21691a56ff47c71e6 Mon Sep 17 00:00:00 2001 From: Petr Korolev Date: Wed, 18 Mar 2015 16:06:27 +0200 Subject: [PATCH 08/17] cm --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index fa9f5d2..1bbcb32 100644 --- a/README.md +++ b/README.md @@ -29,7 +29,7 @@ To make it easier for users and contributors to see precisely what notable chang ### *Why should I care?* Because software tools are for people. If you don’t care, why are you contributing to open source? Surely, there must be a kernel (ha!) of care somewhere in that lovely little brain of yours. ->(c) *[http://keepachangelog.com](http://keepachangelog.com/)* +> :copyright: *[http://keepachangelog.com](http://keepachangelog.com/)* ## Installation From d1b3e09da3c4aff8f36e1e116860a01234cf89ef Mon Sep 17 00:00:00 2001 From: Petr Korolev Date: Fri, 20 Mar 2015 13:05:00 +0200 Subject: [PATCH 09/17] add faq --- README.md | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/README.md b/README.md index 1bbcb32..f5a3227 100644 --- a/README.md +++ b/README.md @@ -162,6 +162,27 @@ Here is a [wikipage list of alternatives](https://github.com/skywinder/Github-Ch - *Bug reports, feature requests, patches, well-wishes are always welcome* :heavy_exclamation_mark: +## FAQ + +- ***I already use GitHub Releases. Why do I need this?*** + +GitHub Releases is a very good thing. And it's very good practice to maintain it (not so much people using it yet)! :congratulations: + +I'm not try to compare quality of auto-generated and manually generated logs. + +The Changelog like this sometimes really helps. For example: + +When I found a closed bug - it's very useful to understand, in which release it was fixed. In that case you can easily find this issue by \# in `CHANGELOG.md`. + +- it's not so quite easy to find it in manually filled Releases notes. +- this file can also help you to build your Release note and not miss features in manually-filled list. + +In the end: + +I think, that GitHub Releases is more for end-users. +But `CHANGELOG.md` could stay in the repo for developers with detailed list of changes. +And it's nothing bad to combine GitHub Releases and `CHANGELOG.md` file together in that manner. + ## Contributing 1. Create an issue to discuss about your idea From a55b938ccf3d73eeedd4880b36706b2bf98c253f Mon Sep 17 00:00:00 2001 From: Eric Dill Date: Fri, 20 Mar 2015 09:56:54 -0400 Subject: [PATCH 10/17] MNT: Fix travis badge --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f5a3227..548836c 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ [![Gem Version](https://badge.fury.io/rb/github_changelog_generator.svg)](http://badge.fury.io/rb/github_changelog_generator) -[![Build Status](https://travis-ci.org/skywinder/Github-Changelog-Generator.svg?branch=master)](https://travis-ci.org/skywinder/Github-Changelog-Generator) +[![Build Status](https://travis-ci.org/skywinder/github-changelog-generator.svg?branch=master)](https://travis-ci.org/skywinder/github-changelog-generator) GitHub Changelog Generator ================== From 5fb5832cf506268156535ffabcf80fedf61194b3 Mon Sep 17 00:00:00 2001 From: Petr Korolev Date: Fri, 20 Mar 2015 18:38:55 +0200 Subject: [PATCH 11/17] ad xkcd link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 548836c..9c2cf09 100644 --- a/README.md +++ b/README.md @@ -129,7 +129,7 @@ It's time to create this token or wait for 1 hour before GitHub reset the counte - **GitHub Enterprise support** via command line options! :factory: - Flexible format **customisation**: - **Customize** issues, that **should be added** to changelog :eight_spoked_asterisk: - - **Custom date format** supported :date: + - **Custom date format** supported (but don't forget about [standards](http://xkcd.com/1179/) :date: - Ability to manually specify in which version issue was fixed (in case, when closed date is not match) by setting `milestone` of issue the same name as tag of required version :pushpin: - Automatically **exclude specific issues**, not-related to change log (any issue, that has label `question` `duplicate` `invalid` `wontfix`by default) :scissors: - **Distinguish** issues **according labels**. :mag_right: From 6db717a5eee542a14783f61e2c73bf61ebfef02d Mon Sep 17 00:00:00 2001 From: Petr Korolev Date: Fri, 20 Mar 2015 18:41:55 +0200 Subject: [PATCH 12/17] add link to issue --- README.md | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 9c2cf09..3776482 100644 --- a/README.md +++ b/README.md @@ -166,11 +166,15 @@ Here is a [wikipage list of alternatives](https://github.com/skywinder/Github-Ch - ***I already use GitHub Releases. Why do I need this?*** -GitHub Releases is a very good thing. And it's very good practice to maintain it (not so much people using it yet)! :congratulations: +GitHub Releases is a very good thing. And it's very good practice to maintain it (not so much people using it yet)! :congratulations: -I'm not try to compare quality of auto-generated and manually generated logs. +*BDW: I would like to support GitHub Releases in [next releases](https://github.com/skywinder/github-changelog-generator/issues/56) ;)* -The Changelog like this sometimes really helps. For example: +I'm not try to compare quality of auto-generated and manually generated logs.. but: + +The auto generated Changelog really helps even if you manually fill Releases notes! + +For example: When I found a closed bug - it's very useful to understand, in which release it was fixed. In that case you can easily find this issue by \# in `CHANGELOG.md`. From de33edd3ceca21e0e8ea03b1c4b6dcfbfca4230c Mon Sep 17 00:00:00 2001 From: brb Date: Fri, 20 Mar 2015 14:28:48 -0700 Subject: [PATCH 13/17] Update README.md --- README.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 3776482..e402e17 100644 --- a/README.md +++ b/README.md @@ -13,16 +13,16 @@ GitHub Changelog Generator - [Features and advantages of this project](#features-and-advantages-of-this-project) - [Alternatives](#alternatives) - [Projects using this library](#projects-using-this-library) - - [Am I missed some essential feature?](#am-i-missed-some-essential-feature) + - [Am I missing some essential feature?](#am-i-missing-some-essential-feature) - [Contributing](#contributing) - [License](#license) ### Changelog generation has never been so easy: -**Fully automate changelog generation** - This gem generate change log file based on **tags**, **issues** and merged **pull requests** (and split them to separate lists according labels) from :octocat: GitHub Issue Tracker. +**Fully automate changelog generation** - This gem generates change log file based on **tags**, **issues** and merged **pull requests** (and splits them into separate lists according labels) from :octocat: GitHub Issue Tracker. -Since now you don't have to fill your `CHANGELOG.md` manually: just run script, relax and take a cup of :coffee: before your next release! :tada: +Since now you don't have to fill your `CHANGELOG.md` manually: just run the script, relax and take a cup of :coffee: before your next release! :tada: >### *What’s the point of a change log?* To make it easier for users and contributors to see precisely what notable changes have been made between each release (or version) of the project. @@ -66,7 +66,7 @@ Because software tools are for people. If you don’t care, why are you contribu ## Usage **It's really simple**: -- If your **git remote** `origin` refer to your GitHub repo, then just go to your project folder and run: +- If your **git remote** `origin` refers to your GitHub repo, then just go to your project folder and run: github_changelog_generator @@ -105,7 +105,7 @@ Type `github_changelog_generator --help` for detailed usage. ### GitHub token -Since GitHub allow to make only 50 requests without authentication it's recommended to run this script with token (`-t, --token` option) +Since GitHub allows you to make only 50 requests without authentication it's recommended to run this script with a token (`-t, --token` option) **You can easily [generate it here](https://github.com/settings/applications)**. @@ -138,13 +138,13 @@ It's time to create this token or wait for 1 hour before GitHub reset the counte - Enhancements (by label `enhancement` in issue) :star2: - Issues (closed issues `w/o any labels`) :non-potable_water: -- You manually can set which labels should be included/excluded. :wrench: +- You can manually set which labels should be included/excluded. :wrench: - Apply a lot of other customisations, to fit changelog for your personal style :tophat: (*look `github_changelog_generator --help` for details)* ###Alternatives -Here is a [wikipage list of alternatives](https://github.com/skywinder/Github-Changelog-Generator/wiki/Alternatives), that I found. But no one was satisfy my requirements. +Here is a [wikipage list of alternatives](https://github.com/skywinder/Github-Changelog-Generator/wiki/Alternatives), that I found. But none satisfied my requirements. *If you know other projects - feel free to edit this Wiki page!* @@ -154,7 +154,7 @@ Here is a [wikipage list of alternatives](https://github.com/skywinder/Github-Ch *If you are using `github_changelog_generator` for generation change log in your project or know another project that uses it, please add it to [this] (https://github.com/skywinder/Github-Changelog-Generator/wiki/Projects-using-Github-Changelog-Generator) list.* -## Am I missed some essential feature? +## Am I missing some essential feature? - **Nothing is impossible!** From 219f4b9748cef8694a0776dab1a006e62a9fc808 Mon Sep 17 00:00:00 2001 From: Petr Korolev Date: Fri, 20 Mar 2015 23:44:18 +0200 Subject: [PATCH 14/17] update readme --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e402e17..5e9f955 100644 --- a/README.md +++ b/README.md @@ -129,7 +129,7 @@ It's time to create this token or wait for 1 hour before GitHub reset the counte - **GitHub Enterprise support** via command line options! :factory: - Flexible format **customisation**: - **Customize** issues, that **should be added** to changelog :eight_spoked_asterisk: - - **Custom date format** supported (but don't forget about [standards](http://xkcd.com/1179/) :date: + - **Custom date format** supported (but get in mind [ISO 8601](http://xkcd.com/1179/) ) :date: - Ability to manually specify in which version issue was fixed (in case, when closed date is not match) by setting `milestone` of issue the same name as tag of required version :pushpin: - Automatically **exclude specific issues**, not-related to change log (any issue, that has label `question` `duplicate` `invalid` `wontfix`by default) :scissors: - **Distinguish** issues **according labels**. :mag_right: From 25ee41bc8c81b961177f814d7ce9c7f089397696 Mon Sep 17 00:00:00 2001 From: Petr Korolev Date: Sat, 21 Mar 2015 01:00:37 +0200 Subject: [PATCH 15/17] add github logo --- README.md | 3 +-- images/logo.jpg | Bin 0 -> 8386 bytes 2 files changed, 1 insertion(+), 2 deletions(-) create mode 100644 images/logo.jpg diff --git a/README.md b/README.md index 5e9f955..ccc650a 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,7 @@ - [![Gem Version](https://badge.fury.io/rb/github_changelog_generator.svg)](http://badge.fury.io/rb/github_changelog_generator) [![Build Status](https://travis-ci.org/skywinder/github-changelog-generator.svg?branch=master)](https://travis-ci.org/skywinder/github-changelog-generator) -GitHub Changelog Generator +GitHub Changelog Generator ![GitHub Logo](../master/images/logo.jpg) ================== - [Installation](#installation) diff --git a/images/logo.jpg b/images/logo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..30fcb70f5aff5df61564235cba66811cce8e0483 GIT binary patch literal 8386 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 SermQClpEw%wI*3{9{eBE-3kZ* literal 0 HcmV?d00001 From 7704dc9ecd8709f1e49ad946710dbe01d6fa484e Mon Sep 17 00:00:00 2001 From: Petr Korolev Date: Sat, 21 Mar 2015 02:06:59 +0200 Subject: [PATCH 16/17] Add rescue fallback with warning message to prevent crash in case of exceed Rate Limit (temporary workaround for #71) --- lib/github_changelog_generator.rb | 111 ++++++++++++++++++++---------- 1 file changed, 74 insertions(+), 37 deletions(-) diff --git a/lib/github_changelog_generator.rb b/lib/github_changelog_generator.rb index 55c0c85..3e51717 100755 --- a/lib/github_changelog_generator.rb +++ b/lib/github_changelog_generator.rb @@ -27,7 +27,11 @@ module GitHubChangelogGenerator github_options[:endpoint] = options[:github_endpoint] unless options[:github_endpoint].nil? github_options[:site] = options[:github_endpoint] unless options[:github_site].nil? - @github = Github.new github_options +begin + @github = Github.new github_options +rescue + puts "Warning: GitHub API rate limit exceed (5000 per hour), change log may not contain some issues.".yellow + end @generator = Generator.new(@options) @@ -88,7 +92,11 @@ module GitHubChangelogGenerator issue[:actual_date] = issue[:closed_at] else begin - commit = @github.git_data.commits.get @options[:user], @options[:project], event[:commit_id] +begin + commit = @github.git_data.commits.get @options[:user], @options[:project], event[:commit_id] +rescue + puts "Warning: GitHub API rate limit exceed (5000 per hour), change log may not contain some issues.".yellow + end issue[:actual_date] = commit[:author][:date] rescue puts "Warning: can't fetch commit #{event[:commit_id]} probably it referenced from another repo." @@ -110,16 +118,22 @@ module GitHubChangelogGenerator if @options[:verbose] print "Fetching merged dates...\r" end - response = @github.pull_requests.list @options[:user], @options[:project], :state => 'closed' - pull_requests = [] - page_i = 0 - response.each_page do |page| - page_i += PER_PAGE_NUMBER - count_pages = response.count_pages - print "Fetching merged dates... #{page_i}/#{count_pages * PER_PAGE_NUMBER}\r" - pull_requests.concat(page) - end +begin + response = @github.pull_requests.list @options[:user], @options[:project], :state => 'closed' + page_i = 0 + response.each_page do |page| + page_i += PER_PAGE_NUMBER + count_pages = response.count_pages + print "Fetching merged dates... #{page_i}/#{count_pages * PER_PAGE_NUMBER}\r" + pull_requests.concat(page) + end +rescue + puts "Warning: GitHub API rate limit exceed (5000 per hour), change log may not contain some issues.".yellow + end + + + print " \r" @pull_requests.each { |pr| @@ -276,7 +290,11 @@ module GitHubChangelogGenerator end def is_megred(number) - @github.pull_requests.merged? @options[:user], @options[:project], number +begin + @github.pull_requests.merged? @options[:user], @options[:project], number +rescue + puts "Warning: GitHub API rate limit exceed (5000 per hour), change log may not contain some issues.".yellow + end end def get_all_tags @@ -285,20 +303,26 @@ module GitHubChangelogGenerator print "Fetching tags...\r" end - response = @github.repos.tags @options[:user], @options[:project] - tags = [] - page_i = 0 - count_pages = response.count_pages - response.each_page do |page| - page_i += PER_PAGE_NUMBER - print "Fetching tags... #{page_i}/#{count_pages * PER_PAGE_NUMBER}\r" - tags.concat(page) - end - print " \r" - if @options[:verbose] - puts "Found #{tags.count} tags" - end + + begin + response = @github.repos.tags @options[:user], @options[:project] + page_i = 0 + count_pages = response.count_pages + response.each_page do |page| + page_i += PER_PAGE_NUMBER + print "Fetching tags... #{page_i}/#{count_pages * PER_PAGE_NUMBER}\r" + tags.concat(page) + end + print " \r" + if @options[:verbose] + puts "Found #{tags.count} tags" + end +rescue + puts "Warning: GitHub API rate limit exceed (5000 per hour), change log may not contain some issues.".yellow + end + + tags end @@ -512,7 +536,11 @@ module GitHubChangelogGenerator return @tag_times_hash[tag_name['name']] end - github_git_data_commits_get = @github.git_data.commits.get @options[:user], @options[:project], tag_name['commit']['sha'] +begin + github_git_data_commits_get = @github.git_data.commits.get @options[:user], @options[:project], tag_name['commit']['sha'] +rescue + puts "Warning: GitHub API rate limit exceed (5000 per hour), change log may not contain some issues.".yellow + end time_string = github_git_data_commits_get['committer']['date'] @tag_times_hash[tag_name['name']] = Time.parse(time_string) end @@ -558,17 +586,22 @@ module GitHubChangelogGenerator if @options[:verbose] print "Fetching closed issues...\r" end - - response = @github.issues.list user: @options[:user], repo: @options[:project], state: 'closed', filter: 'all', labels: nil - issues = [] - page_i = 0 - count_pages = response.count_pages - response.each_page do |page| - page_i += PER_PAGE_NUMBER - print "Fetching issues... #{page_i}/#{count_pages * PER_PAGE_NUMBER}\r" - issues.concat(page) - end + +begin + response = @github.issues.list user: @options[:user], repo: @options[:project], state: 'closed', filter: 'all', labels: nil + page_i = 0 + count_pages = response.count_pages + response.each_page do |page| + page_i += PER_PAGE_NUMBER + print "Fetching issues... #{page_i}/#{count_pages * PER_PAGE_NUMBER}\r" + issues.concat(page) + end +rescue + puts "Warning: GitHub API rate limit exceed (5000 per hour), change log may not contain some issues.".yellow + end + + print " \r" @@ -610,7 +643,11 @@ module GitHubChangelogGenerator issues.each_slice(max_thread_number) { |issues_slice| issues_slice.each { |issue| threads << Thread.new { - obj = @github.issues.events.list user: @options[:user], repo: @options[:project], issue_number: issue['number'] +begin + obj = @github.issues.events.list user: @options[:user], repo: @options[:project], issue_number: issue['number'] +rescue + puts "Warning: GitHub API rate limit exceed (5000 per hour), change log may not contain some issues.".yellow + end issue[:events] = obj.body print "Fetching events for issues and PR: #{i+1}/#{@issues.count + @pull_requests.count}\r" i +=1 From 7b38f0f56acf6ad0ac3a1aa99fae58e0e83f9bdc Mon Sep 17 00:00:00 2001 From: Petr Korolev Date: Sat, 21 Mar 2015 02:13:09 +0200 Subject: [PATCH 17/17] Update gemspec to version 1.3.11 --- lib/github_changelog_generator/version.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/github_changelog_generator/version.rb b/lib/github_changelog_generator/version.rb index d419d95..8b06a13 100644 --- a/lib/github_changelog_generator/version.rb +++ b/lib/github_changelog_generator/version.rb @@ -1,3 +1,3 @@ module GitHubChangelogGenerator - VERSION = '1.3.10' + VERSION = '1.3.11' end