From 99a2cfbfe639ccd13e48ac48e8bd4461c9c1b178 Mon Sep 17 00:00:00 2001 From: Michael Haggerty Date: Mon, 25 May 2015 18:38:34 +0000 Subject: [PATCH] get_name(): rewrite to take an object_id argument Rewrite to take an object_id argument and convert the local variable "peeled" object_id. Signed-off-by: Michael Haggerty Signed-off-by: brian m. carlson Signed-off-by: Junio C Hamano --- builtin/describe.c | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/builtin/describe.c b/builtin/describe.c index 7d0c855750..a36c829e57 100644 --- a/builtin/describe.c +++ b/builtin/describe.c @@ -119,10 +119,10 @@ static void add_to_known_names(const char *path, } } -static int get_name(const char *path, const unsigned char *sha1, int flag, void *cb_data) +static int get_name(const char *path, const struct object_id *oid, int flag, void *cb_data) { int is_tag = starts_with(path, "refs/tags/"); - unsigned char peeled[20]; + struct object_id peeled; int is_annotated, prio; /* Reject anything outside refs/tags/ unless --all */ @@ -134,10 +134,10 @@ static int get_name(const char *path, const unsigned char *sha1, int flag, void return 0; /* Is it annotated? */ - if (!peel_ref(path, peeled)) { - is_annotated = !!hashcmp(sha1, peeled); + if (!peel_ref(path, peeled.hash)) { + is_annotated = !!oidcmp(oid, &peeled); } else { - hashcpy(peeled, sha1); + oidcpy(&peeled, oid); is_annotated = 0; } @@ -154,7 +154,7 @@ static int get_name(const char *path, const unsigned char *sha1, int flag, void else prio = 0; - add_to_known_names(all ? path + 5 : path + 10, peeled, prio, sha1); + add_to_known_names(all ? path + 5 : path + 10, peeled.hash, prio, oid->hash); return 0; } @@ -413,8 +413,6 @@ int cmd_describe(int argc, const char **argv, const char *prefix) PARSE_OPT_OPTARG, NULL, (intptr_t) "-dirty"}, OPT_END(), }; - struct each_ref_fn_sha1_adapter wrapped_get_name = - {get_name, NULL}; git_config(git_default_config, NULL); argc = parse_options(argc, argv, prefix, options, describe_usage, 0); @@ -453,7 +451,7 @@ int cmd_describe(int argc, const char **argv, const char *prefix) } hashmap_init(&names, (hashmap_cmp_fn) commit_name_cmp, 0); - for_each_rawref(each_ref_fn_adapter, &wrapped_get_name); + for_each_rawref(get_name, NULL); if (!names.size && !always) die(_("No names found, cannot describe anything.")); -- 2.11.4.GIT