[PATCH v1] git-send-email: Respect core.hooksPath setting
- From
Robert Foss <robert.foss@linaro.org>
- Date
- Mar 22, 2021, 16:20 UTC
- Message-ID
- <20210322162008.468779-1-robert.foss@linaro.org>
get-send-email currently makes the assumption that the 'sendemail-validate' hook exists inside of the repository.
Since the introduction of `core.hooksPath` configuration option in v2.9, this is no longer true.
Instead of assuming a hardcoded repo relative path, query git for the actual path of the hooks directory.
Signed-off-by: Robert Foss <robert.foss@linaro.org> ---
This patch does not include a test for this bug fix. This is entirely due to me not being able to think up a way to test this. So I'm very much open to suggestions.
git-send-email.perl | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/git-send-email.perl b/git-send-email.perl index 1f425c0809..3934dceb70 100755 --- a/git-send-email.perl +++ b/git-send-email.perl @@ -1942,8 +1942,9 @@ sub validate_patch { my ($fn, $xfer_encoding) = @_; if ($repo) { - my $validate_hook = catfile(catdir($repo->repo_path(), 'hooks'), - 'sendemail-validate'); + my $hook_path = $repo->command('rev-parse', '--git-path', 'hooks'); + chomp($hook_path); + my $validate_hook = catfile($hook_path, 'sendemail-validate'); my $hook_error; if (-x $validate_hook) { my $target = abs_path($fn);
-- 2.27.0