Skip to content

Commit

Permalink
sha1_file: convert sha1_object_info* to object_id
Browse files Browse the repository at this point in the history
Convert sha1_object_info and sha1_object_info_extended to take pointers
to struct object_id and rename them to use "oid" instead of "sha1" in
their names.  Update the declaration and definition and apply the
following semantic patch, plus the standard object_id transforms:

@@
expression E1, E2;
@@
- sha1_object_info(E1.hash, E2)
+ oid_object_info(&E1, E2)

@@
expression E1, E2;
@@
- sha1_object_info(E1->hash, E2)
+ oid_object_info(E1, E2)

@@
expression E1, E2, E3;
@@
- sha1_object_info_extended(E1.hash, E2, E3)
+ oid_object_info_extended(&E1, E2, E3)

@@
expression E1, E2, E3;
@@
- sha1_object_info_extended(E1->hash, E2, E3)
+ oid_object_info_extended(E1, E2, E3)

Signed-off-by: Junio C Hamano <[email protected]>
  • Loading branch information
bk2204 authored and gitster committed Mar 14, 2018
1 parent 7984f23 commit abef902
Show file tree
Hide file tree
Showing 33 changed files with 71 additions and 72 deletions.
2 changes: 1 addition & 1 deletion archive-tar.c
Original file line number Diff line number Diff line change
Expand Up @@ -276,7 +276,7 @@ static int write_tar_entry(struct archiver_args *args,
memcpy(header.name, path, pathlen);

if (S_ISREG(mode) && !args->convert &&
sha1_object_info(oid->hash, &size) == OBJ_BLOB &&
oid_object_info(oid, &size) == OBJ_BLOB &&
size > big_file_threshold)
buffer = NULL;
else if (S_ISLNK(mode) || S_ISREG(mode)) {
Expand Down
2 changes: 1 addition & 1 deletion archive-zip.c
Original file line number Diff line number Diff line change
Expand Up @@ -325,7 +325,7 @@ static int write_zip_entry(struct archiver_args *args,
compressed_size = 0;
buffer = NULL;
} else if (S_ISREG(mode) || S_ISLNK(mode)) {
enum object_type type = sha1_object_info(oid->hash, &size);
enum object_type type = oid_object_info(oid, &size);

method = 0;
attr2 = S_ISLNK(mode) ? ((mode | 0777) << 16) :
Expand Down
4 changes: 2 additions & 2 deletions blame.c
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ static void verify_working_tree_path(struct commit *work_tree, const char *path)
unsigned mode;

if (!get_tree_entry(commit_oid->hash, path, blob_oid.hash, &mode) &&
sha1_object_info(blob_oid.hash, NULL) == OBJ_BLOB)
oid_object_info(&blob_oid, NULL) == OBJ_BLOB)
return;
}

Expand Down Expand Up @@ -506,7 +506,7 @@ static int fill_blob_sha1_and_mode(struct blame_origin *origin)
origin->path,
origin->blob_oid.hash, &origin->mode))
goto error_out;
if (sha1_object_info(origin->blob_oid.hash, NULL) != OBJ_BLOB)
if (oid_object_info(&origin->blob_oid, NULL) != OBJ_BLOB)
goto error_out;
return 0;
error_out:
Expand Down
2 changes: 1 addition & 1 deletion builtin/blame.c
Original file line number Diff line number Diff line change
Expand Up @@ -655,7 +655,7 @@ static int is_a_rev(const char *name)

if (get_oid(name, &oid))
return 0;
return OBJ_NONE < sha1_object_info(oid.hash, NULL);
return OBJ_NONE < oid_object_info(&oid, NULL);
}

