From 3ffa09de192d81305acd2233167eae91de856e3f Mon Sep 17 00:00:00 2001 From: Brandon Bayer Date: Thu, 29 Sep 2016 16:25:31 -0500 Subject: chore: add pre-commit/pre-push hooks to prevent GitLab submodules on master --- scripts/git-hooks/pre-commit | 18 ++++++++++++++++++ scripts/git-hooks/pre-push | 18 ++++++++++++++++++ 2 files changed, 36 insertions(+) create mode 100755 scripts/git-hooks/pre-commit create mode 100755 scripts/git-hooks/pre-push (limited to 'scripts') diff --git a/scripts/git-hooks/pre-commit b/scripts/git-hooks/pre-commit new file mode 100755 index 0000000..f930ca7 --- /dev/null +++ b/scripts/git-hooks/pre-commit @@ -0,0 +1,18 @@ +#!/bin/bash + +currentBranch=$(git branch | sed -n -e 's/^\* \(.*\)/\1/p') + +if [ "$currentBranch" == "master" ]; then + gitlabOccurances=$(grep -c -m1 gitlab .gitmodules) + + if [ $gitlabOccurances -eq 1 ]; then + echo "COMMIT INVALID: You can't commit anything to the master branch that pulls +from GitLab because outsiders won't be able to build it. + +If you need to use a submodule from GitLab, do so from a branch." + exit 1 + fi +fi + +exit 0 # Everything is good + diff --git a/scripts/git-hooks/pre-push b/scripts/git-hooks/pre-push new file mode 100755 index 0000000..85b5095 --- /dev/null +++ b/scripts/git-hooks/pre-push @@ -0,0 +1,18 @@ +#!/bin/bash + +currentBranch=$(git branch | sed -n -e 's/^\* \(.*\)/\1/p') + +if [ "$currentBranch" == "master" ]; then + gitlabOccurances=$(grep -c -m1 gitlab .gitmodules) + + if [ $gitlabOccurances -eq 1 ]; then + echo "PUSH ERROR: You can't push anything to the master branch that pulls +from GitLab because outsiders won't be able to build it. + +If you need to use a submodule from GitLab, do so from a branch." + exit 1 + fi +fi + +exit 0 # Everything is good + -- cgit v1.2.3