Chromium Code Reviews| Index: build/git-hooks/pre-commit |
| diff --git a/build/git-hooks/pre-commit b/build/git-hooks/pre-commit |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..3ea49c572175c07a318f0c01d12a5cc7cbbe0abf |
| --- /dev/null |
| +++ b/build/git-hooks/pre-commit |
| @@ -0,0 +1,34 @@ |
| +#!/bin/bash |
| + |
| +submods=$(git diff-index --cached --ignore-submodules=dirty HEAD | grep -e '^:160000' -e '^:...... 160000' | xargs) |
| +if test "$submods"; then |
| + echo "You are trying to commit changes to the following submodules:" 1>&2 |
| + echo 1>&2 |
| + echo $submods | cut -d ' ' -f 6 | sed 's/^/ /g' 1>&2 |
| + cat <<EOF 1>&2 |
| + |
| +Submodule commits are not allowed. Please run: |
|
iannucci
2013/02/28 01:48:17
It might be nice to revise this to indicate that t
|
| + |
| + git status --ignore-submodules=dirty |
| + |
| +and/or: |
| + |
| + git diff-index --cached --ignore-submodules=dirty HEAD |
| + |
| +... to see what's in your index. |
| + |
| +If you're really and truly trying to roll the version of a submodule, you should |
| +commit the new version to DEPS, instead. |
| +EOF |
| + exit 1 |
| +fi |
| + |
| +if test "$(git diff-index --cached HEAD .gitmodules)"; then |
| + cat <<EOF 1>&2 |
| +You are trying to commit a change to .gitmodules. That is not allowed. |
| +To make changes to submodule names/paths, edit DEPS. |
| +EOF |
| + exit 1 |
| +fi |
| + |
| +exit 0 |