40 lines
948 B
Bash
Executable File
40 lines
948 B
Bash
Executable File
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
# SPDX-FileCopyrightText: 2023 Leah Rowe <leah@libreboot.org>
|
|
|
|
git_reset_rev()
|
|
{
|
|
sdir="${1}"
|
|
_rev="${2}"
|
|
_fail="${3}"
|
|
(
|
|
cd "${sdir}" || "${_fail}" "cannot cd to ${sdir}"
|
|
git reset --hard ${_rev} || \
|
|
"${_fail}" "cannot git reset ${sdir} <- ${rev}"
|
|
)
|
|
}
|
|
|
|
git_am_patches()
|
|
{
|
|
sdir="${1}" # assumed to be absolute path
|
|
patchdir="${2}" # ditto
|
|
_fail="${3}"
|
|
(
|
|
cd "${sdir}" || \
|
|
"${_fail}" "apply_patches: !cd \"${sdir}\""
|
|
for patch in "${patchdir}/"*; do
|
|
[ -L "${patch}" ] && continue
|
|
[ -f "${patch}" ] || continue
|
|
if ! git am "${patch}"; then
|
|
git am --abort || "${_fail}" "${sdir}: !git am --abort"
|
|
"${_fail}" "!git am ${patch} -> ${sdir}"
|
|
fi
|
|
done
|
|
)
|
|
for patches in "${patchdir}/"*; do
|
|
[ -L "${patches}" ] && continue
|
|
[ ! -d "${patches}" ] || \
|
|
git_am_patches "${sdir}" "${patches}" "${_fail}" || \
|
|
"${_fail}" "apply_patches: !${sdir}/ ${patches}/"
|
|
done
|
|
}
|