xref: /openbmc/openbmc-build-scripts/config/gitlint/multiple_change_id.py (revision 9ce4de3bf6bc0c8ec84d9de618cf0680ce40cb93)
1*9ce4de3bSPatrick Williamsfrom gitlint.rules import CommitRule, RuleViolation
2*9ce4de3bSPatrick Williams
3*9ce4de3bSPatrick Williams
4*9ce4de3bSPatrick Williamsclass DuplicateChangeIdEntries(CommitRule):
5*9ce4de3bSPatrick Williams    name = "duplicate-change-id-entries"
6*9ce4de3bSPatrick Williams    id = "UC2"
7*9ce4de3bSPatrick Williams
8*9ce4de3bSPatrick Williams    def validate(self, commit):
9*9ce4de3bSPatrick Williams        change_ids = [
10*9ce4de3bSPatrick Williams            x for x in commit.message.body if x.startswith("Change-Id:")
11*9ce4de3bSPatrick Williams        ]
12*9ce4de3bSPatrick Williams        if len(change_ids) > 1:
13*9ce4de3bSPatrick Williams            return [
14*9ce4de3bSPatrick Williams                RuleViolation(
15*9ce4de3bSPatrick Williams                    self.id,
16*9ce4de3bSPatrick Williams                    "Multiple Change-Ids found in commit message body",
17*9ce4de3bSPatrick Williams                    change_ids,
18*9ce4de3bSPatrick Williams                )
19*9ce4de3bSPatrick Williams            ]
20*9ce4de3bSPatrick Williams
21*9ce4de3bSPatrick Williams        return None
22