From 016fb48bc480dde83b57466f59f633cbc5128ae6 Mon Sep 17 00:00:00 2001 From: Matt Draisey Date: Thu, 19 Jan 2006 15:58:03 -0500 Subject: [PATCH] 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 --- connect.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/connect.c b/connect.c index d6f4e4c3a..e1c04e1ea 100644 --- a/connect.c +++ b/connect.c @@ -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]); -- 2.30.2