summaryrefslogtreecommitdiff
path: root/environment.c
diff options
context:
space:
mode:
authorGiuseppe Bilotta <giuseppe.bilotta@gmail.com>2010-02-25 00:34:14 +0100
committerJunio C Hamano <gitster@pobox.com>2010-02-24 16:24:25 -0800
commit48a7c1c49d675fa37b609b499dd9e27439ec7f51 (patch)
tree852effac234c99d76e9a3cacbabdd686acd7832f /environment.c
parente923eaeb901ff056421b9007adcbbce271caa7b6 (diff)
downloadgit-48a7c1c49d675fa37b609b499dd9e27439ec7f51.tar.gz
Refactor list of of repo-local env vars
Move the list of GIT_* environment variables that are local to a repository into a static list in environment.c, as it is also useful elsewhere. Also add the missing GIT_CONFIG variable to the list. Make it easy to use the list both by NULL-termination and by size; the latter (excluding the terminating NULL) is stored in the local_repo_env_size define. Signed-off-by: Giuseppe Bilotta <giuseppe.bilotta@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'environment.c')
-rw-r--r--environment.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/environment.c b/environment.c
index 739ec27040..876c5e5341 100644
--- a/environment.c
+++ b/environment.c
@@ -63,6 +63,23 @@ static char *work_tree;
static const char *git_dir;
static char *git_object_dir, *git_index_file, *git_refs_dir, *git_graft_file;
+/*
+ * Repository-local GIT_* environment variables
+ * Remember to update local_repo_env_size in cache.h when
+ * the size of the list changes
+ */
+const char * const local_repo_env[LOCAL_REPO_ENV_SIZE + 1] = {
+ ALTERNATE_DB_ENVIRONMENT,
+ CONFIG_ENVIRONMENT,
+ DB_ENVIRONMENT,
+ GIT_DIR_ENVIRONMENT,
+ GIT_WORK_TREE_ENVIRONMENT,
+ GRAFT_ENVIRONMENT,
+ INDEX_ENVIRONMENT,
+ NO_REPLACE_OBJECTS_ENVIRONMENT,
+ NULL
+};
+
static void setup_git_env(void)
{
git_dir = getenv(GIT_DIR_ENVIRONMENT);