docs: describe the head-commit rule instead of a commit-range scan - #76
Merged
Merged
Conversation
The conventional-commits strategy decides from the head commit alone; four pages said it scanned the commits since the latest tag. Correct them, pair each strategy with its merge style, note that a failed run must be re-run, and record the decision as ADR 0006.
Review follow-ups: BREAKING CHANGE lives in the body, not the type prefix; branch-prefix needs a merge commit at the head and produces no majors; the re-run note reaches both provider troubleshooting lists and the branch-prefix page; "head commit" enters the glossary and replaces "latest commit" in prose.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #57.
The
conventional-commitsstrategy decides from the head commit alone:SemvertagUseCasefetches one commit and hands it toBumpStrategy.decide. Four pages said it scanned the commits since the latest tag. This settles the product question the issue raised in favour of keeping the head-commit rule, corrects the pages, and records the decision.Decision
Head-commit-only stays. The action runs once per push, and with squash merges a push is one commit, so the range is the head. A merge-commit workflow is served by
branch-prefix, which reads the merge commit that is the head. A range scan would need a newProvideroperation on two REST APIs, a bound on long ranges, and would change existing users' bumps.docs/adr/0006-strategies-decide-from-the-head-commit-only.mdrecords this; a range scan stays a possible opt-in if a merge-commit team using Conventional Commits asks.Pages
docs/strategies/conventional-commits.md: opening paragraph and the former "Commit scanning" section, now "Head commit only": squash merges pair with this strategy, a merge-commit head declines withno_conforming_commit, branch-prefix is the alternative there but produces no majors, and a failed run must be re-run.docs/strategies/branch-prefix.md: the cross-reference no longer claims a scan; a "Head commit only" paragraph carries the re-run note for this strategy too.docs/providers/github.md,docs/providers/gitlab.md: strategy table rows, the strategy-choice section (branch-prefix needs a merge commit at the head; squash merges reportno_merge_commit), and a Troubleshooting bullet for the never-tagged push.BREAKING CHANGE:is described as a body footer, which is whereconventional_commits.pyreads it.Glossary
CONTEXT.mdgains Head commit with latest commit under Avoid, since latest tag already pins "latest" to mean highest by precedence.README.md,docs/index.mdand both provider pages now say "head commit" where they said "latest commit". The provider method keeps its name.Checks
pytest(481 passed),eof-fixer,lychee --offline --include-fragmentsover every touched page, andmkdocs build --strict. Reviewed on two axes before opening; the review's factual findings are in the second commit.