Wrap RUNTIME_PREFIX warning in a compile-time condition
PATCH 1/1 Wrap RUNTIME_PREFIX warning in a compile-time condition
From: Johannes Sixt <[email protected]>
When RUNTIME_PREFIX is enabled, the installation prefix is derived by trying a limited set of known locations where the git executable can reside. If none of these is found, a warning is emitted.
When git is built in a directory that matches neither of these known names, the warning would always be emitted when the uninstalled executable is run. This is a problem on Windows, where gitk picks the uninstalled git when invoked on the build directory and gets confused by the warning.
With this patch, individual developers can disable the warning by setting
BASIC_CFLAGS += -DNO_WARN_RUNTIME_PREFIX
in config.mak.
--- exec_cmd.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-)
exec_cmd.c +2 -0
@@ -28,9 +28,11 @@ const char *system_path(const char *path) !(prefix = strip_path_suffix(argv0_path, BINDIR)) && !(prefix = strip_path_suffix(argv0_path, "git"))) { prefix =PREFIX ; +#ifndef NO_WARN_RUNTIME_PREFIX fprintf (stderr,"RUNTIME_PREFIX requested, " "but prefix computation failed. " "Using static fallback '%s'.\n" , prefix); +#endif }#endif
Signature · 1 line
1.7.0.84.g6ef09
Hi,
Quoted 11 lines · Johannes Sixt
From: Johannes Sixt <[email protected]>
When
RUNTIME_PREFIXis enabled, the installation prefix is derived by trying a limited set of known locations where the git executable can reside. If none of these is found, a warning is emitted.When git is built in a directory that matches neither of these known names, the warning would always be emitted when the uninstalled executable is run. This is a problem on Windows, where gitk picks the uninstalled git when invoked on the build directory and gets confused by the warning.
Quoted 5 lines
With this patch, individual developers can disable the warning by setting
BASIC_CFLAGS += -DNO_WARN_RUNTIME_PREFIXin config.mak.
Would this option not prefer to be a runtime option? An environment variable should suffice.
Ciao,
Dscho
Quoted 8 lines · Johannes Schindelin
Quoted 5 lines · Johannes Sixt
With this patch, individual developers can disable the warning by setting
BASIC_CFLAGS += -DNO_WARN_RUNTIME_PREFIXin config.mak.
Would this option not prefer to be a runtime option?
No. The warning is utterly useless IMO and extremely annoying, and the only reason that it still survives is because you disagree. ;-) Since nobody else than I has ever complained about this warning, this patch looks like tailor-made for me and my build-environment (and nobody else will be affected by default), and I don't want to set an environment variable, thank you.
-- Hannes
Hi,
Quoted 4 lines · Johannes Sixt
Quoted 3 lines · Johannes Schindelin
Quoted 2 lines · Johannes Sixt
With this patch, individual developers can disable the warning by setting
Quoted 8 lines
Quoted 5 lines
Quoted 3 lines
BASIC_CFLAGS += -DNO_WARN_RUNTIME_PREFIXin config.mak.
Would this option not prefer to be a runtime option?
No. The warning is utterly useless IMO and extremely annoying, and the only reason that it still survives is because you disagree. ;-)
I have been convinced of things before. It just takes a good argument.
Ciao,
Dscho
Quoted 5 lines · Johannes Schindelin
Quoted 4 lines · Johannes Sixt
Quoted 3 lines · Johannes Schindelin
Quoted 2 lines · Johannes Sixt
With this patch, individual developers can disable the warning by setting
Quoted 8 lines
Quoted 6 lines
Quoted 4 lines
Quoted 3 lines
BASIC_CFLAGS += -DNO_WARN_RUNTIME_PREFIXin config.mak.
Would this option not prefer to be a runtime option?
No. The warning is utterly useless IMO and extremely annoying, and the only reason that it still survives is because you disagree. ;-)
I have been convinced of things before. It just takes a good argument.
The good argument is:
With this patch in upstream git, I have more time to spend on testing topics from pu and to write new topics on top of vanilla master because I don't need to apply my private patch all over the place (and back it out before I submit patches).
Whether the option is compile-time or runtime is secondary. The option is *for me*,[*] and I prefer it compile-time. *For you* nothing changes regardless of compile-time or runtime (or do you think you would set the option?).
[*] As I said, nobody else seems to complain.
-- Hannes
Hi,
Quoted 1 line · Johannes Sixt
[*] As I said, nobody else seems to complain.
If it is so annoying (and I agree that it hit me, too), maybe just remove it altogether. It is not really a helpful warning, either.
Maybe the best would be to replace it with a trace_printf().
Ciao,
Dscho
P.S.: I cannot recall defending the warning, but I might have thought it a good idea at some stage. This is no longer so.
PATCH 1/1 Print RUNTIME_PREFIX warning only when GIT_TRACE is set
From: Johannes Sixt <[email protected]>
When RUNTIME_PREFIX is enabled, the installation prefix is derived by trying a limited set of known locations where the git executable can reside. If none of these is found, a warning is emitted.
When git is built in a directory that matches neither of these known names, the warning would always be emitted when the uninstalled executable is run. This is a problem on Windows, where gitk picks the uninstalled git when invoked from the build directory and gets confused by the warning.
Print the warning only when GIT_TRACE is set.
---
Quoted 2 lines · Johannes Schindelin
P.S.: I cannot recall defending the warning, but I might have thought it a good idea at some stage. This is no longer so.
I do recall you defended it; good to know that you changed your mind.
Thanks,
-- Hannes
exec_cmd.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
exec_cmd.c +1 -1
@@ -28,7 +28,7 @@ const char *system_path(const char *path) !(prefix = strip_path_suffix(argv0_path, BINDIR)) && !(prefix = strip_path_suffix(argv0_path, "git"))) { prefix =PREFIX ; -fprintf (stderr,"RUNTIME_PREFIX requested, " +trace_printf ("RUNTIME_PREFIX requested, " "but prefix computation failed. " "Using static fallback '%s'.\n" , prefix); }
Signature · 1 line
1.7.0.83.g241b9.dirty
Re: [PATCH] Print RUNTIME_PREFIX warning only when GIT_TRACE is set
Hi,
Quoted 6 lines · Johannes Sixt
From: Johannes Sixt <[email protected]>
When
RUNTIME_PREFIXis enabled, the installation prefix is derived by trying a limited set of known locations where the git executable can reside. If none of these is found, a warning is emitted.
Quoted 8 lines
When git is built in a directory that matches neither of these known names, the warning would always be emitted when the uninstalled executable is run. This is a problem on Windows, where gitk picks the uninstalled git when invoked from the build directory and gets confused by the warning.
Print the warning only when
GIT_TRACEis set.Signed-off-by Johannes Sixt <[email protected]>
ACK
And thanks,
Dscho