summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Haggerty <mhagger@alum.mit.edu>2015-05-25 18:38:44 +0000
committerJunio C Hamano <gitster@pobox.com>2015-05-25 12:19:30 -0700
commitd70d7a8a4d1e985dea02713a3b1fda3a08d4325e (patch)
tree6c83a0557636e1719c594526672965619038d454
parent53dc95b5cfa1155c3bf9cf909cfc5cb133add1ac (diff)
downloadgit-d70d7a8a4d1e985dea02713a3b1fda3a08d4325e.tar.gz
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>
-rw-r--r--builtin/replace.c18
1 files changed, 8 insertions, 10 deletions
diff --git a/builtin/replace.c b/builtin/replace.c
index bcf1508c08..0d52e7fa1d 100644
--- a/builtin/replace.c
+++ b/builtin/replace.c
@@ -35,7 +35,7 @@ struct show_data {
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)
{
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)
printf("%s\n", refname);
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 */
- unsigned char object[20];
+ struct object_id object;
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);
- obj_type = sha1_object_info(object, NULL);
- repl_type = sha1_object_info(sha1, NULL);
+ obj_type = sha1_object_info(object.hash, NULL);
+ repl_type = sha1_object_info(oid->hash, NULL);
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)
{
struct show_data data;
- struct each_ref_fn_sha1_adapter wrapped_show_reference =
- {show_reference, (void *) &data};
if (pattern == NULL)
pattern = "*";
@@ -84,7 +82,7 @@ static int list_replace_refs(const char *pattern, const char *format)
"valid formats are 'short', 'medium' and 'long'\n",
format);
- for_each_replace_ref(each_ref_fn_adapter, &wrapped_show_reference);
+ for_each_replace_ref(show_reference, (void *)&data);
return 0;
}