int cmd_blame(int argc, const char **argv, const char *prefix)
Expand Down
14 changes: 7 additions & 7 deletions builtin/cat-file.c
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ static int cat_one_file(int opt, const char *exp_type, const char *obj_name,
switch (opt) {
case 't':
oi.type_name = &sb;
if (sha1_object_info_extended(oid.hash, &oi, flags) < 0)
if (oid_object_info_extended(&oid, &oi, flags) < 0)
die("git cat-file: could not get object info");
if (sb.len) {
printf("%s\n", sb.buf);
Expand All @@ -88,7 +88,7 @@ static int cat_one_file(int opt, const char *exp_type, const char *obj_name,

case 's':
oi.sizep = &size;
if (sha1_object_info_extended(oid.hash, &oi, flags) < 0)
if (oid_object_info_extended(&oid, &oi, flags) < 0)
die("git cat-file: could not get object info");
printf("%lu\n", size);
return 0;
Expand Down Expand Up @@ -116,7 +116,7 @@ static int cat_one_file(int opt, const char *exp_type, const char *obj_name,
/* else fallthrough */

case 'p':
type = sha1_object_info(oid.hash, NULL);
type = oid_object_info(&oid, NULL);
if (type < 0)
die("Not a valid object name %s", obj_name);

Expand All @@ -140,7 +140,7 @@ static int cat_one_file(int opt, const char *exp_type, const char *obj_name,
case 0:
if (type_from_string(exp_type) == OBJ_BLOB) {
struct object_id blob_oid;
if (sha1_object_info(oid.hash, NULL) == OBJ_TAG) {
if (oid_object_info(&oid, NULL) == OBJ_TAG) {
char *buffer = read_sha1_file(oid.hash, &type, &size);
const char *target;
if (!skip_prefix(buffer, "object ", &target) ||
Expand All @@ -150,7 +150,7 @@ static int cat_one_file(int opt, const char *exp_type, const char *obj_name,
} else
oidcpy(&blob_oid, &oid);

if (sha1_object_info(blob_oid.hash, NULL) == OBJ_BLOB)
if (oid_object_info(&blob_oid, NULL) == OBJ_BLOB)
return stream_blob_to_fd(1, &blob_oid, NULL, 0);
/*
* we attempted to dereference a tag to a blob
Expand Down Expand Up @@ -340,8 +340,8 @@ static void batch_object_write(const char *obj_name, struct batch_options *opt,
struct strbuf buf = STRBUF_INIT;

if (!data->skip_object_info &&
sha1_object_info_extended(data->oid.hash, &data->info,
OBJECT_INFO_LOOKUP_REPLACE) < 0) {
oid_object_info_extended(&data->oid, &data->info,
OBJECT_INFO_LOOKUP_REPLACE) < 0) {
printf("%s missing\n",
obj_name ? obj_name : oid_to_hex(&data->oid));
fflush(stdout);
Expand Down
2 changes: 1 addition & 1 deletion builtin/describe.c
Original file line number Diff line number Diff line change
Expand Up @@ -502,7 +502,7 @@ static void describe(const char *arg, int last_one)

if (cmit)
describe_commit(&oid, &sb);
else if (sha1_object_info(oid.hash, NULL) == OBJ_BLOB)
else if (oid_object_info(&oid, NULL) == OBJ_BLOB)
describe_blob(oid, &sb);
else
die(_("%s is neither a commit nor blob"), arg);
Expand Down
2 changes: 1 addition & 1 deletion builtin/fast-export.c
Original file line number Diff line number Diff line change
Expand Up @@ -947,7 +947,7 @@ static void import_marks(char *input_file)
if (last_idnum < mark)
last_idnum = mark;

type = sha1_object_info(oid.hash, NULL);
type = oid_object_info(&oid, NULL);
if (type < 0)
die("object not found: %s", oid_to_hex(&oid));

Expand Down
2 changes: 1 addition & 1 deletion builtin/fetch.c
Original file line number Diff line number Diff line change
Expand Up @@ -637,7 +637,7 @@ static int update_local_ref(struct ref *ref,
struct branch *current_branch = branch_get(NULL);
const char *pretty_ref = prettify_refname(ref->name);

type = sha1_object_info(ref->new_oid.hash, NULL);
type = oid_object_info(&ref->new_oid, NULL);
if (type < 0)
die(_("object %s not found"), oid_to_hex(&ref->new_oid));

Expand Down
2 changes: 1 addition & 1 deletion builtin/fsck.c
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ static const char *printable_type(struct object *obj)
const char *ret;

if (obj->type == OBJ_NONE) {
enum object_type type = sha1_object_info(obj->oid.hash, NULL);
enum object_type type = oid_object_info(&obj->oid, NULL);
if (type > 0)
object_as_type(obj, type, 0);
}
Expand Down
4 changes: 2 additions & 2 deletions builtin/index-pack.c
Original file line number Diff line number Diff line change
Expand Up @@ -221,7 +221,7 @@ static unsigned check_object(struct object *obj)

if (!(obj->flags & FLAG_CHECKED)) {
unsigned long size;
int type = sha1_object_info(obj->oid.hash, &size);
int type = oid_object_info(&obj->oid, &size);
if (type <= 0)
die(_("did not receive expected object %s"),
oid_to_hex(&obj->oid));
Expand Down Expand Up @@ -810,7 +810,7 @@ static void sha1_object(const void *data, struct object_entry *obj_entry,
enum object_type has_type;
unsigned long has_size;
read_lock();
has_type = sha1_object_info(oid->hash, &has_size);
has_type = oid_object_info(oid, &has_size);
if (has_type < 0)
die(_("cannot read existing object info %s"), oid_to_hex(oid));
if (has_type != type || has_size != size)
Expand Down
2 changes: 1 addition & 1 deletion builtin/ls-tree.c
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ static int show_tree(const struct object_id *oid, struct strbuf *base,
char size_text[24];
if (!strcmp(type, blob_type)) {
unsigned long size;
if (sha1_object_info(oid->hash, &size) == OBJ_BAD)
if (oid_object_info(oid, &size) == OBJ_BAD)
xsnprintf(size_text, sizeof(size_text),
"BAD");
else
Expand Down
2 changes: 1 addition & 1 deletion builtin/mktree.c
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@ static void mktree_line(char *buf, size_t len, int nul_term_line, int allow_miss
}

/* Check the type of object identified by sha1 */
obj_type = sha1_object_info(oid.hash, NULL);
obj_type = oid_object_info(&oid, NULL);
if (obj_type < 0) {
if (allow_missing) {
; /* no problem - missing objects are presumed to be of the right type */
Expand Down
7 changes: 3 additions & 4 deletions builtin/pack-objects.c
Original file line number Diff line number Diff line change
Expand Up @@ -1516,7 +1516,7 @@ static void check_object(struct object_entry *entry)
unuse_pack(&w_curs);
}

entry->type = sha1_object_info(entry->idx.oid.hash, &entry->size);
entry->type = oid_object_info(&entry->idx.oid, &entry->size);
/*
* The error condition is checked in prepare_pack(). This is
* to permit a missing preferred base object to be ignored
Expand Down Expand Up @@ -1578,8 +1578,7 @@ static void drop_reused_delta(struct object_entry *entry)
* And if that fails, the error will be recorded in entry->type
* and dealt with in prepare_pack().
*/
entry->type = sha1_object_info(entry->idx.oid.hash,
&entry->size);
entry->type = oid_object_info(&entry->idx.oid, &entry->size);
}
}

Expand Down Expand Up @@ -2708,7 +2707,7 @@ static void add_objects_in_unpacked_packs(struct rev_info *revs)
static int add_loose_object(const struct object_id *oid, const char *path,
void *data)
{
enum object_type type = sha1_object_info(oid->hash, NULL);
enum object_type type = oid_object_info(oid, NULL);

if (type < 0) {
warning("loose object at %s could not be examined", path);
Expand Down
2 changes: 1 addition & 1 deletion builtin/prune.c
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ static int prune_object(const struct object_id *oid, const char *fullpath,
if (st.st_mtime > expire)
return 0;
if (show_only || verbose) {
enum object_type type = sha1_object_info(oid->hash, NULL);
enum object_type type = oid_object_info(oid, NULL);
printf("%s %s\n", oid_to_hex(oid),
(type > 0) ? type_name(type) : "unknown");
}
Expand Down
10 changes: 5 additions & 5 deletions builtin/replace.c
Original file line number Diff line number Diff line change
Expand Up @@ -53,8 +53,8 @@ static int show_reference(const char *refname, const struct object_id *oid,
if (get_oid(refname, &object))
return error("Failed to resolve '%s' as a valid ref.", refname);

obj_type = sha1_object_info(object.hash, NULL);
repl_type = sha1_object_info(oid->hash, NULL);
obj_type = oid_object_info(&object, NULL);
repl_type = oid_object_info(oid, NULL);

printf("%s (%s) -> %s (%s)\n", refname, type_name(obj_type),
oid_to_hex(oid), type_name(repl_type));
Expand Down Expand Up @@ -162,8 +162,8 @@ static int replace_object_oid(const char *object_ref,
struct ref_transaction *transaction;
struct strbuf err = STRBUF_INIT;

obj_type = sha1_object_info(object->hash, NULL);
repl_type = sha1_object_info(repl->hash, NULL);
obj_type = oid_object_info(object, NULL);
repl_type = oid_object_info(repl, NULL);
if (!force && obj_type != repl_type)
die("Objects must be of the same type.\n"
"'%s' points to a replaced object of type '%s'\n"
Expand Down Expand Up @@ -290,7 +290,7 @@ static int edit_and_replace(const char *object_ref, int force, int raw)
if (get_oid(object_ref, &old_oid) < 0)
die("Not a valid object name: '%s'", object_ref);

type = sha1_object_info(old_oid.hash, NULL);
type = oid_object_info(&old_oid, NULL);
if (type < 0)
die("unable to get object type for %s", oid_to_hex(&old_oid));

Expand Down
4 changes: 2 additions & 2 deletions builtin/tag.c
Original file line number Diff line number Diff line change
Expand Up @@ -212,7 +212,7 @@ static void create_tag(const struct object_id *object, const char *tag,
struct strbuf header = STRBUF_INIT;
char *path = NULL;

type = sha1_object_info(object->hash, NULL);
type = oid_object_info(object, NULL);
if (type <= OBJ_NONE)
die(_("bad object type."));

Expand Down Expand Up @@ -298,7 +298,7 @@ static void create_reflog_msg(const struct object_id *oid, struct strbuf *sb)
}

strbuf_addstr(sb, " (");
type = sha1_object_info(oid->hash, NULL);
type = oid_object_info(oid, NULL);
switch (type) {
default:
strbuf_addstr(sb, "object of unknown type");
Expand Down
2 changes: 1 addition & 1 deletion builtin/unpack-objects.c
Original file line number Diff line number Diff line change
Expand Up @@ -198,7 +198,7 @@ static int check_object(struct object *obj, int type, void *data, struct fsck_op

if (!(obj->flags & FLAG_OPEN)) {
unsigned long size;
int type = sha1_object_info(obj->oid.hash, &size);
int type = oid_object_info(&obj->oid, &size);
if (type != obj->type || type <= 0)
die("object of unexpected type");
obj->flags |= FLAG_WRITTEN;
Expand Down
6 changes: 3 additions & 3 deletions cache.h
Original file line number Diff line number Diff line change
Expand Up @@ -1212,8 +1212,8 @@ static inline const unsigned char *lookup_replace_object(const unsigned char *sh
return do_lookup_replace_object(sha1);
}

/* Read and unpack a sha1 file into memory, write memory to a sha1 file */
extern int sha1_object_info(const unsigned char *, unsigned long *);
/* Read and unpack an object file into memory, write memory to an object file */
extern int oid_object_info(const struct object_id *, unsigned long *);

extern int hash_object_file(const void *buf, unsigned long len,
const char *type, struct object_id *oid);
Expand Down Expand Up @@ -1773,7 +1773,7 @@ struct object_info {
#define OBJECT_INFO_SKIP_CACHED 4
/* Do not retry packed storage after checking packed and loose storage */
#define OBJECT_INFO_QUICK 8
extern int sha1_object_info_extended(const unsigned char *, struct object_info *, unsigned flags);
extern int oid_object_info_extended(const struct object_id *, struct object_info *, unsigned flags);

/*
* Set this to 0 to prevent sha1_object_info_extended() from fetching missing
Expand Down
2 changes: 1 addition & 1 deletion diff.c
Original file line number Diff line number Diff line change
Expand Up @@ -3615,7 +3615,7 @@ int diff_populate_filespec(struct diff_filespec *s, unsigned int flags)
else {
enum object_type type;
if (size_only || (flags & CHECK_BINARY)) {
type = sha1_object_info(s->oid.hash, &s->size);
type = oid_object_info(&s->oid, &s->size);
if (type < 0)
die("unable to read %s",
oid_to_hex(&s->oid));
Expand Down
10 changes: 5 additions & 5 deletions fast-import.c
Original file line number Diff line number Diff line change
Expand Up @@ -1913,7 +1913,7 @@ static void read_marks(void)
die("corrupt mark line: %s", line);
e = find_object(&oid);
if (!e) {
enum object_type type = sha1_object_info(oid.hash, NULL);
enum object_type type = oid_object_info(&oid, NULL);
if (type < 0)
die("object not found: %s", oid_to_hex(&oid));
e = insert_object(&oid);
Expand Down Expand Up @@ -2443,7 +2443,7 @@ static void file_change_m(const char *p, struct branch *b)
enum object_type expected = S_ISDIR(mode) ?
OBJ_TREE: OBJ_BLOB;
enum object_type type = oe ? oe->type :
sha1_object_info(oid.hash, NULL);
oid_object_info(&oid, NULL);
if (type < 0)
die("%s not found: %s",
S_ISDIR(mode) ? "Tree" : "Blob",
Expand Down Expand Up @@ -2603,7 +2603,7 @@ static void note_change_n(const char *p, struct branch *b, unsigned char *old_fa
die("Not a blob (actually a %s): %s",
type_name(oe->type), command_buf.buf);
} else if (!is_null_oid(&oid)) {
enum object_type type = sha1_object_info(oid.hash, NULL);
enum object_type type = oid_object_info(&oid, NULL);
if (type < 0)
die("Blob not found: %s", command_buf.buf);
if (type != OBJ_BLOB)
Expand Down Expand Up @@ -2890,7 +2890,7 @@ static void parse_new_tag(const char *arg)
} else if (!get_oid(from, &oid)) {
struct object_entry *oe = find_object(&oid);
if (!oe) {
type = sha1_object_info(oid.hash, NULL);
type = oid_object_info(&oid, NULL);
if (type < 0)
die("Not a valid object: %s", from);
} else
Expand Down Expand Up @@ -3048,7 +3048,7 @@ static struct object_entry *dereference(struct object_entry *oe,
unsigned long size;
char *buf = NULL;
if (!oe) {
enum object_type type = sha1_object_info(oid->hash, NULL);
enum object_type type = oid_object_info(oid, NULL);
if (type < 0)
die("object not found: %s", oid_to_hex(oid));
/* cache it! */
Expand Down
2 changes: 1 addition & 1 deletion list-objects-filter.c
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,7 @@ static enum list_objects_filter_result filter_blobs_limit(
assert(obj->type == OBJ_BLOB);
assert((obj->flags & SEEN) == 0);

t = sha1_object_info(obj->oid.hash, &object_length);
t = oid_object_info(&obj->oid, &object_length);
if (t != OBJ_BLOB) { /* probably OBJ_NONE */
/*
* We DO NOT have the blob locally, so we cannot
Expand Down
2 changes: 1 addition & 1 deletion object.c
Original file line number Diff line number Diff line change
Expand Up @@ -254,7 +254,7 @@ struct object *parse_object(const struct object_id *oid)

if ((obj && obj->type == OBJ_BLOB && has_object_file(oid)) ||
(!obj && has_object_file(oid) &&
sha1_object_info(oid->hash, NULL) == OBJ_BLOB)) {
oid_object_info(oid, NULL) == OBJ_BLOB)) {
struct object_id reploid;
hashcpy(reploid.hash, repl);

Expand Down
3 changes: 1 addition & 2 deletions pack-bitmap-write.c
Original file line number Diff line number Diff line change
Expand Up @@ -73,8 +73,7 @@ void bitmap_writer_build_type_index(struct pack_idx_entry **index,
break;

default:
real_type = sha1_object_info(entry->idx.oid.hash,
NULL);
real_type = oid_object_info(&entry->idx.oid, NULL);
break;
}

Expand Down
4 changes: 2 additions & 2 deletions packfile.c
Original file line number Diff line number Diff line change
Expand Up @@ -1101,7 +1101,7 @@ static int retry_bad_packed_offset(struct packed_git *p, off_t obj_offset)
return OBJ_BAD;
nth_packed_object_oid(&oid, p, revidx->nr);
mark_bad_packed_object(p, oid.hash);
type = sha1_object_info(oid.hash, NULL);
type = oid_object_info(&oid, NULL);
if (type <= OBJ_NONE)
return OBJ_BAD;
return type;
Expand Down Expand Up @@ -1461,7 +1461,7 @@ static void *read_object(const struct object_id *oid, enum object_type *type,
oi.sizep = size;
oi.contentp = &content;

if (sha1_object_info_extended(oid->hash, &oi, 0) < 0)
if (oid_object_info_extended(oid, &oi, 0) < 0)
return NULL;
return content;
}
Expand Down
2 changes: 1 addition & 1 deletion reachable.c
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ static void add_recent_object(const struct object_id *oid,
* later processing, and the revision machinery expects
* commits and tags to have been parsed.
*/
type = sha1_object_info(oid->hash, NULL);
type = oid_object_info(oid, NULL);
if (type < 0)
die("unable to get object info for %s", oid_to_hex(oid));

Expand Down
Loading

0 comments on commit abef902

Please sign in to comment.