Semantic Release: Squash commits make for bad CHANGELOGS #417
Replies: 1 comment 2 replies
-
I already do rebasing and history rewrites religiously because otherwise there's no way for anyone to understand my PRs. I'm in favor of going to merge commits because it makes the product better while only increasing the workload of others. /jk Seriously, though, I do see value in doing a rebase step that makes each commit single-purpose, which is why try to I make a point of it, and I'd love to see the practice expand. It makes life easier on reviewers, especially now that GH has built-in file browsing and single-commit selection in the review tab, and makes backtracking root causes of issues much easier. (In the worst case, the itemized source commits of squash-merges can get garbage collected eventually once the PR's branch is deleted, which really sucks.) |
Beta Was this translation helpful? Give feedback.
-
Problem
semantic release uses the first line of the commit message to determine which update type AND WHICH PACKAGE the change belongs to.
With squash commits, the CHANGELOGs for each updated package are wrong because there's only one big commit.
##Example:
Only
asset-service
changelog will get an entry. Both packages will get a PATCH bump due to thefix
reference even though market service should be a MINOR.Question
Should we go to MERGE commits and force commit message linting for every commit? This would require people to rework their commits so every commit has a valid message. This might mean doing local squashes or rewriting commits before submitting the PR.
Beta Was this translation helpful? Give feedback.
All reactions