show_reference(): rewrite to take an object_id argument
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>
This commit is contained in:
parent
53dc95b5cf
commit
d70d7a8a4d
@ -35,7 +35,7 @@ struct show_data {
|
|||||||
enum replace_format format;
|
enum replace_format format;
|
||||||
};
|
};
|
||||||
|
|
||||||
static int show_reference(const char *refname, const unsigned char *sha1,
|
static int show_reference(const char *refname, const struct object_id *oid,
|
||||||
int flag, void *cb_data)
|
int flag, void *cb_data)
|
||||||
{
|
{
|
||||||
struct show_data *data = cb_data;
|
struct show_data *data = cb_data;
|
||||||
@ -44,19 +44,19 @@ static int show_reference(const char *refname, const unsigned char *sha1,
|
|||||||
if (data->format == REPLACE_FORMAT_SHORT)
|
if (data->format == REPLACE_FORMAT_SHORT)
|
||||||
printf("%s\n", refname);
|
printf("%s\n", refname);
|
||||||
else if (data->format == REPLACE_FORMAT_MEDIUM)
|
else if (data->format == REPLACE_FORMAT_MEDIUM)
|
||||||
printf("%s -> %s\n", refname, sha1_to_hex(sha1));
|
printf("%s -> %s\n", refname, oid_to_hex(oid));
|
||||||
else { /* data->format == REPLACE_FORMAT_LONG */
|
else { /* data->format == REPLACE_FORMAT_LONG */
|
||||||
unsigned char object[20];
|
struct object_id object;
|
||||||
enum object_type obj_type, repl_type;
|
enum object_type obj_type, repl_type;
|
||||||
|
|
||||||
if (get_sha1(refname, object))
|
if (get_sha1(refname, object.hash))
|
||||||
return error("Failed to resolve '%s' as a valid ref.", refname);
|
return error("Failed to resolve '%s' as a valid ref.", refname);
|
||||||
|
|
||||||
obj_type = sha1_object_info(object, NULL);
|
obj_type = sha1_object_info(object.hash, NULL);
|
||||||
repl_type = sha1_object_info(sha1, NULL);
|
repl_type = sha1_object_info(oid->hash, NULL);
|
||||||
|
|
||||||
printf("%s (%s) -> %s (%s)\n", refname, typename(obj_type),
|
printf("%s (%s) -> %s (%s)\n", refname, typename(obj_type),
|
||||||
sha1_to_hex(sha1), typename(repl_type));
|
oid_to_hex(oid), typename(repl_type));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -66,8 +66,6 @@ static int show_reference(const char *refname, const unsigned char *sha1,
|
|||||||
static int list_replace_refs(const char *pattern, const char *format)
|
static int list_replace_refs(const char *pattern, const char *format)
|
||||||
{
|
{
|
||||||
struct show_data data;
|
struct show_data data;
|
||||||
struct each_ref_fn_sha1_adapter wrapped_show_reference =
|
|
||||||
{show_reference, (void *) &data};
|
|
||||||
|
|
||||||
if (pattern == NULL)
|
if (pattern == NULL)
|
||||||
pattern = "*";
|
pattern = "*";
|
||||||
@ -84,7 +82,7 @@ static int list_replace_refs(const char *pattern, const char *format)
|
|||||||
"valid formats are 'short', 'medium' and 'long'\n",
|
"valid formats are 'short', 'medium' and 'long'\n",
|
||||||
format);
|
format);
|
||||||
|
|
||||||
for_each_replace_ref(each_ref_fn_adapter, &wrapped_show_reference);
|
for_each_replace_ref(show_reference, (void *)&data);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user