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@xxxxxxxxxx> --- 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