From 5a7ed86fbad8ba5659c011647b68e2bd286ff4cc Mon Sep 17 00:00:00 2001 From: Serge Hallyn Date: Mon, 25 Apr 2022 10:42:41 -0500 Subject: [PATCH] Work around git safe.directory enforcement Git wants to ensure that you do not read .git owned by other users. But we fetch+build as 'build' user, and run tests as root user. Those tests calculate git topdir using git rev-parse --show-toplevel, which git now fails. Setting safe.directory, seems wrong. Let's just use bash to figure out the top dir. --- tests/common/config.sh | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/tests/common/config.sh b/tests/common/config.sh index ea66ef3c..ffd96927 100644 --- a/tests/common/config.sh +++ b/tests/common/config.sh @@ -2,7 +2,14 @@ set -e -build_path=$(git rev-parse --show-toplevel) +build_path=$(pwd) +while [ "${build_path}" != "/" -a ! -d "${build_path}/.git" ]; do + build_path=$(dirname ${build_path}) +done +if [ ! -d "${build_path}/.git" ]; then + echo "Not inside git directory" 1>&2 + exit 1 +fi # Save the configuration files in tmp. save_config ()