From 8bc9232636ced2e4a5a61dca13f6051b499e01eb Mon Sep 17 00:00:00 2001 From: Daan De Meyer Date: Wed, 10 Apr 2024 14:36:59 +0200 Subject: [PATCH 1/2] Update submodules --- pkg/centos | 2 +- pkg/fedora | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pkg/centos b/pkg/centos index 282d1f30a6..ad880b10ee 160000 --- a/pkg/centos +++ b/pkg/centos @@ -1 +1 @@ -Subproject commit 282d1f30a64204630e96bcf048597f6afbe4a8bf +Subproject commit ad880b10ee6bbfbe266c518fc87b8c7a3df962da diff --git a/pkg/fedora b/pkg/fedora index 3f8c38e5d6..2822a03dde 160000 --- a/pkg/fedora +++ b/pkg/fedora @@ -1 +1 @@ -Subproject commit 3f8c38e5d6481fa01e766516cbdf7779c4a2825b +Subproject commit 2822a03dded26b9453bddbba7c6a152de8204aec From f1e9e8041c3e83fe7cf0d5ae382448514f3be3e6 Mon Sep 17 00:00:00 2001 From: Daan De Meyer Date: Wed, 10 Apr 2024 14:35:20 +0200 Subject: [PATCH 2/2] 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. --- docs/HACKING.md | 2 ++ tools/git-post-rewrite-hook.sh | 4 ++++ tools/git-setup.sh | 19 ++++++++++++++----- 3 files changed, 20 insertions(+), 5 deletions(-) create mode 100755 tools/git-post-rewrite-hook.sh diff --git a/docs/HACKING.md b/docs/HACKING.md index 33d32c9119..2a58780fbf 100644 --- a/docs/HACKING.md +++ b/docs/HACKING.md @@ -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 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 -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