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