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:
parent
a7bcfa126b
commit
d801627b0c
@ -464,9 +464,9 @@ static void show_tagger(char *buf, int len, struct rev_info *rev)
|
||||
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;
|
||||
char *buf;
|
||||
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);
|
||||
if (!DIFF_OPT_TOUCHED(&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);
|
||||
if (!obj_context.path[0] ||
|
||||
!textconv_object(obj_context.path, obj_context.mode, sha1c, 1, &buf, &size))
|
||||
return stream_blob_to_fd(1, sha1, NULL, 0);
|
||||
!textconv_object(obj_context.path, obj_context.mode, oidc.hash, 1, &buf, &size))
|
||||
return stream_blob_to_fd(1, oid->hash, NULL, 0);
|
||||
|
||||
if (!buf)
|
||||
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;
|
||||
}
|
||||
|
||||
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;
|
||||
enum object_type type;
|
||||
char *buf = read_sha1_file(sha1, &type, &size);
|
||||
char *buf = read_sha1_file(oid->hash, &type, &size);
|
||||
int offset = 0;
|
||||
|
||||
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);
|
||||
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;
|
||||
switch (o->type) {
|
||||
case OBJ_BLOB:
|
||||
ret = show_blob_object(o->oid.hash, &rev, name);
|
||||
ret = show_blob_object(&o->oid, &rev, name);
|
||||
break;
|
||||
case OBJ_TAG: {
|
||||
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),
|
||||
t->tag,
|
||||
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;
|
||||
if (ret)
|
||||
break;
|
||||
@ -1248,11 +1248,11 @@ static struct commit *get_base_commit(const char *base_commit,
|
||||
if (upstream) {
|
||||
struct commit_list *base_list;
|
||||
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);
|
||||
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);
|
||||
/* There should be one and only one merge base. */
|
||||
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.
|
||||
*/
|
||||
while ((commit = get_revision(&revs)) != NULL) {
|
||||
unsigned char sha1[20];
|
||||
struct object_id oid;
|
||||
struct object_id *patch_id;
|
||||
if (commit->util)
|
||||
continue;
|
||||
if (commit_patch_id(commit, &diffopt, sha1, 0))
|
||||
if (commit_patch_id(commit, &diffopt, oid.hash, 0))
|
||||
die(_("cannot get 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;
|
||||
hashcpy(patch_id->hash, sha1);
|
||||
oidcpy(patch_id, &oid);
|
||||
bases->nr_patch_id++;
|
||||
}
|
||||
}
|
||||
@ -1628,10 +1628,10 @@ int cmd_format_patch(int argc, const char **argv, const char *prefix)
|
||||
check_head = 1;
|
||||
|
||||
if (check_head) {
|
||||
unsigned char sha1[20];
|
||||
struct object_id oid;
|
||||
const char *ref, *v;
|
||||
ref = resolve_ref_unsafe("HEAD", RESOLVE_REF_READING,
|
||||
sha1, NULL);
|
||||
oid.hash, NULL);
|
||||
if (ref && skip_prefix(ref, "refs/heads/", &v))
|
||||
branch_name = xstrdup(v);
|
||||
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)
|
||||
{
|
||||
unsigned char sha1[20];
|
||||
if (get_sha1(arg, sha1) == 0) {
|
||||
struct commit *commit = lookup_commit_reference(sha1);
|
||||
struct object_id oid;
|
||||
if (get_oid(arg, &oid) == 0) {
|
||||
struct commit *commit = lookup_commit_reference(oid.hash);
|
||||
if (commit) {
|
||||
commit->object.flags |= flags;
|
||||
add_pending_object(revs, &commit->object, arg);
|
||||
|
Loading…
Reference in New Issue
Block a user