summaryrefslogtreecommitdiffstats
path: root/gitlint-core/gitlint/contrib/rules/signedoff_by.py
diff options
context:
space:
mode:
Diffstat (limited to 'gitlint-core/gitlint/contrib/rules/signedoff_by.py')
-rw-r--r--gitlint-core/gitlint/contrib/rules/signedoff_by.py17
1 files changed, 17 insertions, 0 deletions
diff --git a/gitlint-core/gitlint/contrib/rules/signedoff_by.py b/gitlint-core/gitlint/contrib/rules/signedoff_by.py
new file mode 100644
index 0000000..5ea8217
--- /dev/null
+++ b/gitlint-core/gitlint/contrib/rules/signedoff_by.py
@@ -0,0 +1,17 @@
+from gitlint.rules import CommitRule, RuleViolation
+
+
+class SignedOffBy(CommitRule):
+ """This rule will enforce that each commit body contains a "Signed-off-by" line.
+ We keep things simple here and just check whether the commit body contains a line that starts with "Signed-off-by".
+ """
+
+ name = "contrib-body-requires-signed-off-by"
+ id = "CC1"
+
+ def validate(self, commit):
+ for line in commit.message.body:
+ if line.lower().startswith("signed-off-by"):
+ return []
+
+ return [RuleViolation(self.id, "Body does not contain a 'Signed-off-by' line", line_nr=1)]