[PATCH] hooks: pre-push: Verify that co-authors have a SoB line

Laurent Pinchart laurent.pinchart at ideasonboard.com
Mon Oct 7 21:14:03 CEST 2024


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 at ideasonboard.com>
---
 utils/hooks/pre-push | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/utils/hooks/pre-push b/utils/hooks/pre-push
index 9918b2861705..68dcbd0cccc8 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

base-commit: a7d573df53ff2fe2edaaf4c11a269f12b1a9e305
-- 
Regards,

Laurent Pinchart



More information about the libcamera-devel mailing list