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:
parent
a58a1b01ff
commit
654b9a905c
44
revision.c
44
revision.c
@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user