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

Re: [PATCH] Locate git helpers with type -P, for when git --exec-path is multivalued

From
Thomas Rast <trast@student.ethz.ch>
Date
Mar 22, 2012, 09:43 UTC
Message-ID
<87pqc5ged3.fsf@thomas.inf.ethz.ch>
In-Reply-To
<1332407219-7774-1-git-send-email-domq@google.com>
Dominique Quatravaux <domq@google.com> writes:
Show 8 quoted lines
> Under a setting of (eg) GIT_EXEC_PATH=/home/joe/bin:/usr/lib/git-core,
> constructs such as
>
>   . "$(git --exec-path)"/git-sh-setup
>
> do not work. The proper way is
>
>   . "$(PATH="$(git --exec-path)" type -p git-sh-setup)"
NAK.  The documented(!) way of loading git-sh-setup is
  . "$(git --exec-path)/git-sh-setup"

and we can't break that. I don't know where you are getting your multivalued GIT_EXEC_PATH from, but there are other places in the code that assume a single path, too. For example, the callchain (irrelevant stuff snipped)

void setup_path(void)
{
	add_path(&new_path, git_exec_path());
}
static void add_path(struct strbuf *out, const char *path)
{
	if (path && *path) {
		if (is_absolute_path(path))
			strbuf_addstr(out, path);
		else
			strbuf_addstr(out, absolute_path(path));
		strbuf_addch(out, PATH_SEP);
        }
}
makes no sense at is_absolute_path(path) if path is multivalued.
-- 
Thomas Rast
trast@{inf,student}.ethz.ch
Previous: Dominique QuatravauxNext: Dominique Quatravaux
Message 2 of 4 in “Locate git helpers with type -P, for when git --exec-path is multivalued”
  1. Locate git helpers with type -P, for when git --exec-path is multivaluedDominique Quatravaux, Mar 22, 2012
  2. Thomas RastMar 22, 2012
  3. Dominique QuatravauxMar 22, 2012
  4. Andreas SchwabMar 22, 2012

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.