diff options
author | Matt Draisey <matt@draisey.ca> | 2006-01-19 15:58:03 -0500 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2006-01-25 00:10:14 -0800 |
commit | 016fb48bc480dde83b57466f59f633cbc5128ae6 (patch) | |
tree | 1a74dcfd4c3368cfc703edb678a30af90b19edf4 /connect.c | |
parent | 941c9449999192e2d338ee204f4153e30ae43829 (diff) | |
download | git-016fb48bc480dde83b57466f59f633cbc5128ae6.tar.gz git-016fb48bc480dde83b57466f59f633cbc5128ae6.tar.xz |
local push/pull env cleanup
remove environment variables relating to the current repository
before execing the 'remote' half of a local push or pull operation
[jc: the original from Matt spelled out the environment variable
names, which I changed to the preprocessor symbols defined in
cache.h. Also it missed GRAFT_ENVIRONMENT.]
Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'connect.c')
-rw-r--r-- | connect.c | 10 |
1 files changed, 8 insertions, 2 deletions
@@ -644,10 +644,16 @@ int git_connect(int fd[2], char *url, const char *prog) ssh_basename++; execlp(ssh, ssh_basename, host, command, NULL); } - else + else { + unsetenv(ALTERNATE_DB_ENVIRONMENT); + unsetenv(DB_ENVIRONMENT); + unsetenv(GIT_DIR_ENVIRONMENT); + unsetenv(GRAFT_ENVIRONMENT); + unsetenv(INDEX_ENVIRONMENT); execlp("sh", "sh", "-c", command, NULL); + } die("exec failed"); - } + } fd[0] = pipefd[0][0]; fd[1] = pipefd[1][1]; close(pipefd[0][1]); |