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