Since the 'dash-less' changes are now in upstream, mingw.git does not work 
anymore out of the box. The reason is that I introduced a function 
builtin_exec_path() that computes the path from the program invocation and 
ignores the predefined GIT_EXEC_PATH (which is the value of $(gitexecdir) int 
the Makefile).

The intent of the function is to have a relocatable binary that does not use 
absolute compiled-in paths. For this purpose, DEFAULT_GIT_TEMPLATE_DIR and 
ETC_GITCONFIG are defined as relative paths that are interpreted as relative 
to git_exec_path() (which itself depends on GIT_EXEC_PATH unless overridden 
via environment or program option).

The trivial way out is, of course, to define gitexecdir = $(bindir) in the 
Makefile. This will have an effect *only* on how the programs are installed, 
but will leave the internals unchanged.

But what do we really want?

- Does it make sense to derive builtin_exec_path() from the git.exe invocation 
(the status quo)?

- What should the other paths be relative to? git_exec_path() or git.exe?

I think the latter makes more sense. It allows to have git.exe anywhere by 
setting GIT_EXEC_PATH environment to the installation location. The default 
of git_exec_path() would be relative to git.exe.

-- Hannes

Reply via email to