From 0bb936da9ae2454307a1ffb4c97aa7c822c09a9c Mon Sep 17 00:00:00 2001 From: Martin Roth Date: Tue, 8 Aug 2017 20:31:46 -0600 Subject: lint: update signed-off-by check The current signed-off-by check doesn't really work well as a lint stable test being run by the pre-commit git hook. This test looks at the PREVIOUS commit instead of the staged commit, which works well on the server. In looking for a way to check the staged commit message, I found the commit-msg hook, which is the correct way to check the staged message. - Update the commit message check from a lint-stable test to a lint-extended test. - Add the check for signed-off-by to the commit-msg hook Change-Id: I8be8aef25730d988c7cf1586ae66ecb839d5f756 Signed-off-by: Martin Roth Reviewed-on: https://review.coreboot.org/20920 Tested-by: build bot (Jenkins) Reviewed-by: Chris Ching --- util/gitconfig/commit-msg | 5 ++++- util/lint/lint-extended-020-signed-off-by | 23 +++++++++++++++++++++++ util/lint/lint-stable-020-signed-off-by | 23 ----------------------- 3 files changed, 27 insertions(+), 24 deletions(-) create mode 100755 util/lint/lint-extended-020-signed-off-by delete mode 100755 util/lint/lint-stable-020-signed-off-by (limited to 'util') diff --git a/util/gitconfig/commit-msg b/util/gitconfig/commit-msg index 82f0581ced..2eef752156 100755 --- a/util/gitconfig/commit-msg +++ b/util/gitconfig/commit-msg @@ -169,5 +169,8 @@ _gen_ChangeId() { git hash-object -t commit --stdin } - +if ! grep -qi '^[[:space:]]*\+Signed-off-by:' "$MSG"; then + printf "\nError: No Signed-off-by line in the commit message.\n" + exit 1 +fi add_ChangeId diff --git a/util/lint/lint-extended-020-signed-off-by b/util/lint/lint-extended-020-signed-off-by new file mode 100755 index 0000000000..40b6e9eb42 --- /dev/null +++ b/util/lint/lint-extended-020-signed-off-by @@ -0,0 +1,23 @@ +#!/bin/sh +# This file is part of the coreboot project. +# +# Copyright 2016 Google Inc. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; version 2 of the License, or (at your option) +# any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# DESCR: Check for a signed-off-by line on the latest git commit + +# This test is mainly for the jenkins server +if [ -n "$(command -v git)" ] && [ -d .git ]; then + if [ -z "$(git log -n 1 | grep '[[:space:]]\+Signed-off-by: ')" ]; then + echo "No Signed-off-by line in commit message" + fi +fi diff --git a/util/lint/lint-stable-020-signed-off-by b/util/lint/lint-stable-020-signed-off-by deleted file mode 100755 index 40b6e9eb42..0000000000 --- a/util/lint/lint-stable-020-signed-off-by +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/sh -# This file is part of the coreboot project. -# -# Copyright 2016 Google Inc. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; version 2 of the License, or (at your option) -# any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# DESCR: Check for a signed-off-by line on the latest git commit - -# This test is mainly for the jenkins server -if [ -n "$(command -v git)" ] && [ -d .git ]; then - if [ -z "$(git log -n 1 | grep '[[:space:]]\+Signed-off-by: ')" ]; then - echo "No Signed-off-by line in commit message" - fi -fi -- cgit v1.2.3