All of lore.kernel.org
 help / color / mirror / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: "Matthias Aßhauer via GitGitGadget" <gitgitgadget@gmail.com>
Cc: git@vger.kernel.org,
	"Louis Strous" <Louis.Strous@intellimagic.com>,
	"Pranit Bauva" <pranit.bauva@gmail.com>,
	"Johannes Schindelin" <Johannes.Schindelin@gmx.de>,
	"Denton Liu" <liu.denton@gmail.com>,
	"Tanushree Tumane" <tanushreetumane@gmail.com>,
	"Jeff Hostetler" <jeffhost@microsoft.com>,
	"Miriam Rubio" <mirucam@gmail.com>,
	"Matthias Aßhauer" <mha1993@live.de>
Subject: Re: [PATCH v2 2/3] compat/mingw: implement a native locate_in_PATH()
Date: Thu, 03 Aug 2023 21:23:53 -0700	[thread overview]
Message-ID: <xmqqjzub306e.fsf@gitster.g> (raw)
In-Reply-To: <8b8c8c3f70a25f198335e36dfd501ffcb9d411c3.1691122124.git.gitgitgadget@gmail.com> ("Matthias Aßhauer via GitGitGadget"'s message of "Fri, 04 Aug 2023 04:08:43 +0000")

"Matthias Aßhauer via GitGitGadget"  <gitgitgadget@gmail.com>
writes:

> From: =?UTF-8?q?Matthias=20A=C3=9Fhauer?= <mha1993@live.de>
>
> since 5e1f28d (bisect--helper: reimplement `bisect_visualize()` shell
>  function in C, 2021-09-13) `git bisect visualize` uses exists_in_PATH()
> to check wether it should call `gitk`, but exists_in_PATH() relies on
> locate_in_PATH() which currently only understands POSIX-ish PATH variables
> (a list of paths, separated by colons) on native Windows executables
> we encounter Windows PATH variables (a list of paths that often contain
> drive letters (and thus colons), separated by semicolons). Luckily we do
> already have a function that can lookup executables on windows PATHs:
> path_lookup(). Implement a small replacement for the existing
> locate_in_PATH() based on path_lookup().
>
> Reported-by: Louis Strous <Louis.Strous@intellimagic.com>
> Signed-off-by: Matthias Aßhauer <mha1993@live.de>
> ---
>  compat/mingw.c | 5 +++++
>  compat/mingw.h | 3 +++
>  2 files changed, 8 insertions(+)

Makes perfect sense ;-)

> diff --git a/compat/mingw.c b/compat/mingw.c
> index d06cdc6254f..bc3669d2986 100644
> --- a/compat/mingw.c
> +++ b/compat/mingw.c
> @@ -1347,6 +1347,11 @@ static char *path_lookup(const char *cmd, int exe_only)
>  	return prog;
>  }
>  
> +char *mingw_locate_in_PATH(const char *cmd)
> +{
> +	return path_lookup(cmd, 0);
> +}
> +
>  static const wchar_t *wcschrnul(const wchar_t *s, wchar_t c)
>  {
>  	while (*s && *s != c)
> diff --git a/compat/mingw.h b/compat/mingw.h
> index 209cf7cebad..b5262205965 100644
> --- a/compat/mingw.h
> +++ b/compat/mingw.h
> @@ -175,6 +175,9 @@ pid_t waitpid(pid_t pid, int *status, int options);
>  #define kill mingw_kill
>  int mingw_kill(pid_t pid, int sig);
>  
> +#define locate_in_PATH mingw_locate_in_PATH
> +char *mingw_locate_in_PATH(const char *cmd);
> +
>  #ifndef NO_OPENSSL
>  #include <openssl/ssl.h>
>  static inline int mingw_SSL_set_fd(SSL *ssl, int fd)

  reply	other threads:[~2023-08-04  4:24 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-08-03 10:28 [PATCH 0/3] git bisect visualize: find gitk on Windows again Matthias Aßhauer via GitGitGadget
2023-08-03 10:28 ` [PATCH 1/3] compat: make path_lookup() available outside mingw.c Matthias Aßhauer via GitGitGadget
2023-08-03 10:28 ` [PATCH 2/3] run-command: teach locate_in_PATH about Windows Matthias Aßhauer via GitGitGadget
2023-08-03 16:13   ` Junio C Hamano
2023-08-03 10:28 ` [PATCH 3/3] docs: update when `git bisect visualize` uses `gitk` Matthias Aßhauer via GitGitGadget
2023-08-03 16:21   ` Junio C Hamano
2023-08-03 16:00 ` [PATCH 0/3] git bisect visualize: find gitk on Windows again Junio C Hamano
2023-08-03 18:50   ` Junio C Hamano
2023-08-03 19:03     ` Matthias Aßhauer
2023-08-03 19:56       ` Junio C Hamano
2023-08-04  4:08 ` [PATCH v2 " Matthias Aßhauer via GitGitGadget
2023-08-04  4:08   ` [PATCH v2 1/3] run-command: conditionally define locate_in_PATH() Matthias Aßhauer via GitGitGadget
2023-08-04  4:23     ` Junio C Hamano
2023-08-04  5:27       ` Matthias Aßhauer
2023-08-04 16:44         ` Junio C Hamano
2023-08-04  4:08   ` [PATCH v2 2/3] compat/mingw: implement a native locate_in_PATH() Matthias Aßhauer via GitGitGadget
2023-08-04  4:23     ` Junio C Hamano [this message]
2023-08-04  4:08   ` [PATCH v2 3/3] docs: update when `git bisect visualize` uses `gitk` Matthias Aßhauer via GitGitGadget
2023-08-04  4:32     ` Junio C Hamano
2023-08-04  5:27     ` Eric Sunshine
2023-08-04  5:54       ` Matthias Aßhauer
2023-08-04 16:45         ` Junio C Hamano
2023-08-04 16:57           ` Eric Sunshine

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=xmqqjzub306e.fsf@gitster.g \
    --to=gitster@pobox.com \
    --cc=Johannes.Schindelin@gmx.de \
    --cc=Louis.Strous@intellimagic.com \
    --cc=git@vger.kernel.org \
    --cc=gitgitgadget@gmail.com \
    --cc=jeffhost@microsoft.com \
    --cc=liu.denton@gmail.com \
    --cc=mha1993@live.de \
    --cc=mirucam@gmail.com \
    --cc=pranit.bauva@gmail.com \
    --cc=tanushreetumane@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.