1
0
Fork 1
mirror of https://github.com/NixOS/nixpkgs.git synced 2025-06-09 09:36:20 +09:00

maintainer/scripts/check-cherry-picks: propagate git errors instead of passing silently

Bash will not propagate the exit code from a subshell within a
herestring, so the script silently passes when git throws an error
there. Re-arranging things a bit and an error will now be thrown.
This commit is contained in:
Wolfgang Walther 2025-05-27 19:59:28 +02:00
parent 2df7d531fc
commit d283c3b36f
No known key found for this signature in database
GPG key ID: B39893FA5F65CAE1

View file

@ -1,7 +1,7 @@
#!/usr/bin/env bash
# Find alleged cherry-picks
set -e
set -eo pipefail
if [ $# != "2" ] ; then
echo "usage: check-cherry-picks.sh base_rev head_rev"
@ -11,6 +11,10 @@ fi
PICKABLE_BRANCHES=${PICKABLE_BRANCHES:-master staging release-??.?? staging-??.??}
problem=0
commits="$(git rev-list \
-E -i --grep="cherry.*[0-9a-f]{40}" --reverse \
"$1..$2")"
while read new_commit_sha ; do
if [ -z "$new_commit_sha" ] ; then
continue # skip empty lines
@ -88,10 +92,6 @@ while read new_commit_sha ; do
echo "$original_commit_sha not found in any pickable branch"
problem=1
done <<< "$(
git rev-list \
-E -i --grep="cherry.*[0-9a-f]{40}" --reverse \
"$1..$2"
)"
done <<< "$commits"
exit $problem