Skip to content

Commit

Permalink
Use preprocessor constants for environment variable names.
Browse files Browse the repository at this point in the history
We broke the discipline Linus set up to allow compiler help us
avoid typos in environment names in the early days of git over
time.  This defines a handful preprocessor constants for
environment variable names used in relatively core parts of the
system.

I've left out variable names specific to subsystems such as HTTP
and SSL as I do not think they are big problems.

Signed-off-by: Junio C Hamano <junkio@cox.net>
  • Loading branch information
Junio C Hamano committed Dec 19, 2006
1 parent 75c384e commit d4ebc36
Show file tree
Hide file tree
Showing 6 changed files with 16 additions and 12 deletions.
2 changes: 1 addition & 1 deletion builtin-init-db.c
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,7 @@ static void copy_templates(const char *git_dir, int len, const char *template_di
DIR *dir;

if (!template_dir) {
template_dir = getenv("GIT_TEMPLATE_DIR");
template_dir = getenv(TEMPLATE_DIR_ENVIRONMENT);
if (!template_dir)
template_dir = DEFAULT_GIT_TEMPLATE_DIR;
}
Expand Down
4 changes: 2 additions & 2 deletions builtin-repo-config.c
Original file line number Diff line number Diff line change
Expand Up @@ -67,10 +67,10 @@ static int get_value(const char* key_, const char* regex_)
char *global = NULL, *repo_config = NULL;
const char *local;

local = getenv("GIT_CONFIG");
local = getenv(CONFIG_ENVIRONMENT);
if (!local) {
const char *home = getenv("HOME");
local = getenv("GIT_CONFIG_LOCAL");
local = getenv(CONFIG_LOCAL_ENVIRONMENT);
if (!local)
local = repo_config = xstrdup(git_path("config"));
if (home)
Expand Down
4 changes: 4 additions & 0 deletions cache.h
Original file line number Diff line number Diff line change
Expand Up @@ -122,6 +122,10 @@ extern int cache_errno;
#define DB_ENVIRONMENT "GIT_OBJECT_DIRECTORY"
#define INDEX_ENVIRONMENT "GIT_INDEX_FILE"
#define GRAFT_ENVIRONMENT "GIT_GRAFT_FILE"
#define TEMPLATE_DIR_ENVIRONMENT "GIT_TEMPLATE_DIR"
#define CONFIG_ENVIRONMENT "GIT_CONFIG"
#define CONFIG_LOCAL_ENVIRONMENT "GIT_CONFIG_LOCAL"
#define EXEC_PATH_ENVIRONMENT "GIT_EXEC_PATH"

extern int is_bare_git_dir(const char *dir);
extern const char *get_git_dir(void);
Expand Down
12 changes: 6 additions & 6 deletions config.c
Original file line number Diff line number Diff line change
Expand Up @@ -350,10 +350,10 @@ int git_config(config_fn_t fn)
* $GIT_CONFIG_LOCAL will make it process it in addition to the
* global config file, the same way it would the per-repository
* config file otherwise. */
filename = getenv("GIT_CONFIG");
filename = getenv(CONFIG_ENVIRONMENT);
if (!filename) {
home = getenv("HOME");
filename = getenv("GIT_CONFIG_LOCAL");
filename = getenv(CONFIG_LOCAL_ENVIRONMENT);
if (!filename)
filename = repo_config = xstrdup(git_path("config"));
}
Expand Down Expand Up @@ -544,9 +544,9 @@ int git_config_set_multivar(const char* key, const char* value,
char* lock_file;
const char* last_dot = strrchr(key, '.');

config_filename = getenv("GIT_CONFIG");
config_filename = getenv(CONFIG_ENVIRONMENT);
if (!config_filename) {
config_filename = getenv("GIT_CONFIG_LOCAL");
config_filename = getenv(CONFIG_LOCAL_ENVIRONMENT);
if (!config_filename)
config_filename = git_path("config");
}
Expand Down Expand Up @@ -754,9 +754,9 @@ int git_config_rename_section(const char *old_name, const char *new_name)
int out_fd;
char buf[1024];

config_filename = getenv("GIT_CONFIG");
config_filename = getenv(CONFIG_ENVIRONMENT);
if (!config_filename) {
config_filename = getenv("GIT_CONFIG_LOCAL");
config_filename = getenv(CONFIG_LOCAL_ENVIRONMENT);
if (!config_filename)
config_filename = git_path("config");
}
Expand Down
4 changes: 2 additions & 2 deletions exec_cmd.c
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ const char *git_exec_path(void)
if (current_exec_path)
return current_exec_path;

env = getenv("GIT_EXEC_PATH");
env = getenv(EXEC_PATH_ENVIRONMENT);
if (env && *env) {
return env;
}
Expand All @@ -35,7 +35,7 @@ int execv_git_cmd(const char **argv)
char git_command[PATH_MAX + 1];
int i;
const char *paths[] = { current_exec_path,
getenv("GIT_EXEC_PATH"),
getenv(EXEC_PATH_ENVIRONMENT),
builtin_exec_path };

for (i = 0; i < ARRAY_SIZE(paths); ++i) {
Expand Down
2 changes: 1 addition & 1 deletion merge-recursive.c
Original file line number Diff line number Diff line change
Expand Up @@ -1279,7 +1279,7 @@ int main(int argc, char *argv[])
struct commit *result, *h1, *h2;

git_config(git_default_config); /* core.filemode */
original_index_file = getenv("GIT_INDEX_FILE");
original_index_file = getenv(INDEX_ENVIRONMENT);

if (!original_index_file)
original_index_file = xstrdup(git_path("index"));
Expand Down

0 comments on commit d4ebc36

Please sign in to comment.