mirror of
https://github.com/systemd/systemd
synced 2024-10-01 13:55:20 +00:00
git: Add post-rewrite hook that invokes git submodule update
git rebase does not support a --recurse-submodules switch to automatically check out the submodules at their registered commits during or after a rebase. Instead, let's use the post-rewrite git hook to do this ourselves.
This commit is contained in:
parent
8bc9232636
commit
f1e9e8041c
|
@ -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
4
tools/git-post-rewrite-hook.sh
Executable file
|
@ -0,0 +1,4 @@
|
|||
#!/bin/sh
|
||||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
|
||||
exec git submodule update
|
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue