pub fn classify_range_bump(
project_root: &Path,
range_start: &str,
) -> Result<Bump, VersionError>Expand description
Classify the highest-precedence conventional-commit bump over
--no-merges commits in range_start..HEAD. range_start may be the
empty string, meaning “no baseline tag exists” — the whole history
reachable from HEAD is classified instead (git log --no-merges HEAD,
no exclusion).
Commits are read via %H%x1f%B%x1e: %B is the raw message (subject,
blank line, body and footers) in exactly the shape
git_conventional::Commit::parse expects, and %x1f/%x1e are git’s own
unit/record separators — safe against arbitrary characters a commit
message may contain, unlike splitting on newlines.