maybe fixed permission checking
Some checks failed
Update Child Repos / update (push) Failing after 4s

This commit is contained in:
2026-01-02 13:51:03 +01:00
parent 5de66263e9
commit 8b5502d32d

View File

@@ -18,21 +18,30 @@ PREVIOUS_COMMIT_ID=$(git log --format="%H" -n 2 HEAD | tail -n 1)
if [ "${PREVIOUS_COMMIT_ID}" = "${CURRENT_COMMIT_ID}" ]; then if [ "${PREVIOUS_COMMIT_ID}" = "${CURRENT_COMMIT_ID}" ]; then
FILES_CHANGED="" FILES_CHANGED=""
FILES_PERMISSION_CHANGED=""
else else
FILES_CHANGED=$(git diff --name-only "${PREVIOUS_COMMIT_ID}" "${CURRENT_COMMIT_ID}" | tr '\n' ' ') FILES_CHANGED=$(git diff --name-only "${PREVIOUS_COMMIT_ID}" "${CURRENT_COMMIT_ID}" | tr '\n' ' ')
FILES_PERMISSION_CHANGED=$(git diff --summary "${PREVIOUS_COMMIT_ID}" "${CURRENT_COMMIT_ID}" | grep "mode change" | sed -E 's/.*mode change [0-9]+ => [0-9]+ (.*)/\1/' | tr '\n' ' ')
fi fi
is_file_changed() { is_file_changed() {
local file_to_check="$1" local file_to_check="$1"
if [ -z "${FILES_CHANGED}" ]; then if [ -z "${FILES_CHANGED}" ] && [ -z "${FILES_PERMISSION_CHANGED}" ]; then
return 1 return 1
fi fi
# Check if file was changed (content or permissions)
for changed_file in ${FILES_CHANGED}; do for changed_file in ${FILES_CHANGED}; do
if [ "${changed_file}" = "${file_to_check}" ]; then if [ "${changed_file}" = "${file_to_check}" ]; then
return 0 return 0
fi fi
done done
for changed_file in ${FILES_PERMISSION_CHANGED}; do
if [ "${changed_file}" = "${file_to_check}" ]; then
return 0
fi
done
return 1 return 1
} }