Allow to control where the replace refs are looked for
It can be useful to have grafts or replace refs for specific use-cases while keeping the default "view" of the repository pristine (or with a different set of grafts/replace refs). It is possible to use a different graft file with GIT_GRAFT_FILE, but while replace refs are more powerful, they don't have an equivalent override. Add a GIT_REPLACE_REF_BASE environment variable to control where git is going to look for replace refs. Signed-off-by: Mike Hommey <mh@glandium.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
f86f31ab33
commit
58d121b22b
@ -96,11 +96,12 @@ static int add_ref_decoration(const char *refname, const unsigned char *sha1, in
|
||||
|
||||
assert(cb_data == NULL);
|
||||
|
||||
if (starts_with(refname, "refs/replace/")) {
|
||||
if (starts_with(refname, git_replace_ref_base)) {
|
||||
unsigned char original_sha1[20];
|
||||
if (!check_replace_refs)
|
||||
return 0;
|
||||
if (get_sha1_hex(refname + 13, original_sha1)) {
|
||||
if (get_sha1_hex(refname + strlen(git_replace_ref_base),
|
||||
original_sha1)) {
|
||||
warning("invalid replace ref %s", refname);
|
||||
return 0;
|
||||
}
|
||||
|
Reference in New Issue
Block a user