sha1-name.c: add repo_for_each_abbrev()
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
ef9b0370da
commit
4e99f2dbea
3
cache.h
3
cache.h
@ -1392,7 +1392,8 @@ extern enum get_oid_result get_oid_with_context(struct repository *repo, const c
|
|||||||
struct object_context *oc);
|
struct object_context *oc);
|
||||||
|
|
||||||
typedef int each_abbrev_fn(const struct object_id *oid, void *);
|
typedef int each_abbrev_fn(const struct object_id *oid, void *);
|
||||||
extern int for_each_abbrev(const char *prefix, each_abbrev_fn, void *);
|
int repo_for_each_abbrev(struct repository *r, const char *prefix, each_abbrev_fn, void *);
|
||||||
|
#define for_each_abbrev(prefix, fn, data) repo_for_each_abbrev(the_repository, prefix, fn, data)
|
||||||
|
|
||||||
extern int set_disambiguate_hint_config(const char *var, const char *value);
|
extern int set_disambiguate_hint_config(const char *var, const char *value);
|
||||||
|
|
||||||
|
@ -493,13 +493,14 @@ static enum get_oid_result get_short_oid(const char *name, int len,
|
|||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
int for_each_abbrev(const char *prefix, each_abbrev_fn fn, void *cb_data)
|
int repo_for_each_abbrev(struct repository *r, const char *prefix,
|
||||||
|
each_abbrev_fn fn, void *cb_data)
|
||||||
{
|
{
|
||||||
struct oid_array collect = OID_ARRAY_INIT;
|
struct oid_array collect = OID_ARRAY_INIT;
|
||||||
struct disambiguate_state ds;
|
struct disambiguate_state ds;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
if (init_object_disambiguation(the_repository, prefix, strlen(prefix), &ds) < 0)
|
if (init_object_disambiguation(r, prefix, strlen(prefix), &ds) < 0)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
ds.always_call_fn = 1;
|
ds.always_call_fn = 1;
|
||||||
|
Loading…
Reference in New Issue
Block a user