summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
Diffstat (limited to 'tools')
-rwxr-xr-xtools/git-post-rewrite-hook.sh4
-rwxr-xr-xtools/git-setup.sh19
2 files changed, 18 insertions, 5 deletions
diff --git a/tools/git-post-rewrite-hook.sh b/tools/git-post-rewrite-hook.sh
new file mode 100755
index 0000000000..78feb9dbba
--- /dev/null
+++ b/tools/git-post-rewrite-hook.sh
@@ -0,0 +1,4 @@
+#!/bin/sh
+# SPDX-License-Identifier: LGPL-2.1-or-later
+
+exec git submodule update
diff --git a/tools/git-setup.sh b/tools/git-setup.sh
index 4b49ab9c45..a53f1790c1 100755
--- a/tools/git-setup.sh
+++ b/tools/git-setup.sh
@@ -10,10 +10,19 @@ if [ -e .git ]; then
git config push.recurseSubmodules no
fi
-if [ ! -f .git/hooks/pre-commit.sample ] || [ -f .git/hooks/pre-commit ]; then
- exit 2 # not needed
+ret=2
+
+if [ -f .git/hooks/pre-commit.sample ] && [ ! -f .git/hooks/pre-commit ]; then
+ cp -p .git/hooks/pre-commit.sample .git/hooks/pre-commit
+ chmod +x .git/hooks/pre-commit
+ echo 'Activated pre-commit hook'
+ ret=0
+fi
+
+if [ ! -f .git/hooks/post-rewrite ]; then
+ cp -p tools/git-post-rewrite-hook.sh .git/hooks/post-rewrite
+ echo 'Activated post-rewrite hook'
+ ret=0
fi
-cp -p .git/hooks/pre-commit.sample .git/hooks/pre-commit
-chmod +x .git/hooks/pre-commit
-echo 'Activated pre-commit hook'
+exit $ret