diff options
author | Daan De Meyer <daan.j.demeyer@gmail.com> | 2024-04-10 14:35:20 +0200 |
---|---|---|
committer | Daan De Meyer <daan.j.demeyer@gmail.com> | 2024-04-10 14:39:49 +0200 |
commit | f1e9e8041c3e83fe7cf0d5ae382448514f3be3e6 (patch) | |
tree | 061e5e346eb095e3a31bee362abbf5a52c9706c0 /tools | |
parent | Update submodules (diff) | |
download | systemd-f1e9e8041c3e83fe7cf0d5ae382448514f3be3e6.tar.xz systemd-f1e9e8041c3e83fe7cf0d5ae382448514f3be3e6.zip |
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.
Diffstat (limited to 'tools')
-rwxr-xr-x | tools/git-post-rewrite-hook.sh | 4 | ||||
-rwxr-xr-x | tools/git-setup.sh | 19 |
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 |