diff --git a/README.md b/README.md index 5b44191..29e36ed 100644 --- a/README.md +++ b/README.md @@ -104,6 +104,17 @@ So, if you got error like this: It's time to create this token or wait for 1 hour before GitHub reset the counter for your IP. + +## Migrating from a manual changelog + +Knowing how dedicated you are to your project, you probably haven't been waiting for github-changelog-generator to keep a changelog, +but you most likely wouln't like to have to open issues and PRs for all past features listed in your historic changelog. + +That's where `--base` comes handy. This option lets you pass a static changelog to be appended at the end of the generated entries. + +If you have a `HISTORY.md` file in your project, it will automatically be picked as the static historical changelog and appended. + + ##Features and advantages of this project - Generate canonical, neat change log file, followed by [basic change log guidelines](http://keepachangelog.com/) :gem: - Possible to generate **Unreleased** changes (closed issues that have not released yet) :dizzy: diff --git a/lib/github_changelog_generator/generator/generator_generation.rb b/lib/github_changelog_generator/generator/generator_generation.rb index 7e8f7a2..a3dc986 100644 --- a/lib/github_changelog_generator/generator/generator_generation.rb +++ b/lib/github_changelog_generator/generator/generator_generation.rb @@ -16,6 +16,8 @@ module GitHubChangelogGenerator log += generate_log_for_all_tags end + log += File.read(@options[:base]) if File.file?(@options[:base]) + log += "\n\n\\* *This Change Log was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)*" @log = log end diff --git a/lib/github_changelog_generator/parser.rb b/lib/github_changelog_generator/parser.rb index ff1b6f9..72dc79e 100644 --- a/lib/github_changelog_generator/parser.rb +++ b/lib/github_changelog_generator/parser.rb @@ -50,6 +50,9 @@ module GitHubChangelogGenerator opts.on("-o", "--output [NAME]", "Output file. Default is CHANGELOG.md") do |last| options[:output] = last end + opts.on("-b", "--base [NAME]", "Optional base file to append generated changes to.") do |last| + options[:base] = last + end opts.on("--bugs-label [LABEL]", "Setup custom label for bug-fixes section. Default is \"**Fixed bugs:**""") do |v| options[:bug_prefix] = v end @@ -153,6 +156,7 @@ module GitHubChangelogGenerator tag2: nil, date_format: "%Y-%m-%d", output: "CHANGELOG.md", + base: "HISTORY.md", issues: true, add_issues_wo_labels: true, add_pr_wo_labels: true,