1 #!/bin/sh 2 3 submods=$(git diff-index --cached --ignore-submodules=dirty HEAD | grep -e '^:160000' -e '^:...... 160000' | xargs) 4 if test "$submods"; then 5 echo "You are trying to commit changes to the following submodules:" 1>&2 6 echo 1>&2 7 echo $submods | cut -d ' ' -f 6 | sed 's/^/ /g' 1>&2 8 cat <<EOF 1>&2 9 10 Submodule commits are not allowed. Please run: 11 12 git status --ignore-submodules=dirty 13 14 and/or: 15 16 git diff-index --cached --ignore-submodules=dirty HEAD 17 18 ... to see what's in your index. 19 20 If you're really and truly trying to roll the version of a submodule, you should 21 commit the new version to DEPS, instead. 22 EOF 23 exit 1 24 fi 25 26 if test "$(git diff-index --cached HEAD .gitmodules)"; then 27 cat <<EOF 1>&2 28 You are trying to commit a change to .gitmodules. That is not allowed. 29 To make changes to submodule names/paths, edit DEPS. 30 EOF 31 exit 1 32 fi 33 34 exit 0 35