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 <anas.nashif@intel.com>
diff --git a/scripts/gitlint/zephyr_commit_rules.py b/scripts/gitlint/zephyr_commit_rules.py
index c5536c8..e4664a8 100644
--- a/scripts/gitlint/zephyr_commit_rules.py
+++ b/scripts/gitlint/zephyr_commit_rules.py
@@ -78,5 +78,12 @@
 
     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)]