From 6233a769327d8a1e7247ce741569752ffcf09144 Mon Sep 17 00:00:00 2001 From: Daan De Meyer Date: Thu, 14 Mar 2024 10:29:55 +0100 Subject: [PATCH] meson: Rename add-git-hook.sh to git-setup.sh and configure git in it Let's automatically apply the recommended git config with meson. --- docs/HACKING.md | 2 +- meson.build | 6 +++--- tools/{add-git-hook.sh => git-setup.sh} | 5 +++++ 3 files changed, 9 insertions(+), 4 deletions(-) rename tools/{add-git-hook.sh => git-setup.sh} (74%) diff --git a/docs/HACKING.md b/docs/HACKING.md index ac4d6a69b04..6dc94891246 100644 --- a/docs/HACKING.md +++ b/docs/HACKING.md @@ -15,7 +15,7 @@ Please make sure to follow our [Coding Style](CODING_STYLE) when submitting patches. Also have a look at our [Contribution Guidelines](CONTRIBUTING). To start, run the following commands in the systemd git repository to set up -git correctly: +git correctly (running `meson` will run these commands for you automatically): ```shell $ git config submodule.recurse true diff --git a/meson.build b/meson.build index 078ba822ea1..0e5f4034848 100644 --- a/meson.build +++ b/meson.build @@ -66,9 +66,9 @@ summary({'build mode' : get_option('mode')}) ##################################################################### # Try to install the git pre-commit hook -add_git_hook_sh = find_program('tools/add-git-hook.sh', required : false) -if add_git_hook_sh.found() - git_hook = run_command(add_git_hook_sh, check : false) +git_setup_sh = find_program('tools/git-setup.sh', required : false) +if git_setup_sh.found() + git_hook = run_command(git_setup_sh, check : false) if git_hook.returncode() == 0 message(git_hook.stdout().strip()) endif diff --git a/tools/add-git-hook.sh b/tools/git-setup.sh similarity index 74% rename from tools/add-git-hook.sh rename to tools/git-setup.sh index 8cff62e864d..2f7be5ccd69 100755 --- a/tools/add-git-hook.sh +++ b/tools/git-setup.sh @@ -4,6 +4,11 @@ set -eu cd "${MESON_SOURCE_ROOT:?}" +if [ -e .git ]; then + git config submodule.recurse true + git config fetch.recurseSubmodules on-demand +fi + if [ ! -f .git/hooks/pre-commit.sample ] || [ -f .git/hooks/pre-commit ]; then exit 2 # not needed fi