From: Sven Verdoolaege Date: Mon, 26 Sep 2005 20:54:01 +0000 (+0200) Subject: [PATCH] Provide access to git_dir through get_git_dir(). X-Git-Tag: v0.99.8~44 X-Git-Url: https://git.verplant.org/?a=commitdiff_plain;h=5da1606d0bf5b970fadfa0ca91618a1e871f6755;p=git.git [PATCH] Provide access to git_dir through get_git_dir(). Signed-off-by: Sven Verdoolaege Signed-off-by: Junio C Hamano --- diff --git a/cache.h b/cache.h index 6f3d39da..52a45f9c 100644 --- a/cache.h +++ b/cache.h @@ -136,6 +136,7 @@ extern unsigned int active_nr, active_alloc, active_cache_changed; #define INDEX_ENVIRONMENT "GIT_INDEX_FILE" #define GRAFT_ENVIRONMENT "GIT_GRAFT_FILE" +extern char *get_git_dir(void); extern char *get_object_directory(void); extern char *get_refs_directory(void); extern char *get_index_file(void); diff --git a/fsck-objects.c b/fsck-objects.c index 6cb0f29b..b82685fd 100644 --- a/fsck-objects.c +++ b/fsck-objects.c @@ -406,10 +406,7 @@ static int fsck_head_link(void) char hex[40]; unsigned char sha1[20]; static char path[PATH_MAX], link[PATH_MAX]; - const char *git_dir; - - git_dir = getenv(GIT_DIR_ENVIRONMENT); - if (!git_dir) git_dir = DEFAULT_GIT_DIR_ENVIRONMENT; + const char *git_dir = get_git_dir(); snprintf(path, sizeof(path), "%s/HEAD", git_dir); if (readlink(path, link, sizeof(link)) < 0) diff --git a/path.c b/path.c index f788028a..495d17ca 100644 --- a/path.c +++ b/path.c @@ -41,12 +41,10 @@ char *mkpath(const char *fmt, ...) char *git_path(const char *fmt, ...) { - const char *git_dir; + const char *git_dir = get_git_dir(); va_list args; unsigned len; - git_dir = getenv(GIT_DIR_ENVIRONMENT); - if (!git_dir) git_dir = DEFAULT_GIT_DIR_ENVIRONMENT; len = strlen(git_dir); if (len > PATH_MAX-100) return bad_path; diff --git a/sha1_file.c b/sha1_file.c index 66382027..fe374c61 100644 --- a/sha1_file.c +++ b/sha1_file.c @@ -70,6 +70,13 @@ static void setup_git_env(void) git_graft_file = strdup(git_path("info/grafts")); } +char *get_git_dir(void) +{ + if (!git_dir) + setup_git_env(); + return git_dir; +} + char *get_object_directory(void) { if (!git_object_dir)