.gitcheck: must stricter error handling
we also run it in releases, so to compensate: it now checks for .git/, but only in project directories, not the main lbmk directory of the git repository or a release. this is because in a release, it's possible that the user may still delete coreboot/ directories and re-download coreboot trees this is not intended, but we must not assume that users use libreboot the way it's intended! "much stricter" because there was previously none, intentionally, due to the above fact. the checking of .git/ should mitigate this (the script will exit with zero status if it isn't there) Signed-off-by: Leah Rowe <leah@libreboot.org>btrfsvols
parent
3a5ba57f5e
commit
be7a5b0ca2
37
.gitcheck
37
.gitcheck
|
@ -3,6 +3,8 @@
|
|||
# SPDX-FileCopyrightText: 2023 Leah Rowe <leah@libreboot.org>
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
. "include/err.sh"
|
||||
|
||||
git_name="lbmkplaceholder"
|
||||
git_email="placeholder@lbmkplaceholder.com"
|
||||
|
||||
|
@ -12,8 +14,7 @@ main()
|
|||
if [ "${1}" = "clean" ]; then
|
||||
clean 1> /dev/null
|
||||
else
|
||||
printf "%s: Unsupported argument\n" $0
|
||||
exit 1
|
||||
err "unsupported argument, \"${1}\""
|
||||
fi
|
||||
else
|
||||
set_placeholders 1> /dev/null
|
||||
|
@ -25,13 +26,10 @@ set_placeholders()
|
|||
set_git_credentials
|
||||
|
||||
# Check coreboot as well to prevent errors during building
|
||||
if [ ! -d coreboot ]; then
|
||||
return
|
||||
fi
|
||||
[ -d coreboot ] || return 0
|
||||
for x in coreboot/*; do
|
||||
if [ ! -d "${x}" ]; then
|
||||
continue
|
||||
fi
|
||||
[ -d "${x}" ] || continue
|
||||
[ -e "${x}/.git" ] || break
|
||||
(
|
||||
cd "${x}"
|
||||
set_git_credentials
|
||||
|
@ -43,10 +41,10 @@ set_git_credentials()
|
|||
{
|
||||
# Check if username and or email is set.
|
||||
if ! git config user.name || git config user.email ; then
|
||||
git config user.name \
|
||||
|| git config user.name "${git_name}"
|
||||
git config user.email \
|
||||
|| git config user.email "${git_email}"
|
||||
git config user.name || git config user.name "${git_name}" || \
|
||||
err "cannot set local git user.name"
|
||||
git config user.email || git config user.email "${git_email}" \
|
||||
|| err "cannot set local git user.email"
|
||||
fi
|
||||
}
|
||||
|
||||
|
@ -54,13 +52,10 @@ clean()
|
|||
{
|
||||
unset_placeholders
|
||||
|
||||
if [ ! -d coreboot ]; then
|
||||
return
|
||||
fi
|
||||
[ -d coreboot ] || return 0
|
||||
for x in coreboot/*; do
|
||||
if [ ! -d "${x}" ]; then
|
||||
continue
|
||||
fi
|
||||
[ -d "${x}" ] || continue
|
||||
[ -e "${x}/.git" ] || break
|
||||
(
|
||||
cd "${x}"
|
||||
unset_placeholders
|
||||
|
@ -71,11 +66,13 @@ clean()
|
|||
unset_placeholders()
|
||||
{
|
||||
if [ "$(git config user.name)" = "${git_name}" ]; then
|
||||
git config --unset user.name
|
||||
git config --unset user.name || \
|
||||
err "cannot unset local git user.name"
|
||||
fi
|
||||
|
||||
if [ "$(git config user.email)" = "${git_email}" ]; then
|
||||
git config --unset user.email
|
||||
git config --unset user.email || \
|
||||
err "cannot unset local git user.email"
|
||||
fi
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue