git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] mingw: allow hooks to be .exe files

From
Junio C Hamano <gitster@pobox.com>
Date
Jan 25, 2017, 21:39 UTC
Message-ID
<xmqq37g6akfx.fsf@gitster.mtv.corp.google.com>
In-Reply-To
<dc388b2df3baee83972f007cd77a57410553a411.1485362812.git.johannes.schindelin@gmx.de>
Johannes Schindelin <johannes.schindelin@gmx.de> writes:
> This change is necessary to allow the files in .git/hooks/ to optionally
> have the file extension `.exe` on Windows, as the file names are
> hardcoded otherwise.
Hmph.  There is no longer ".com"?

I briefly wondered if hooks/post-receive.{py,rb,...} would be good things to support, but I do not think we want to go there, primarily because we do not want to deal with "what happens when there are many?"

As Peff pointed out while I was typing this message, ".exe" would be better spelled as STRIP_EXTENSION, I think. The resulting code would read naturally when you read the macro not as "please do strip extensions" boolean, but as "this extension is to be stripped" string, which is how it is used in the other site the macro is used (namely, strip_extension() called by handle_builtin()).

Show 30 quoted lines
> Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
> ---
> Published-As: https://github.com/dscho/git/releases/tag/exe-as-hook-v1
> Fetch-It-Via: git fetch https://github.com/dscho/git exe-as-hook-v1
>
>  run-command.c | 8 +++++++-
>  1 file changed, 7 insertions(+), 1 deletion(-)
>
> diff --git a/run-command.c b/run-command.c
> index 73bfba7ef9..45229ef052 100644
> --- a/run-command.c
> +++ b/run-command.c
> @@ -871,8 +871,14 @@ const char *find_hook(const char *name)
>  
>  	strbuf_reset(&path);
>  	strbuf_git_path(&path, "hooks/%s", name);
> -	if (access(path.buf, X_OK) < 0)
> +	if (access(path.buf, X_OK) < 0) {
> +#ifdef STRIP_EXTENSION
> +		strbuf_addstr(&path, ".exe");
> +		if (access(path.buf, X_OK) >= 0)
> +			return path.buf;
> +#endif
>  		return NULL;
> +	}
>  	return path.buf;
>  }
>  
>
> base-commit: 4e59582ff70d299f5a88449891e78d15b4b3fabe
Previous: Johannes SchindelinNext: Johannes Schindelin
Message 9 of 13 in “mingw: allow hooks to be .exe files”
  1. mingw: allow hooks to be .exe filesJohannes Schindelin, Jan 25, 2017
  2. Jeff KingJan 25, 2017
  3. Junio C HamanoJan 25, 2017
  4. Johannes SchindelinJan 26, 2017
  5. Junio C HamanoJan 26, 2017
  6. Johannes SchindelinJan 27, 2017
  7. Stefan BellerJan 27, 2017
  8. Johannes SchindelinJan 30, 2017
  9. Junio C HamanoJan 25, 2017
  10. Johannes SchindelinJan 26, 2017
  11. mingw: allow hooks to be .exe filesJohannes Schindelin, Jan 26, 2017
  12. mingw: allow hooks to be .exe filesJohannes Schindelin, Jan 30, 2017
  13. Junio C HamanoJan 30, 2017

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.