builtin/log: convert some static functions to use struct object_id

Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
brian m. carlson 2016-09-05 20:07:55 +00:00 committed by Junio C Hamano
parent a7bcfa126b
commit d801627b0c

View File

@ -464,9 +464,9 @@ static void show_tagger(char *buf, int len, struct rev_info *rev)
strbuf_release(&out); strbuf_release(&out);
} }
static int show_blob_object(const unsigned char *sha1, struct rev_info *rev, const char *obj_name) static int show_blob_object(const struct object_id *oid, struct rev_info *rev, const char *obj_name)
{ {
unsigned char sha1c[20]; struct object_id oidc;
struct object_context obj_context; struct object_context obj_context;
char *buf; char *buf;
unsigned long size; unsigned long size;
@ -474,13 +474,13 @@ static int show_blob_object(const unsigned char *sha1, struct rev_info *rev, con
fflush(rev->diffopt.file); fflush(rev->diffopt.file);
if (!DIFF_OPT_TOUCHED(&rev->diffopt, ALLOW_TEXTCONV) || if (!DIFF_OPT_TOUCHED(&rev->diffopt, ALLOW_TEXTCONV) ||
!DIFF_OPT_TST(&rev->diffopt, ALLOW_TEXTCONV)) !DIFF_OPT_TST(&rev->diffopt, ALLOW_TEXTCONV))
return stream_blob_to_fd(1, sha1, NULL, 0); return stream_blob_to_fd(1, oid->hash, NULL, 0);
if (get_sha1_with_context(obj_name, 0, sha1c, &obj_context)) if (get_sha1_with_context(obj_name, 0, oidc.hash, &obj_context))
die(_("Not a valid object name %s"), obj_name); die(_("Not a valid object name %s"), obj_name);
if (!obj_context.path[0] || if (!obj_context.path[0] ||
!textconv_object(obj_context.path, obj_context.mode, sha1c, 1, &buf, &size)) !textconv_object(obj_context.path, obj_context.mode, oidc.hash, 1, &buf, &size))
return stream_blob_to_fd(1, sha1, NULL, 0); return stream_blob_to_fd(1, oid->hash, NULL, 0);
if (!buf) if (!buf)
die(_("git show %s: bad file"), obj_name); die(_("git show %s: bad file"), obj_name);
@ -489,15 +489,15 @@ static int show_blob_object(const unsigned char *sha1, struct rev_info *rev, con
return 0; return 0;
} }
static int show_tag_object(const unsigned char *sha1, struct rev_info *rev) static int show_tag_object(const struct object_id *oid, struct rev_info *rev)
{ {
unsigned long size; unsigned long size;
enum object_type type; enum object_type type;
char *buf = read_sha1_file(sha1, &type, &size); char *buf = read_sha1_file(oid->hash, &type, &size);
int offset = 0; int offset = 0;
if (!buf) if (!buf)
return error(_("Could not read object %s"), sha1_to_hex(sha1)); return error(_("Could not read object %s"), oid_to_hex(oid));
assert(type == OBJ_TAG); assert(type == OBJ_TAG);
while (offset < size && buf[offset] != '\n') { while (offset < size && buf[offset] != '\n') {
@ -574,7 +574,7 @@ int cmd_show(int argc, const char **argv, const char *prefix)
const char *name = objects[i].name; const char *name = objects[i].name;
switch (o->type) { switch (o->type) {
case OBJ_BLOB: case OBJ_BLOB:
ret = show_blob_object(o->oid.hash, &rev, name); ret = show_blob_object(&o->oid, &rev, name);
break; break;
case OBJ_TAG: { case OBJ_TAG: {
struct tag *t = (struct tag *)o; struct tag *t = (struct tag *)o;
@ -585,7 +585,7 @@ int cmd_show(int argc, const char **argv, const char *prefix)
diff_get_color_opt(&rev.diffopt, DIFF_COMMIT), diff_get_color_opt(&rev.diffopt, DIFF_COMMIT),
t->tag, t->tag,
diff_get_color_opt(&rev.diffopt, DIFF_RESET)); diff_get_color_opt(&rev.diffopt, DIFF_RESET));
ret = show_tag_object(o->oid.hash, &rev); ret = show_tag_object(&o->oid, &rev);
rev.shown_one = 1; rev.shown_one = 1;
if (ret) if (ret)
break; break;
@ -1248,11 +1248,11 @@ static struct commit *get_base_commit(const char *base_commit,
if (upstream) { if (upstream) {
struct commit_list *base_list; struct commit_list *base_list;
struct commit *commit; struct commit *commit;
unsigned char sha1[20]; struct object_id oid;
if (get_sha1(upstream, sha1)) if (get_oid(upstream, &oid))
die(_("Failed to resolve '%s' as a valid ref."), upstream); die(_("Failed to resolve '%s' as a valid ref."), upstream);
commit = lookup_commit_or_die(sha1, "upstream base"); commit = lookup_commit_or_die(oid.hash, "upstream base");
base_list = get_merge_bases_many(commit, total, list); base_list = get_merge_bases_many(commit, total, list);
/* There should be one and only one merge base. */ /* There should be one and only one merge base. */
if (!base_list || base_list->next) if (!base_list || base_list->next)
@ -1339,15 +1339,15 @@ static void prepare_bases(struct base_tree_info *bases,
* and stuff them in bases structure. * and stuff them in bases structure.
*/ */
while ((commit = get_revision(&revs)) != NULL) { while ((commit = get_revision(&revs)) != NULL) {
unsigned char sha1[20]; struct object_id oid;
struct object_id *patch_id; struct object_id *patch_id;
if (commit->util) if (commit->util)
continue; continue;
if (commit_patch_id(commit, &diffopt, sha1, 0)) if (commit_patch_id(commit, &diffopt, oid.hash, 0))
die(_("cannot get patch id")); die(_("cannot get patch id"));
ALLOC_GROW(bases->patch_id, bases->nr_patch_id + 1, bases->alloc_patch_id); ALLOC_GROW(bases->patch_id, bases->nr_patch_id + 1, bases->alloc_patch_id);
patch_id = bases->patch_id + bases->nr_patch_id; patch_id = bases->patch_id + bases->nr_patch_id;
hashcpy(patch_id->hash, sha1); oidcpy(patch_id, &oid);
bases->nr_patch_id++; bases->nr_patch_id++;
} }
} }
@ -1628,10 +1628,10 @@ int cmd_format_patch(int argc, const char **argv, const char *prefix)
check_head = 1; check_head = 1;
if (check_head) { if (check_head) {
unsigned char sha1[20]; struct object_id oid;
const char *ref, *v; const char *ref, *v;
ref = resolve_ref_unsafe("HEAD", RESOLVE_REF_READING, ref = resolve_ref_unsafe("HEAD", RESOLVE_REF_READING,
sha1, NULL); oid.hash, NULL);
if (ref && skip_prefix(ref, "refs/heads/", &v)) if (ref && skip_prefix(ref, "refs/heads/", &v))
branch_name = xstrdup(v); branch_name = xstrdup(v);
else else
@ -1802,9 +1802,9 @@ int cmd_format_patch(int argc, const char **argv, const char *prefix)
static int add_pending_commit(const char *arg, struct rev_info *revs, int flags) static int add_pending_commit(const char *arg, struct rev_info *revs, int flags)
{ {
unsigned char sha1[20]; struct object_id oid;
if (get_sha1(arg, sha1) == 0) { if (get_oid(arg, &oid) == 0) {
struct commit *commit = lookup_commit_reference(sha1); struct commit *commit = lookup_commit_reference(oid.hash);
if (commit) { if (commit) {
commit->object.flags |= flags; commit->object.flags |= flags;
add_pending_object(revs, &commit->object, arg); add_pending_object(revs, &commit->object, arg);