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 <mhagger@alum.mit.edu> Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Michael Haggerty committed
May 25, 2015 at 18:38 UTC
99a2cfbfe639ccd13e48ac48e8bd4461c9c1b178
1 file changed
+7
-9
builtin/describe.c
+7
-9
@@ -119,10 +119,10 @@ static void add_to_known_names(const char *path,
119
}
120
}
121
122
-static int get_name(const char *path, const unsigned char *sha1, int flag, void *cb_data)
122
+static int get_name(const char *path, const struct object_id *oid, int flag, void *cb_data)
123
{
124
int is_tag = starts_with(path, "refs/tags/");
125
- unsigned char peeled[20];
125
+ struct object_id peeled;
126
int is_annotated, prio;
127
128
/* 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
134
return 0;
135
136
/* Is it annotated? */
137
- if (!peel_ref(path, peeled)) {
138
- is_annotated = !!hashcmp(sha1, peeled);
137
+ if (!peel_ref(path, peeled.hash)) {
138
+ is_annotated = !!oidcmp(oid, &peeled);
139
} else {
140
- hashcpy(peeled, sha1);
140
+ oidcpy(&peeled, oid);
141
is_annotated = 0;
142
}
143
@@ -154,7 +154,7 @@ static int get_name(const char *path, const unsigned char *sha1, int flag, void
154
else
155
prio = 0;
156
157
- add_to_known_names(all ? path + 5 : path + 10, peeled, prio, sha1);
157
+ add_to_known_names(all ? path + 5 : path + 10, peeled.hash, prio, oid->hash);
158
return 0;
159
}
160
@@ -413,8 +413,6 @@ int cmd_describe(int argc, const char **argv, const char *prefix)
413
PARSE_OPT_OPTARG, NULL, (intptr_t) "-dirty"},
414
OPT_END(),
415
};
416
- struct each_ref_fn_sha1_adapter wrapped_get_name =
417
- {get_name, NULL};
416
417
git_config(git_default_config, NULL);
418
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)
451
}
452
453
hashmap_init(&names, (hashmap_cmp_fn) commit_name_cmp, 0);
456
- for_each_rawref(each_ref_fn_adapter, &wrapped_get_name);
454
+ for_each_rawref(get_name, NULL);
455
if (!names.size && !always)
456
die(_("No names found, cannot describe anything."));
457