Browse Source

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>
maint
Junio C Hamano 18 years ago
parent
commit
9277d60233
  1. 5
      Documentation/git.txt
  2. 2
      git.c

5
Documentation/git.txt

@ -120,7 +120,10 @@ OPTIONS @@ -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
---------------------

2
git.c

@ -94,7 +94,7 @@ static int handle_options(const char*** argv, int* argc, int* envchanged) @@ -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 {

Loading…
Cancel
Save