From 58d121b22b5b83a27a1891dcf335458f687cac1e Mon Sep 17 00:00:00 2001 From: Mike Hommey Date: Fri, 12 Jun 2015 06:34:59 +0900 Subject: 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 Signed-off-by: Junio C Hamano --- log-tree.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'log-tree.c') diff --git a/log-tree.c b/log-tree.c index 8dba7be92..9c25bbc1c 100644 --- a/log-tree.c +++ b/log-tree.c @@ -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; } -- cgit v1.2.1