Fixed preventing git submodules from being committed
- because we now ignore git submodule changes, they didn't show up in `git diff --cached...`, so it was possible to get submodules to be committed - you can re-enable submodules to be shown with `--ignore-submodules=none` - this implements that - we never want to allow submodules to be committed, so I've removed the prompt for faster feedback
This commit is contained in:
parent
7366f726e5
commit
ec9181921b
16
.github/hooks/pre-commit
vendored
16
.github/hooks/pre-commit
vendored
@ -17,11 +17,11 @@ fi
|
||||
green='\033[0;32m'
|
||||
no_color='\033[0m'
|
||||
grey='\033[0;90m'
|
||||
|
||||
red='\033[0;31m'
|
||||
|
||||
ROOT_DIR=$(git rev-parse --show-cdup)
|
||||
SUBMODULES=$(grep path ${ROOT_DIR}.gitmodules | sed 's/^.*path = //')
|
||||
MOD_SUBMODULES=$(git diff --cached --name-only | grep -F "$SUBMODULES")
|
||||
MOD_SUBMODULES=$(git diff --cached --name-only --ignore-submodules=none | grep -F "$SUBMODULES")
|
||||
|
||||
echo -e "Checking submodules ${grey}(pre-commit hook)${no_color} "
|
||||
|
||||
@ -37,16 +37,8 @@ if [[ -n "$MOD_SUBMODULES" ]]; then
|
||||
echo -e "\t${green}modified:\t$SUB${no_color}"
|
||||
done
|
||||
echo
|
||||
echo -n -e "Continue with commit? ${grey}(N|y)${no_color} "
|
||||
read -n 1 reply </dev/tty
|
||||
echo
|
||||
if [[ "$reply" == "y" || "$reply" == "Y" ]]; then
|
||||
echo "Permitting submodules to be committed..."
|
||||
exit 0
|
||||
else
|
||||
echo "Aborting commit due to submodule update."
|
||||
exit 1
|
||||
fi
|
||||
echo -e "${red}Aborting commit due to submodule update. Please unstage the submodule(s) and commit again.${no_color}"
|
||||
exit 1
|
||||
else
|
||||
echo "No submodules in commit, continuing..."
|
||||
exit 0
|
||||
|
Loading…
Reference in New Issue
Block a user