Thread (1 message) 1 message, 1 author, 2016-06-15

Re: [PATCH] Fix relative built-in paths to be relative to the command invocation

From: Junio C Hamano <hidden>
Date: 2016-06-15 22:44:56

Johannes Sixt [off-list ref] writes:
On Montag, 14. Juli 2008, Johannes Schindelin wrote:
quoted
Hi,

On Mon, 14 Jul 2008, Johannes Sixt wrote:
quoted
Zitat von Johannes Schindelin [off-list ref]:
quoted
On Sun, 13 Jul 2008, Johannes Sixt wrote:
quoted
@@ -84,7 +90,7 @@ static void add_path(struct strbuf *out, const char
*path)
 	}
 }

-void setup_path(const char *cmd_path)
+void setup_path(void)
It seems to me that this patch would not do anything different, but
with less code change, if setup_path() would set argv0_path, and not a
new function was introduced.
This is just to play a safe game. I had it that way, but I decided to
have the call to the new git_set_argv0_path() early in git.c because the
call to setup_path() in git.c is very late, and it could happen that we
call system_path() (which needs argv0_path) before that. Although I
didn't audit the code whether this really happens.
Well, okay... I would have rather seen it not change (since there was no
bug to fix), or as a separate patch, but it's Junio's call.
I investigated this, and, yes, there indeed are calls to system_path() before 
setup_path(), for example:

 commit_pager_choice
   setup_pager
     git_config
       git_etc_gitconfig
         system_path(ETC_GITCONFIG)

Junio, do you want git_set_argv0_path() in a separate patch?
I think that would be easier to explain in the commit log what is going
on, if it is a separate patch.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help