diff options
author | Junio C Hamano <gitster@pobox.com> | 2007-08-27 22:41:23 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2007-08-27 22:44:41 -0700 |
commit | 9277d60233a1829742aa2d9d20ddbfc3b2b7acde (patch) | |
tree | eec15f54dfba51f537cfa93fd422c9f812430691 | |
parent | 6adcca3fe84e6859fc62df6c4ab916192ca02795 (diff) | |
download | git-9277d60233a1829742aa2d9d20ddbfc3b2b7acde.tar.gz |
git --bare cmd: do not unconditionally nuke GIT_DIR
"GIT_DIR=some.where git --bare cmd" and worse yet
"git --git-dir=some.where --bare cmd" were very confusing. They
both ignored git-dir specified, and instead made $cwd as GIT_DIR.
This changes --bare not to override existing GIT_DIR.
This has been like this for a long time. Let's hope nobody sane
relied on this insane behaviour.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r-- | Documentation/git.txt | 5 | ||||
-rw-r--r-- | git.c | 2 |
2 files changed, 5 insertions, 2 deletions
diff --git a/Documentation/git.txt b/Documentation/git.txt index 3b0d530257..75b3e1b87c 100644 --- a/Documentation/git.txt +++ b/Documentation/git.txt @@ -120,7 +120,10 @@ OPTIONS variable. --bare:: - Same as --git-dir=`pwd`. + Treat the repository as a bare repository. If GIT_DIR + environment is not set, it is set to the current working + directory. + FURTHER DOCUMENTATION --------------------- @@ -94,7 +94,7 @@ static int handle_options(const char*** argv, int* argc, int* envchanged) } else if (!strcmp(cmd, "--bare")) { static char git_dir[PATH_MAX+1]; is_bare_repository_cfg = 1; - setenv(GIT_DIR_ENVIRONMENT, getcwd(git_dir, sizeof(git_dir)), 1); + setenv(GIT_DIR_ENVIRONMENT, getcwd(git_dir, sizeof(git_dir)), 0); if (envchanged) *envchanged = 1; } else { |