#!/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
