refs.c: add repo_dwim_ref()

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Nguyễn Thái Ngọc Duy 2019-04-06 18:34:28 +07:00 committed by Junio C Hamano
parent 0b1dbf53df
commit d8984c532a
2 changed files with 10 additions and 3 deletions

12
refs.c
View File

@ -555,14 +555,20 @@ static char *substitute_branch_name(struct repository *r,
return NULL; return NULL;
} }


int dwim_ref(const char *str, int len, struct object_id *oid, char **ref) int repo_dwim_ref(struct repository *r, 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(r, &str, &len);
int refs_found = expand_ref(the_repository, str, len, oid, ref); int refs_found = expand_ref(r, str, len, oid, ref);
free(last_branch); free(last_branch);
return refs_found; return refs_found;
} }


int dwim_ref(const char *str, int len, struct object_id *oid, char **ref)
{
return repo_dwim_ref(the_repository, str, len, oid, ref);
}

int expand_ref(struct repository *repo, const char *str, int len, int expand_ref(struct repository *repo, const char *str, int len,
struct object_id *oid, char **ref) struct object_id *oid, char **ref)
{ {

1
refs.h
View File

@ -149,6 +149,7 @@ 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(struct repository *r, 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 repo_dwim_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);