diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index d6700ae05b..4dc70c1ffd 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -12,3 +12,9 @@ repos: verbose: false language: script types: [c++] + - id: remove-exec-bit + name: Remove executable bit from non-executable files + entry: script/remove_exec_bit.sh + language: script + types_or: [c++, text] + verbose: true diff --git a/script/remove_exec_bit.sh b/script/remove_exec_bit.sh new file mode 100755 index 0000000000..25466d8c37 --- /dev/null +++ b/script/remove_exec_bit.sh @@ -0,0 +1,8 @@ +#!/bin/bash + +for file in $(git diff --cached --name-only --diff-filter=ACM | grep -E '\.(cpp|hpp|txt|inc)$'); do + if [ -x "$file" ]; then + chmod -x "$file" + echo "[remove-exec-bit] Removed executable bit from $file" >&2 + fi +done