diff options
author | René Scharfe <rene.scharfe@lsrfire.ath.cx> | 2010-02-06 10:35:19 +0100 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2010-02-06 10:39:20 -0800 |
commit | 717c3972dafa9d792a331b98a09d3cee88c17618 (patch) | |
tree | 865093c1b5a2bf025966a1ae994705423b1d1d28 | |
parent | ab35469de0d2d2ba4be58fd0231687ddc9cc3cdc (diff) | |
download | git-717c3972dafa9d792a331b98a09d3cee88c17618.tar.gz |
setenv(GIT_DIR) clean-up
This patch converts the setenv() calls in path.c and setup.c. After
the call, git grep with a pager works again in bare repos.
It leaves the setenv(GIT_DIR_ENVIRONMENT, ...) calls in git.c alone, as
they respond to command line switches that emulate the effect of setting
the environment variable directly.
The remaining site in environment.c is in set_git_dir() and is left
alone, too, of course. Finally, builtin-init-db.c is left changed
because the repo is still being carefully constructed when the
environment variable is set.
This fixes git shortlog when run inside a git directory, which had been
broken by abe549e1.
Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r-- | path.c | 2 | ||||
-rw-r--r-- | setup.c | 4 |
2 files changed, 3 insertions, 3 deletions
@@ -336,7 +336,7 @@ char *enter_repo(char *path, int strict) if (access("objects", X_OK) == 0 && access("refs", X_OK) == 0 && validate_headref("HEAD") == 0) { - setenv(GIT_DIR_ENVIRONMENT, ".", 1); + set_git_dir("."); check_repository_format(); return path; } @@ -404,9 +404,9 @@ const char *setup_git_directory_gently(int *nongit_ok) inside_work_tree = 0; if (offset != len) { cwd[offset] = '\0'; - setenv(GIT_DIR_ENVIRONMENT, cwd, 1); + set_git_dir(cwd); } else - setenv(GIT_DIR_ENVIRONMENT, ".", 1); + set_git_dir("."); check_repository_format_gently(nongit_ok); return NULL; } |