summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 506b17b)
raw | patch | inline | side by side (parent: 506b17b)
author | Johannes Sixt <johannes.sixt@telecom.at> | |
Tue, 13 Nov 2007 20:05:06 +0000 (21:05 +0100) | ||
committer | Junio C Hamano <gitster@pobox.com> | |
Wed, 14 Nov 2007 23:18:39 +0000 (15:18 -0800) |
If ETC_GITCONFIG is not an absolute path, interpret it relative to
--exec-dir. This makes the installed binaries relocatable because the
prefix is not compiled-in.
Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
--exec-dir. This makes the installed binaries relocatable because the
prefix is not compiled-in.
Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
config.c | patch | blob | history |
diff --git a/config.c b/config.c
index cee2d26d0ce19a085fd5de275f8b295b0865c9a6..ed96213c44265289c26d46edaaf740cebd0b4c86 100644 (file)
--- a/config.c
+++ b/config.c
*
*/
#include "cache.h"
+#include "exec_cmd.h"
#define MAXNAME (256)
const char *git_etc_gitconfig(void)
{
- return ETC_GITCONFIG;
+ static const char *system_wide;
+ if (!system_wide) {
+ system_wide = ETC_GITCONFIG;
+ if (!is_absolute_path(system_wide)) {
+ /* interpret path relative to exec-dir */
+ const char *exec_path = git_exec_path();
+ system_wide = prefix_path(exec_path, strlen(exec_path),
+ system_wide);
+ }
+ }
+ return system_wide;
}
int git_config(config_fn_t fn)