refs.c: add refs_shorten_unambiguous_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:25 +07:00 committed by Junio C Hamano
parent b3cd33d079
commit 546edf37ae
2 changed files with 11 additions and 2 deletions

11
refs.c
View file

@ -1169,7 +1169,8 @@ int update_ref(const char *msg, const char *refname,
old_oid, flags, onerr);
}
char *shorten_unambiguous_ref(const char *refname, int strict)
char *refs_shorten_unambiguous_ref(struct ref_store *refs,
const char *refname, int strict)
{
int i;
static char **scanf_fmts;
@ -1247,7 +1248,7 @@ char *shorten_unambiguous_ref(const char *refname, int strict)
strbuf_reset(&resolved_buf);
strbuf_addf(&resolved_buf, rule,
short_name_len, short_name);
if (ref_exists(resolved_buf.buf))
if (refs_ref_exists(refs, resolved_buf.buf))
break;
}
@ -1266,6 +1267,12 @@ char *shorten_unambiguous_ref(const char *refname, int strict)
return xstrdup(refname);
}
char *shorten_unambiguous_ref(const char *refname, int strict)
{
return refs_shorten_unambiguous_ref(get_main_ref_store(the_repository),
refname, strict);
}
static struct string_list *hide_refs;
int parse_hide_refs_config(const char *var, const char *value, const char *section)

2
refs.h
View file

@ -462,6 +462,8 @@ int check_refname_format(const char *refname, int flags);
const char *prettify_refname(const char *refname);
char *refs_shorten_unambiguous_ref(struct ref_store *refs,
const char *refname, int strict);
char *shorten_unambiguous_ref(const char *refname, int strict);
/** rename ref, return 0 on success **/