From 612d80b02cabbc2faeddd39c57bd086661932aef Mon Sep 17 00:00:00 2001 From: Pete Cook Date: Fri, 8 Jan 2016 15:58:28 +0000 Subject: [PATCH] Add support for minimumChangeCount in templates Backfill release notes with commits up to the given threshold Prevents releases that list only a single merge or fix, even if larger changes may have been commited as well --- src/templates/Compact.js | 1 + src/templates/Default.js | 11 +++++++---- test/data/changelog-compact.js | 1 + 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/templates/Compact.js b/src/templates/Compact.js index 0737268e..5e78bd14 100644 --- a/src/templates/Compact.js +++ b/src/templates/Compact.js @@ -9,6 +9,7 @@ export default class Compact extends Default { fixesTitle = null commitsTitle = null + minimumChangeCount = 3 listSpacing = '\n' renderReleaseHeading = (release, previousRelease) => { diff --git a/src/templates/Default.js b/src/templates/Default.js index d761b1ca..a2689f53 100644 --- a/src/templates/Default.js +++ b/src/templates/Default.js @@ -11,6 +11,7 @@ export default class Default { commitListLimit = 3 commitHashLength = 7 + minimumChangeCount = 1 // Minimum number of merges/fixes/commits to show per release sectionSpacing = '\n\n\n' listSpacing = '\n\n' @@ -32,8 +33,9 @@ export default class Default { const merges = this.renderMerges(release.merges) const fixes = this.renderFixes(release.fixes) log = log.concat(merges).concat(fixes) - if (merges.length + fixes.length === 0) { - log = log.concat(this.renderCommits(release.commits)) + const backfillCount = this.minimumChangeCount - (release.merges.length + release.fixes.length) + if (backfillCount > 0) { + log = log.concat(this.renderCommits(release.commits, backfillCount)) } return log.join(this.listSpacing) } @@ -94,11 +96,12 @@ export default class Default { return `[\`${number}\`](${href})` } - renderCommits = (commits) => { + renderCommits = (commits, limit) => { if (commits.length === 0) return [] + limit = Math.min(limit, this.commitListLimit) const list = commits .sort(this.sortCommits) - .slice(0, this.commitListLimit) + .slice(0, limit) .map(commit => this.renderCommit({ subject: commit.subject, link: this.renderCommitLink(commit) diff --git a/test/data/changelog-compact.js b/test/data/changelog-compact.js index c9f1855d..ffa15241 100644 --- a/test/data/changelog-compact.js +++ b/test/data/changelog-compact.js @@ -27,4 +27,5 @@ Generated by [auto-changelog](https://github.com/CookPete/auto-changelog) * Pull request title [\`#3\`](https://github.com/user/repo/pull/3) * Second commit [\`#1\`](https://github.com/user/repo/issues/1), [\`#2\`](https://github.com/user/repo/issues/2) +* First commit [\`158fdde\`](https://github.com/user/repo/commit/158fdde54b6188c9f9ca3034e9cb5bcc3fe3ff69) `