Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(80)

Side by Side Diff: build/git-hooks/pre-commit

Issue 2392643003: Removes files from //build that we don't need (Closed)
Patch Set: Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « build/git-hooks/OWNERS ('k') | build/gn_migration.gypi » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 #!/bin/sh
2
3 submodule_diff() {
4 if test -n "$2"; then
5 git diff-tree -r --ignore-submodules=dirty "$1" "$2" | grep -e '^:160000' -e '^:...... 160000' | xargs
6 else
7 git diff-index --cached --ignore-submodules=dirty "$1" | grep -e '^:160000' -e '^:...... 160000' | xargs
8 fi
9 }
10
11 if git rev-parse --verify --quiet --no-revs MERGE_HEAD; then
12 merge_base=$(git merge-base HEAD MERGE_HEAD)
13 if test -z "$(submodule_diff $merge_base HEAD)"; then
14 # Most up-to-date submodules are in MERGE_HEAD.
15 head_ref=MERGE_HEAD
16 else
17 # Most up-to-date submodules are in HEAD.
18 head_ref=HEAD
19 fi
20 else
21 # No merge in progress. Submodules must match HEAD.
22 head_ref=HEAD
23 fi
24
25 submods=$(submodule_diff $head_ref)
26 if test "$submods"; then
27 echo "You are trying to commit changes to the following submodules:" 1>&2
28 echo 1>&2
29 echo $submods | cut -d ' ' -f 6 | sed 's/^/ /g' 1>&2
30 cat <<EOF 1>&2
31
32 Submodule commits are not allowed. Please run:
33
34 git status --ignore-submodules=dirty
35
36 and/or:
37
38 git diff-index --cached --ignore-submodules=dirty HEAD
39
40 ... to see what's in your index.
41
42 If you're really and truly trying to roll the version of a submodule, you should
43 commit the new version to DEPS, instead.
44 EOF
45 exit 1
46 fi
47
48 gitmodules_diff() {
49 git diff-index --cached "$1" .gitmodules
50 }
51
52 if [ "$(git ls-files .gitmodules)" ] && [ "$(gitmodules_diff $head_ref)" ]; then
53 cat <<EOF 1>&2
54 You are trying to commit a change to .gitmodules. That is not allowed.
55 To make changes to submodule names/paths, edit DEPS.
56 EOF
57 exit 1
58 fi
59
60 exit 0
OLDNEW
« no previous file with comments | « build/git-hooks/OWNERS ('k') | build/gn_migration.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698