git.sh: Simplify git am handling

fx_ and fe_ really are the best shell functions ever.

really. they're the best.

Signed-off-by: Leah Rowe <leah@libreboot.org>
This commit is contained in:
Leah Rowe
2025-05-06 11:09:39 +01:00
parent 4c1de1ad12
commit e8be3fd1d4

View File

@@ -108,23 +108,13 @@ tmpclone()
(
[ $# -gt 5 ] || git clone "$repodir" "$3" || err "!clone $repodir $3"
git -C "$3" reset --hard "$4" || err "!reset $1 $2 $3 $4 $5"
git_am_patches "$3" "$5"
fx_ "eval x_ git -C \"$3\" am" "$5" -type f
) || repofail="y"
[ "$repofail" = "y" ] && [ $# -lt 6 ] && tmpclone "$@" retry
[ "$repofail" = "y" ] && err "!clone $1 $2 $3 $4 $5"; :
}
git_am_patches()
{
for p in "$2/"*; do
[ -L "$p" ] && continue
[ -e "$p" ] || continue
[ -d "$p" ] && git_am_patches "$1" "$p" && continue
[ ! -f "$p" ] || git -C "$1" am "$p" || err "$1 $2: !am $p"
done; :
}
nuke()
{
e "config/${1%/}/nuke.list" f missing || while read -r nukefile; do