revision: convert remaining parse_object callers to 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 2017-05-06 22:10:27 +00:00 committed by Junio C Hamano
parent a58a1b01ff
commit 654b9a905c

View File

@ -177,23 +177,23 @@ void add_pending_object(struct rev_info *revs,
void add_head_to_pending(struct rev_info *revs) void add_head_to_pending(struct rev_info *revs)
{ {
unsigned char sha1[20]; struct object_id oid;
struct object *obj; struct object *obj;
if (get_sha1("HEAD", sha1)) if (get_oid("HEAD", &oid))
return; return;
obj = parse_object(sha1); obj = parse_object(oid.hash);
if (!obj) if (!obj)
return; return;
add_pending_object(revs, obj, "HEAD"); add_pending_object(revs, obj, "HEAD");
} }
static struct object *get_reference(struct rev_info *revs, const char *name, static struct object *get_reference(struct rev_info *revs, const char *name,
const unsigned char *sha1, const struct object_id *oid,
unsigned int flags) unsigned int flags)
{ {
struct object *object; struct object *object;
object = parse_object(sha1); object = parse_object(oid->hash);
if (!object) { if (!object) {
if (revs->ignore_missing) if (revs->ignore_missing)
return object; return object;
@ -206,7 +206,7 @@ static struct object *get_reference(struct rev_info *revs, const char *name,
void add_pending_oid(struct rev_info *revs, const char *name, void add_pending_oid(struct rev_info *revs, const char *name,
const struct object_id *oid, unsigned int flags) const struct object_id *oid, unsigned int flags)
{ {
struct object *object = get_reference(revs, name, oid->hash, flags); struct object *object = get_reference(revs, name, oid, flags);
add_pending_object(revs, object, name); add_pending_object(revs, object, name);
} }
@ -1157,7 +1157,7 @@ static int handle_one_ref(const char *path, const struct object_id *oid,
if (ref_excluded(cb->all_revs->ref_excludes, path)) if (ref_excluded(cb->all_revs->ref_excludes, path))
return 0; return 0;
object = get_reference(cb->all_revs, path, oid->hash, cb->all_flags); object = get_reference(cb->all_revs, path, oid, cb->all_flags);
add_rev_cmdline(cb->all_revs, object, path, REV_CMD_REF, cb->all_flags); add_rev_cmdline(cb->all_revs, object, path, REV_CMD_REF, cb->all_flags);
add_pending_oid(cb->all_revs, path, oid, cb->all_flags); add_pending_oid(cb->all_revs, path, oid, cb->all_flags);
return 0; return 0;
@ -1292,7 +1292,7 @@ void add_index_objects_to_pending(struct rev_info *revs, unsigned flags)
static int add_parents_only(struct rev_info *revs, const char *arg_, int flags, static int add_parents_only(struct rev_info *revs, const char *arg_, int flags,
int exclude_parent) int exclude_parent)
{ {
unsigned char sha1[20]; struct object_id oid;
struct object *it; struct object *it;
struct commit *commit; struct commit *commit;
struct commit_list *parents; struct commit_list *parents;
@ -1303,17 +1303,17 @@ static int add_parents_only(struct rev_info *revs, const char *arg_, int flags,
flags ^= UNINTERESTING | BOTTOM; flags ^= UNINTERESTING | BOTTOM;
arg++; arg++;
} }
if (get_sha1_committish(arg, sha1)) if (get_sha1_committish(arg, oid.hash))
return 0; return 0;
while (1) { while (1) {
it = get_reference(revs, arg, sha1, 0); it = get_reference(revs, arg, &oid, 0);
if (!it && revs->ignore_missing) if (!it && revs->ignore_missing)
return 0; return 0;
if (it->type != OBJ_TAG) if (it->type != OBJ_TAG)
break; break;
if (!((struct tag*)it)->tagged) if (!((struct tag*)it)->tagged)
return 0; return 0;
hashcpy(sha1, ((struct tag*)it)->tagged->oid.hash); oidcpy(&oid, &((struct tag*)it)->tagged->oid);
} }
if (it->type != OBJ_COMMIT) if (it->type != OBJ_COMMIT)
return 0; return 0;
@ -1434,7 +1434,7 @@ int handle_revision_arg(const char *arg_, struct rev_info *revs, int flags, unsi
struct object_context oc; struct object_context oc;
char *dotdot; char *dotdot;
struct object *object; struct object *object;
unsigned char sha1[20]; struct object_id oid;
int local_flags; int local_flags;
const char *arg = arg_; const char *arg = arg_;
int cant_be_filename = revarg_opt & REVARG_CANNOT_BE_FILENAME; int cant_be_filename = revarg_opt & REVARG_CANNOT_BE_FILENAME;
@ -1444,7 +1444,7 @@ int handle_revision_arg(const char *arg_, struct rev_info *revs, int flags, unsi
dotdot = strstr(arg, ".."); dotdot = strstr(arg, "..");
if (dotdot) { if (dotdot) {
unsigned char from_sha1[20]; struct object_id from_oid;
const char *next = dotdot + 2; const char *next = dotdot + 2;
const char *this = arg; const char *this = arg;
int symmetric = *next == '.'; int symmetric = *next == '.';
@ -1470,8 +1470,8 @@ int handle_revision_arg(const char *arg_, struct rev_info *revs, int flags, unsi
return -1; return -1;
} }
} }
if (!get_sha1_committish(this, from_sha1) && if (!get_sha1_committish(this, from_oid.hash) &&
!get_sha1_committish(next, sha1)) { !get_sha1_committish(next, oid.hash)) {
struct object *a_obj, *b_obj; struct object *a_obj, *b_obj;
if (!cant_be_filename) { if (!cant_be_filename) {
@ -1479,8 +1479,8 @@ int handle_revision_arg(const char *arg_, struct rev_info *revs, int flags, unsi
verify_non_filename(revs->prefix, arg); verify_non_filename(revs->prefix, arg);
} }
a_obj = parse_object(from_sha1); a_obj = parse_object(from_oid.hash);
b_obj = parse_object(sha1); b_obj = parse_object(oid.hash);
if (!a_obj || !b_obj) { if (!a_obj || !b_obj) {
missing: missing:
if (revs->ignore_missing) if (revs->ignore_missing)
@ -1568,11 +1568,11 @@ int handle_revision_arg(const char *arg_, struct rev_info *revs, int flags, unsi
if (revarg_opt & REVARG_COMMITTISH) if (revarg_opt & REVARG_COMMITTISH)
get_sha1_flags = GET_SHA1_COMMITTISH; get_sha1_flags = GET_SHA1_COMMITTISH;
if (get_sha1_with_context(arg, get_sha1_flags, sha1, &oc)) if (get_sha1_with_context(arg, get_sha1_flags, oid.hash, &oc))
return revs->ignore_missing ? 0 : -1; return revs->ignore_missing ? 0 : -1;
if (!cant_be_filename) if (!cant_be_filename)
verify_non_filename(revs->prefix, arg); verify_non_filename(revs->prefix, arg);
object = get_reference(revs, arg, sha1, flags ^ local_flags); object = get_reference(revs, arg, &oid, flags ^ local_flags);
add_rev_cmdline(revs, object, arg_, REV_CMD_REV, flags ^ local_flags); add_rev_cmdline(revs, object, arg_, REV_CMD_REV, flags ^ local_flags);
add_pending_object_with_mode(revs, object, arg, oc.mode); add_pending_object_with_mode(revs, object, arg, oc.mode);
return 0; return 0;
@ -2287,12 +2287,12 @@ int setup_revisions(int argc, const char **argv, struct rev_info *revs, struct s
if (revs->show_merge) if (revs->show_merge)
prepare_show_merge(revs); prepare_show_merge(revs);
if (revs->def && !revs->pending.nr && !got_rev_arg) { if (revs->def && !revs->pending.nr && !got_rev_arg) {
unsigned char sha1[20]; struct object_id oid;
struct object *object; struct object *object;
struct object_context oc; struct object_context oc;
if (get_sha1_with_context(revs->def, 0, sha1, &oc)) if (get_sha1_with_context(revs->def, 0, oid.hash, &oc))
diagnose_missing_default(revs->def); diagnose_missing_default(revs->def);
object = get_reference(revs, revs->def, sha1, 0); object = get_reference(revs, revs->def, &oid, 0);
add_pending_object_with_mode(revs, object, revs->def, oc.mode); add_pending_object_with_mode(revs, object, revs->def, oc.mode);
} }