diff --git a/.commitlintrc.yml b/.commitlintrc.yml index 97ef404..4a27749 100644 --- a/.commitlintrc.yml +++ b/.commitlintrc.yml @@ -71,18 +71,20 @@ rules: - 2 - never - '.' - # Body lines wrap at 100 cols for hand-authored commit messages. - # Footers (the trailing "Closes #N. ..." / "Part of #N. ..." blocks - # that admin squash-merge appends) get a separate, larger budget — - # the squash message can pull a long PR-description summary into the - # footer, and 100 cols there is too tight. 200 is plenty (longest - # footer historically: ~125 chars for "Part of #105. ... PR4 ... to - # follow in this same issue.") while still bounding pathological - # autogenerated walls of text. + # Body lines wrap at 100 cols for hand-authored commit messages, + # EXCEPT for the body of an admin squash-merge commit, which routinely + # pulls a paragraph from the PR description. The squash-merge prose + # typically has no `Closes #N` trailer (so commitlint classifies it + # as body, not footer — see #120 for the original analysis), and a + # 100-char wrap there is too tight: the v1.1.0 prep squash body's + # longest line was 106 chars and the prior three (#117/#118/#119) + # all exceeded the cap for the same reason. 200 is the same budget + # we give footers; hand-authored commits are unaffected because + # contributors don't paste 200-col prose into commit messages. body-max-line-length: - 2 - always - - 100 + - 200 footer-max-line-length: - 2 - always