[PATCH v1] git-send-email: Respect core.hooksPath setting

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux