From 3db2beef9ff8cdd5bfc62f8cc18bf6a75a9102f8 Mon Sep 17 00:00:00 2001 From: Aram Sargsyan Date: Wed, 6 Sep 2023 09:52:12 +0000 Subject: [PATCH] Don't warn about subject line length for the fixup commits The fixup commits' subject line has a prefix which has its own length, so warning about the exceeding length is not accurate. Given that the fixup commits can not be merged, because they cause a danger failure, it's safe to ignore the length check for them. --- dangerfile.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/dangerfile.py b/dangerfile.py index 41cecb079a..cc1f406672 100644 --- a/dangerfile.py +++ b/dangerfile.py @@ -99,11 +99,13 @@ fixup_error_logged = False for commit in danger.git.commits: message_lines = commit.message.splitlines() subject = message_lines[0] - if not fixup_error_logged and ( + is_merge = subject.startswith("Merge branch ") + is_fixup = ( subject.startswith("fixup!") or subject.startswith("amend!") or subject.startswith("Apply suggestion") - ): + ) + if not fixup_error_logged and is_fixup: fail( "Fixup commits are still present in this merge request. " "Please squash them before merging." @@ -115,7 +117,7 @@ for commit in danger.git.commits: f"Prohibited keyword `{match.groups()[0]}` detected " f"at the start of a subject line in commit {commit.sha}." ) - if len(subject) > 72 and not subject.startswith("Merge branch "): + if len(subject) > 72 and not is_merge and not is_fixup: warn( f"Subject line for commit {commit.sha} is too long: " f"```{subject}``` ({len(subject)} > 72 characters)."