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:
parent
8f56e9d4ba
commit
0b1dbf53df
10
refs.c
10
refs.c
@ -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)
|
int dwim_ref(const char *str, int len, struct object_id *oid, char **ref)
|
||||||
{
|
{
|
||||||
char *last_branch = substitute_branch_name(the_repository, &str, &len);
|
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);
|
free(last_branch);
|
||||||
return refs_found;
|
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;
|
const char **p, *r;
|
||||||
int refs_found = 0;
|
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;
|
this_result = refs_found ? &oid_from_ref : oid;
|
||||||
strbuf_reset(&fullref);
|
strbuf_reset(&fullref);
|
||||||
strbuf_addf(&fullref, *p, len, str);
|
strbuf_addf(&fullref, *p, len, str);
|
||||||
r = resolve_ref_unsafe(fullref.buf, RESOLVE_REF_READING,
|
r = refs_resolve_ref_unsafe(get_main_ref_store(repo),
|
||||||
this_result, &flag);
|
fullref.buf, RESOLVE_REF_READING,
|
||||||
|
this_result, &flag);
|
||||||
if (r) {
|
if (r) {
|
||||||
if (!refs_found++)
|
if (!refs_found++)
|
||||||
*ref = xstrdup(r);
|
*ref = xstrdup(r);
|
||||||
|
2
refs.h
2
refs.h
@ -148,7 +148,7 @@ int refname_match(const char *abbrev_name, const char *full_name);
|
|||||||
struct argv_array;
|
struct argv_array;
|
||||||
void expand_ref_prefix(struct argv_array *prefixes, const char *prefix);
|
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_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);
|
int dwim_log(const char *str, int len, struct object_id *oid, char **ref);
|
||||||
|
|
||||||
|
@ -834,7 +834,7 @@ static int process_deepen_not(const char *line, struct string_list *deepen_not,
|
|||||||
if (skip_prefix(line, "deepen-not ", &arg)) {
|
if (skip_prefix(line, "deepen-not ", &arg)) {
|
||||||
char *ref = NULL;
|
char *ref = NULL;
|
||||||
struct object_id oid;
|
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);
|
die("git upload-pack: ambiguous deepen-not: %s", line);
|
||||||
string_list_append(deepen_not, ref);
|
string_list_append(deepen_not, ref);
|
||||||
free(ref);
|
free(ref);
|
||||||
|
Loading…
Reference in New Issue
Block a user