summaryrefslogtreecommitdiff
path: root/utils/hooks/pre-push
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>2024-10-07 22:11:34 +0300
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>2024-10-08 18:06:30 +0300
commitfc761ffe499bed5ac5a9d2313b87be85f4d41a71 (patch)
tree2b28a72f441a2d530fafc604b5f945f1ba4220da /utils/hooks/pre-push
parentb20dfa95d2f6bb2a0aefffe68d59a58b0081ada1 (diff)
hooks: pre-push: Verify that co-authors have a SoB line
The Co-developed-by tag must be followed by a corresponding SoB line. Enforce this rule in the git pre-push hook. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Tested-by: Kieran Bingham <kieran.bingham@ideasonboard.com> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Diffstat (limited to 'utils/hooks/pre-push')
-rwxr-xr-xutils/hooks/pre-push11
1 files changed, 10 insertions, 1 deletions
diff --git a/utils/hooks/pre-push b/utils/hooks/pre-push
index 9918b286..68dcbd0c 100755
--- a/utils/hooks/pre-push
+++ b/utils/hooks/pre-push
@@ -68,7 +68,7 @@ do
fi
# 2. The commit message shall have Signed-off-by lines
- # corresponding the committer and the author.
+ # corresponding the committer, author, and all co-developers.
committer=$(echo "$msg" | grep '^committer ' | head -1 | \
cut -d ' ' -f 2- | rev | cut -d ' ' -f 3- | rev)
if ! echo -E "$msg" | grep -F -q "Signed-off-by: ${committer}"
@@ -85,6 +85,15 @@ do
errors=$((errors+1))
fi
+ while read -r codev
+ do
+ if ! echo -E "$msg" | grep -F -q "Signed-off-by: ${codev}"
+ then
+ echo >&2 "Missing co-developer '${codev}' Signed-off-by in commit $commit"
+ errors=$((errors+1))
+ fi
+ done < <(echo "$msg" | grep '^Co-developed-by: ' | cut -d ' ' -f 2-)
+
# 3. A Reviewed-by or Acked-by is required.
if ! echo -E "$msg" | grep -q '^\(Reviewed\|Acked\)-by: '
then