From 408a61d42b0e0efa75f43ffbc02002b36675ee22 Mon Sep 17 00:00:00 2001 From: Anas Nashif Date: Tue, 8 Aug 2017 08:07:00 -0400 Subject: [PATCH] gitlint: tolerate long lines with URLs When including referecnes to external resources using a URL, keep the line with URL in one line to not break the link and allow this to pass the gitlint test. Signed-off-by: Anas Nashif --- scripts/gitlint/zephyr_commit_rules.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/scripts/gitlint/zephyr_commit_rules.py b/scripts/gitlint/zephyr_commit_rules.py index c5536c8f3c3..e4664a846a5 100644 --- a/scripts/gitlint/zephyr_commit_rules.py +++ b/scripts/gitlint/zephyr_commit_rules.py @@ -78,5 +78,12 @@ class MaxLineLengthExceptions(LineRule): def validate(self, line, _commit): max_length = self.options['line-length'].value - if len(line) > max_length and not line.startswith('Signed-off-by'): + urls = re.findall('http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\(\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+', line) + if line.startswith('Signed-off-by'): + return + + if len(urls) > 0: + return + + if len(line) > max_length: return [RuleViolation(self.id, self.violation_message.format(len(line), max_length), line)]