Home | History | Annotate | Download | only in git-hooks
      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