refs.c: remove the_repo from expand_ref()

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Nguyễn Thái Ngọc Duy 2019-04-06 18:34:27 +07:00 committed by Junio C Hamano
parent 8f56e9d4ba
commit 0b1dbf53df
3 changed files with 8 additions and 6 deletions

10
refs.c
View File

@ -558,12 +558,13 @@ static char *substitute_branch_name(struct repository *r,
int dwim_ref(const char *str, int len, struct object_id *oid, char **ref)
{
char *last_branch = substitute_branch_name(the_repository, &str, &len);
int refs_found = expand_ref(str, len, oid, ref);
int refs_found = expand_ref(the_repository, str, len, oid, ref);
free(last_branch);
return refs_found;
}
int expand_ref(const char *str, int len, struct object_id *oid, char **ref)
int expand_ref(struct repository *repo, const char *str, int len,
struct object_id *oid, char **ref)
{
const char **p, *r;
int refs_found = 0;
@ -578,8 +579,9 @@ int expand_ref(const char *str, int len, struct object_id *oid, char **ref)
this_result = refs_found ? &oid_from_ref : oid;
strbuf_reset(&fullref);
strbuf_addf(&fullref, *p, len, str);
r = resolve_ref_unsafe(fullref.buf, RESOLVE_REF_READING,
this_result, &flag);
r = refs_resolve_ref_unsafe(get_main_ref_store(repo),
fullref.buf, RESOLVE_REF_READING,
this_result, &flag);
if (r) {
if (!refs_found++)
*ref = xstrdup(r);

2
refs.h
View File

@ -148,7 +148,7 @@ int refname_match(const char *abbrev_name, const char *full_name);
struct argv_array;
void expand_ref_prefix(struct argv_array *prefixes, const char *prefix);
int expand_ref(const char *str, int len, struct object_id *oid, char **ref);
int expand_ref(struct repository *r, const char *str, int len, struct object_id *oid, char **ref);
int dwim_ref(const char *str, int len, struct object_id *oid, char **ref);
int dwim_log(const char *str, int len, struct object_id *oid, char **ref);

View File

@ -834,7 +834,7 @@ static int process_deepen_not(const char *line, struct string_list *deepen_not,
if (skip_prefix(line, "deepen-not ", &arg)) {
char *ref = NULL;
struct object_id oid;
if (expand_ref(arg, strlen(arg), &oid, &ref) != 1)
if (expand_ref(the_repository, arg, strlen(arg), &oid, &ref) != 1)
die("git upload-pack: ambiguous deepen-not: %s", line);
string_list_append(deepen_not, ref);
free(ref);