summaryrefslogtreecommitdiff
path: root/setup.c
diff options
context:
space:
mode:
authorBrandon Williams <bmwill@google.com>2017-03-17 10:22:54 -0700
committerJunio C Hamano <gitster@pobox.com>2017-03-17 11:54:50 -0700
commitb58a68c1c1874ff155699d82947c9f026f431cb3 (patch)
treeff6fceed533478b794de61348ab65dcd775d30a9 /setup.c
parent4fb1c6aad82212051d95b2d0b1f4c877d076bf5d (diff)
downloadgit-b58a68c1c1874ff155699d82947c9f026f431cb3.tar.gz
setup: allow for prefix to be passed to git commands
In a future patch child processes which act on submodules need a little more context about the original command that was invoked. This patch teaches git to use the prefix stored in `GIT_INTERNAL_TOPLEVEL_PREFIX` instead of the prefix that was potentally found during the git directory setup process. Signed-off-by: Brandon Williams <bmwill@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'setup.c')
-rw-r--r--setup.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/setup.c b/setup.c
index 967f289f1e..56cd68ba93 100644
--- a/setup.c
+++ b/setup.c
@@ -939,9 +939,14 @@ static const char *setup_git_directory_gently_1(int *nongit_ok)
const char *setup_git_directory_gently(int *nongit_ok)
{
- const char *prefix;
+ const char *prefix, *env_prefix;
prefix = setup_git_directory_gently_1(nongit_ok);
+ env_prefix = getenv(GIT_TOPLEVEL_PREFIX_ENVIRONMENT);
+
+ if (env_prefix)
+ prefix = env_prefix;
+
if (prefix)
setenv(GIT_PREFIX_ENVIRONMENT, prefix, 1);
else