Merge branch 'sb/object-id'

Conversion from uchar[20] to struct object_id continues.

* sb/object-id:
  tag: convert gpg_verify_tag to use struct object_id
  commit: convert lookup_commit_graft to struct object_id
maint
Junio C Hamano 2017-08-11 13:26:55 -07:00
commit 3943f6caaa
8 changed files with 19 additions and 18 deletions

View File

@ -111,7 +111,7 @@ static int verify_tag(const char *name, const char *ref,
if (fmt_pretty)
flags = GPG_VERIFY_OMIT_STATUS;

if (gpg_verify_tag(oid->hash, name, flags))
if (gpg_verify_tag(oid, name, flags))
return -1;

if (fmt_pretty)

View File

@ -56,20 +56,21 @@ int cmd_verify_tag(int argc, const char **argv, const char *prefix)
}

while (i < argc) {
unsigned char sha1[20];
struct object_id oid;
const char *name = argv[i++];
if (get_sha1(name, sha1)) {

if (get_oid(name, &oid)) {
had_error = !!error("tag '%s' not found.", name);
continue;
}

if (gpg_verify_tag(sha1, name, flags)) {
if (gpg_verify_tag(&oid, name, flags)) {
had_error = 1;
continue;
}

if (fmt_pretty)
pretty_print_ref(name, sha1, fmt_pretty);
pretty_print_ref(name, oid.hash, fmt_pretty);
}
return had_error;
}

View File

@ -199,11 +199,11 @@ static void prepare_commit_graft(void)
commit_graft_prepared = 1;
}

struct commit_graft *lookup_commit_graft(const unsigned char *sha1)
struct commit_graft *lookup_commit_graft(const struct object_id *oid)
{
int pos;
prepare_commit_graft();
pos = commit_graft_pos(sha1);
pos = commit_graft_pos(oid->hash);
if (pos < 0)
return NULL;
return commit_graft[pos];
@ -335,7 +335,7 @@ int parse_commit_buffer(struct commit *item, const void *buffer, unsigned long s
bufptr += tree_entry_len + 1; /* "tree " + "hex sha1" + "\n" */
pptr = &item->parents;

graft = lookup_commit_graft(item->object.oid.hash);
graft = lookup_commit_graft(&item->object.oid);
while (bufptr + parent_entry_len < tail && !memcmp(bufptr, "parent ", 7)) {
struct commit *new_parent;


View File

@ -249,7 +249,7 @@ typedef int (*each_commit_graft_fn)(const struct commit_graft *, void *);

struct commit_graft *read_graft_line(char *buf, int len);
int register_commit_graft(struct commit_graft *, int);
struct commit_graft *lookup_commit_graft(const unsigned char *sha1);
struct commit_graft *lookup_commit_graft(const struct object_id *oid);

extern struct commit_list *get_merge_bases(struct commit *rev1, struct commit *rev2);
extern struct commit_list *get_merge_bases_many(struct commit *one, int n, struct commit **twos);

2
fsck.c
View File

@ -736,7 +736,7 @@ static int fsck_commit_buffer(struct commit *commit, const char *buffer,
buffer += 41;
parent_line_count++;
}
graft = lookup_commit_graft(commit->object.oid.hash);
graft = lookup_commit_graft(&commit->object.oid);
parent_count = commit_list_count(commit->parents);
if (graft) {
if (graft->nr_parent == -1 && !parent_count)

View File

@ -107,7 +107,7 @@ struct commit_list *get_shallow_commits(struct object_array *heads, int depth,
cur_depth++;
if ((depth != INFINITE_DEPTH && cur_depth >= depth) ||
(is_repository_shallow() && !commit->parents &&
(graft = lookup_commit_graft(commit->object.oid.hash)) != NULL &&
(graft = lookup_commit_graft(&commit->object.oid)) != NULL &&
graft->nr_parent < 0)) {
commit_list_insert(commit, &result);
commit->object.flags |= shallow_flag;
@ -398,7 +398,7 @@ void prepare_shallow_info(struct shallow_info *info, struct oid_array *sa)
for (i = 0; i < sa->nr; i++) {
if (has_object_file(sa->oid + i)) {
struct commit_graft *graft;
graft = lookup_commit_graft(sa->oid[i].hash);
graft = lookup_commit_graft(&sa->oid[i]);
if (graft && graft->nr_parent < 0)
continue;
info->ours[info->nr_ours++] = i;

10
tag.c
View File

@ -33,7 +33,7 @@ static int run_gpg_verify(const char *buf, unsigned long size, unsigned flags)
return ret;
}

int gpg_verify_tag(const unsigned char *sha1, const char *name_to_report,
int gpg_verify_tag(const struct object_id *oid, const char *name_to_report,
unsigned flags)
{
enum object_type type;
@ -41,20 +41,20 @@ int gpg_verify_tag(const unsigned char *sha1, const char *name_to_report,
unsigned long size;
int ret;

type = sha1_object_info(sha1, NULL);
type = sha1_object_info(oid->hash, NULL);
if (type != OBJ_TAG)
return error("%s: cannot verify a non-tag object of type %s.",
name_to_report ?
name_to_report :
find_unique_abbrev(sha1, DEFAULT_ABBREV),
find_unique_abbrev(oid->hash, DEFAULT_ABBREV),
typename(type));

buf = read_sha1_file(sha1, &type, &size);
buf = read_sha1_file(oid->hash, &type, &size);
if (!buf)
return error("%s: unable to read file.",
name_to_report ?
name_to_report :
find_unique_abbrev(sha1, DEFAULT_ABBREV));
find_unique_abbrev(oid->hash, DEFAULT_ABBREV));

ret = run_gpg_verify(buf, size, flags);


2
tag.h
View File

@ -17,7 +17,7 @@ extern int parse_tag_buffer(struct tag *item, const void *data, unsigned long si
extern int parse_tag(struct tag *item);
extern struct object *deref_tag(struct object *, const char *, int);
extern struct object *deref_tag_noverify(struct object *);
extern int gpg_verify_tag(const unsigned char *sha1,
extern int gpg_verify_tag(const struct object_id *oid,
const char *name_to_report, unsigned flags);

#endif /* TAG_H */