Using a loop makes the script a bit nicer, and it works around a git bug corrupting patch dates when multiple patches are applied at once.
@@ -9,13 +9,13 @@ for module in $GLUON_MODULES; do
cd "$GLUONDIR"/$module
git checkout -B patching base
- if [ "$(echo "$GLUONDIR"/patches/$module/*.patch)" ]; then
- git -c user.name='Gluon Patch Manager' -c user.email='gluon@void.example.com' am --whitespace=nowarn "$GLUONDIR"/patches/$module/*.patch || (
+ for patch in "$GLUONDIR"/patches/$module/*.patch; do
+ if ! git -c user.name='Gluon Patch Manager' -c user.email='gluon@void.example.com' am --whitespace=nowarn "$patch"; then
git am --abort
git checkout patched
git branch -D patching
- false
- )
- fi
+ exit 1
+ fi
+ done
git branch -M patched
done