ci: correctly detect outdated branches

This commit is contained in:
Jonas Schäfer 2020-06-14 15:40:11 +02:00
parent b028cca04d
commit 7941813d79
1 changed files with 6 additions and 1 deletions

View File

@ -1,7 +1,12 @@
#!/bin/bash
set -euo pipefail
IFS=$'\n'
filenames="$(git diff-tree -r --no-commit-id --name-status "$(git merge-base "$1" HEAD)" HEAD | ( grep -P '^[AM]\t(xep-[0-9]{4}|inbox/[^/]+)\.xml$' || true) | cut -f2)"
if ! merge_base="$(git merge-base "$1" HEAD)"; then
echo 'Failed to find merge base to detect changed files' >&2
echo 'This indicates that your branch is too old and needs to be rebased' >&2
exit 2
fi
filenames="$(git diff-tree -r --no-commit-id --name-status "$merge_base" HEAD | ( grep -P '^[AM]\t(xep-[0-9]{4}|inbox/[^/]+)\.xml$' || true) | cut -f2)"
if [ -z "$filenames" ]; then
exit 0
fi