From 003c8879679e21ea4b9f76770cc9a23d24759cb0 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Mon, 24 Jul 2017 04:41:45 -0400 Subject: [PATCH] meson: install the git hook (#6425) This was done autogen.sh previously and was dropped in 72cdb3e783174dcf9223a49f03e3b0e2ca95ddb8. Let's add it back. The meson configuration step is the only reasonable place. Note that this only works for the most standard git dirs, e.g. the hook will not be installed if git worktree is used or if $GIT_DIR is specified, etc. I think that's OK because most of the time meson will be run at least once in the original cloned dir. --- meson.build | 8 ++++++++ tools/add-git-hook.sh | 11 +++++++++++ 2 files changed, 19 insertions(+) create mode 100755 tools/add-git-hook.sh diff --git a/meson.build b/meson.build index ba8bb818568..867a56ee813 100644 --- a/meson.build +++ b/meson.build @@ -26,6 +26,14 @@ m4_defines = [] ##################################################################### +# Try to install the git pre-commit hook +git_hook = run_command(join_paths(meson.source_root(), 'tools/add-git-hook.sh')) +if git_hook.returncode() == 0 + message(git_hook.stdout().strip()) +endif + +##################################################################### + rootprefixdir = get_option('rootprefix') if get_option('split-usr') conf.set('HAVE_SPLIT_USR', true) diff --git a/tools/add-git-hook.sh b/tools/add-git-hook.sh new file mode 100755 index 00000000000..4ee919faf42 --- /dev/null +++ b/tools/add-git-hook.sh @@ -0,0 +1,11 @@ +#!/bin/sh -eu + +cd "$MESON_SOURCE_ROOT" + +if [ ! -f .git/hooks/pre-commit.sample -o -f .git/hooks/pre-commit ]; then + exit 2 # not needed +fi + +cp -p .git/hooks/pre-commit.sample .git/hooks/pre-commit +chmod +x .git/hooks/pre-commit +echo 'Activated pre-commit hook' -- 2.39.2