Thanks for the patch, however it is not working (no change, hooks
still dont work on noexec partition). Since I see that you are fluent
in git code and C can you by any chance tell me how to modify
run-command.c to make git run hooks as: /bin/sh ?
2014-01-15 10:16 GMT+01:00 Jeff King :
> On Tue, Jan 14, 2014 at 04:41:03PM +0100, krz...@gmail.com wrote:
>
>> git can't execute hooks no partitions mounted with noexec - even if
>> those are just scripts with shebang line
>
> Right. Git does not know that they are shell (or other) scripts; they
> could be anything, and the advertised interface is that git will run
> exec on them (and it is explicitly OK for them to exist but not be
> executable, and git takes this as a sign that they are inactive).
>
>> and they actualy work by
>> hooks/./post-comit (because I use small patch on kernel that allows
>> running scripts that way on noexec partition)
>
> If you are suggesting that git always execute them as "hooks/./$hook",
> that might make sense if such behavior is widespread. But it sounds like
> you are running a custom kernel patch to get around the noexec setting.
> Here is the custom git patch to match it. :)
>
> diff --git a/run-command.c b/run-command.c
> index 3914d9c..ae84e87 100644
> --- a/run-command.c
> +++ b/run-command.c
> @@ -753,7 +753,7 @@ int finish_async(struct async *async)
>
> char *find_hook(const char *name)
> {
> - char *path = git_path("hooks/%s", name);
> + char *path = git_path("hooks/./%s", name);
> if (access(path, X_OK) < 0)
> path = NULL;
>
>
> -Peff
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html