From bc42690c99d0df39b20510a70d584da6c7c2ac2a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20K=C4=99pie=C5=84?= Date: Mon, 18 Jan 2021 14:57:47 +0100 Subject: [PATCH] Skip subject line length check for merge commits Some merge requests (e.g. those created for release branches) include merge commits. Prevent Danger from warning about excessive subject line length for merge commits. (While the proper way to detect a merge commit would be to check the 'parents' attribute of a commit object, Danger Python does not seem to populate that attribute, so a simple string search is performed on the commit subject instead.) --- dangerfile.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/dangerfile.py b/dangerfile.py index 1943df62b1..f9db5bd7d7 100644 --- a/dangerfile.py +++ b/dangerfile.py @@ -49,7 +49,8 @@ target_branch = danger.gitlab.mr.target_branch # # - WARN if any of the following is true for any commit on the MR branch: # -# * The length of the subject line exceeds 72 characters. +# * The length of the subject line for a non-merge commit exceeds 72 +# characters. # # * There is no log message present (i.e. commit only has a subject) and # the subject line does not contain any of the following strings: @@ -77,7 +78,7 @@ for commit in danger.git.commits: fail('Fixup commits are still present in this merge request. ' 'Please squash them before merging.') fixup_error_logged = True - if len(subject) > 72: + if len(subject) > 72 and not subject.startswith('Merge branch '): warn( f'Subject line for commit {commit.sha} is too long: ' f'```{subject}``` ({len(subject)} > 72 characters).'