diff options
author | Junio C Hamano <gitster@pobox.com> | 2015-08-03 11:01:10 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2015-08-03 11:01:10 -0700 |
commit | 31a0ad545681159be2ccc633a1a16a891cafbae3 (patch) | |
tree | 26ab4d6997f50fdab7ecebfa950d926683a5c492 /environment.c | |
parent | a17c56c056d5fea0843b429132904c429a900229 (diff) | |
parent | 58d121b22b5b83a27a1891dcf335458f687cac1e (diff) | |
download | git-31a0ad545681159be2ccc633a1a16a891cafbae3.tar.gz git-31a0ad545681159be2ccc633a1a16a891cafbae3.tar.xz |
Merge branch 'mh/replace-refs'
Add an environment variable to tell Git to look into refs hierarchy
other than refs/replace/ for the object replacement data.
* mh/replace-refs:
Allow to control where the replace refs are looked for
Diffstat (limited to 'environment.c')
-rw-r--r-- | environment.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/environment.c b/environment.c index 61c685b8d..01cb28dda 100644 --- a/environment.c +++ b/environment.c @@ -47,6 +47,7 @@ const char *askpass_program; const char *excludes_file; enum auto_crlf auto_crlf = AUTO_CRLF_FALSE; int check_replace_refs = 1; +char *git_replace_ref_base; enum eol core_eol = EOL_UNSET; enum safe_crlf safe_crlf = SAFE_CRLF_WARN; unsigned whitespace_rule_cfg = WS_DEFAULT_RULE; @@ -110,6 +111,7 @@ const char * const local_repo_env[] = { GRAFT_ENVIRONMENT, INDEX_ENVIRONMENT, NO_REPLACE_OBJECTS_ENVIRONMENT, + GIT_REPLACE_REF_BASE_ENVIRONMENT, GIT_PREFIX_ENVIRONMENT, GIT_SHALLOW_FILE_ENVIRONMENT, GIT_COMMON_DIR_ENVIRONMENT, @@ -156,6 +158,7 @@ static void setup_git_env(void) struct strbuf sb = STRBUF_INIT; const char *gitfile; const char *shallow_file; + const char *replace_ref_base; git_dir = getenv(GIT_DIR_ENVIRONMENT); if (!git_dir) @@ -173,6 +176,9 @@ static void setup_git_env(void) "info/grafts", &git_graft_env); if (getenv(NO_REPLACE_OBJECTS_ENVIRONMENT)) check_replace_refs = 0; + replace_ref_base = getenv(GIT_REPLACE_REF_BASE_ENVIRONMENT); + git_replace_ref_base = xstrdup(replace_ref_base ? replace_ref_base + : "refs/replace/"); namespace = expand_namespace(getenv(GIT_NAMESPACE_ENVIRONMENT)); namespace_len = strlen(namespace); shallow_file = getenv(GIT_SHALLOW_FILE_ENVIRONMENT); |