Files
git/exec_cmd.c
Steffen Prohaska 8327b82bf7 Modify setup_path() to only add git_exec_path() to PATH
We should search git programs only in the highest-priority location.
The old code added the directories "argv_exec_path",
"getenv(EXEC_PATH_ENVIRONMENT)", and "system_path(GIT_EXEC_PATH)" to
PATH.  The same order is implemented in git_exec_path(), which returns
the highest priority location to search for executables.  If the user
explicitly overrides the default location (by --exec-path or
GIT_EXEC_PATH) we can expect that all the required programs are there.
It does not make sense that only some of the required programs are
located at the highest priority location and other programs are picked
up from a lower priority exec-path.  If exec-path is overridden
a complete set of commands should be provided, otherwise several
different versions might easily get mixed, which is likely to spread
confusion.

Accessing the location with highest priority only is also required for
testing of executables built with RUNTIME_PREFIX.  Calling
system_path(GIT_EXEC_PATH) is avoided if a higher-priority location is
provided, which is the case for the tests.  The call to system_path()
must be avoided, if RUNTIME_PREFIX is set, because the call would fail
if the executable is not installed at its final destination.  But we
test before installing.
2008-09-21 12:47:44 +02:00

3.4 KiB