diff options
author | Mike Hommey <mh@glandium.org> | 2015-06-12 06:34:59 +0900 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2015-06-12 15:28:17 -0700 |
commit | 58d121b22b5b83a27a1891dcf335458f687cac1e (patch) | |
tree | c5172c1cc9376718074bf2c008655fbd970d0b7d /builtin | |
parent | Sixth batch for 2.5 cycle (diff) | |
download | tgif-58d121b22b5b83a27a1891dcf335458f687cac1e.tar.xz |
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>
Diffstat (limited to 'builtin')
-rw-r--r-- | builtin/replace.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/builtin/replace.c b/builtin/replace.c index 54bf01acb4..b5b7139645 100644 --- a/builtin/replace.c +++ b/builtin/replace.c @@ -104,9 +104,9 @@ static int for_each_replace_name(const char **argv, each_replace_name_fn fn) continue; } full_hex = sha1_to_hex(sha1); - snprintf(ref, sizeof(ref), "refs/replace/%s", full_hex); + snprintf(ref, sizeof(ref), "%s%s", git_replace_ref_base, full_hex); /* read_ref() may reuse the buffer */ - full_hex = ref + strlen("refs/replace/"); + full_hex = ref + strlen(git_replace_ref_base); if (read_ref(ref, sha1)) { error("replace ref '%s' not found.", full_hex); had_error = 1; @@ -134,7 +134,7 @@ static void check_ref_valid(unsigned char object[20], int force) { if (snprintf(ref, ref_size, - "refs/replace/%s", + "%s%s", git_replace_ref_base, sha1_to_hex(object)) > ref_size - 1) die("replace ref name too long: %.*s...", 50, ref); if (check_refname_format(ref, 0)) |