diff --git a/get-changed-paths.sh b/get-changed-paths.sh index 374665321e7..08a1a98b621 100755 --- a/get-changed-paths.sh +++ b/get-changed-paths.sh @@ -29,8 +29,20 @@ function get_diff() { sha="$2" filter="$3" while IFS='' read -r sub; do - sub_commit_pre="$(git diff "$base$DIFF$sha" -- "$sub" | grep '^[-]Subproject commit' | awk '{print $3}')" - sub_commit_cur="$(git diff "$base$DIFF$sha" -- "$sub" | grep '^[+]Subproject commit' | awk '{print $3}')" + sub_commit_pre="$(git diff "$base$DIFF$sha" -- "$sub" | grep '^[-]Subproject commit' | awk '{print $3}')" && exit_status=$? || exit_status=$? + + if [[ $exit_status -ne 0 ]]; then + echo "::error::Failed to get previous commit for submodule ($sub) between: $base$DIFF$sha" + exit 1 + fi + + sub_commit_cur="$(git diff "$base$DIFF$sha" -- "$sub" | grep '^[+]Subproject commit' | awk '{print $3}')" && exit_status=$? || exit_status=$? + + if [[ $exit_status -ne 0 ]]; then + echo "::error::Failed to get current commit for submodule ($sub) between: $base$DIFF$sha" + exit 1 + fi + if [ -n "$sub_commit_cur" ]; then ( cd "$sub" && ( @@ -62,8 +74,20 @@ function get_renames() { base="$1" sha="$2" while IFS='' read -r sub; do - sub_commit_pre="$(git diff "$base$DIFF$sha" -- "$sub" | grep '^[-]Subproject commit' | awk '{print $3}')" - sub_commit_cur="$(git diff "$base$DIFF$sha" -- "$sub" | grep '^[+]Subproject commit' | awk '{print $3}')" + sub_commit_pre="$(git diff "$base$DIFF$sha" -- "$sub" | grep '^[-]Subproject commit' | awk '{print $3}')" && exit_status=$? || exit_status=$? + + if [[ $exit_status -ne 0 ]]; then + echo "::error::Failed to get previous commit for submodule ($sub) between: $base$DIFF$sha" + exit 1 + fi + + sub_commit_cur="$(git diff "$base$DIFF$sha" -- "$sub" | grep '^[+]Subproject commit' | awk '{print $3}')" && exit_status=$? || exit_status=$? + + if [[ $exit_status -ne 0 ]]; then + echo "::error::Failed to get current commit for submodule ($sub) between: $base$DIFF$sha" + exit 1 + fi + if [ -n "$sub_commit_cur" ]; then ( cd "$sub" && (