Merge pull request #32204 from DaanDeMeyer/post-rewrite

git: Add post-rewrite hook that invokes git submodule update
This commit is contained in:
Luca Boccassi
2024-04-10 22:52:45 +01:00
committed by GitHub
5 changed files with 22 additions and 7 deletions

View File

@@ -21,6 +21,8 @@ git correctly (running `meson` will run these commands for you automatically):
$ git config submodule.recurse true
$ git config fetch.recurseSubmodules on-demand
$ git config push.recurseSubmodules no
$ cp .git/hooks/pre-commit.sample .git/hooks/pre-commit
$ cp tools/git-post-rewrite-hook.sh .git/hooks/post-rewrite
```
When adding new functionality, tests should be added. For shared functionality

4
tools/git-post-rewrite-hook.sh Executable file
View File

@@ -0,0 +1,4 @@
#!/bin/sh
# SPDX-License-Identifier: LGPL-2.1-or-later
exec git submodule update

View File

@@ -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
cp -p .git/hooks/pre-commit.sample .git/hooks/pre-commit
chmod +x .git/hooks/pre-commit
echo 'Activated pre-commit hook'
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
exit $ret