sha1_file: convert sha1_object_info* to object_id
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 <gitster@pobox.com>
This commit is contained in:
parent
7984f23833
commit
abef9020e3
@ -276,7 +276,7 @@ static int write_tar_entry(struct archiver_args *args,
|
|||||||
memcpy(header.name, path, pathlen);
|
memcpy(header.name, path, pathlen);
|
||||||
|
|
||||||
if (S_ISREG(mode) && !args->convert &&
|
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)
|
size > big_file_threshold)
|
||||||
buffer = NULL;
|
buffer = NULL;
|
||||||
else if (S_ISLNK(mode) || S_ISREG(mode)) {
|
else if (S_ISLNK(mode) || S_ISREG(mode)) {
|
||||||
|
@ -325,7 +325,7 @@ static int write_zip_entry(struct archiver_args *args,
|
|||||||
compressed_size = 0;
|
compressed_size = 0;
|
||||||
buffer = NULL;
|
buffer = NULL;
|
||||||
} else if (S_ISREG(mode) || S_ISLNK(mode)) {
|
} 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;
|
method = 0;
|
||||||
attr2 = S_ISLNK(mode) ? ((mode | 0777) << 16) :
|
attr2 = S_ISLNK(mode) ? ((mode | 0777) << 16) :
|
||||||
|
4
blame.c
4
blame.c
@ -81,7 +81,7 @@ static void verify_working_tree_path(struct commit *work_tree, const char *path)
|
|||||||
unsigned mode;
|
unsigned mode;
|
||||||
|
|
||||||
if (!get_tree_entry(commit_oid->hash, path, blob_oid.hash, &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;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -506,7 +506,7 @@ static int fill_blob_sha1_and_mode(struct blame_origin *origin)
|
|||||||
origin->path,
|
origin->path,
|
||||||
origin->blob_oid.hash, &origin->mode))
|
origin->blob_oid.hash, &origin->mode))
|
||||||
goto error_out;
|
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;
|
goto error_out;
|
||||||
return 0;
|
return 0;
|
||||||
error_out:
|
error_out:
|
||||||
|
@ -655,7 +655,7 @@ static int is_a_rev(const char *name)
|
|||||||
|
|
||||||
if (get_oid(name, &oid))
|
if (get_oid(name, &oid))
|
||||||
return 0;
|
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)
|
int cmd_blame(int argc, const char **argv, const char *prefix)
|
||||||
|
@ -77,7 +77,7 @@ static int cat_one_file(int opt, const char *exp_type, const char *obj_name,
|
|||||||
switch (opt) {
|
switch (opt) {
|
||||||
case 't':
|
case 't':
|
||||||
oi.type_name = &sb;
|
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");
|
die("git cat-file: could not get object info");
|
||||||
if (sb.len) {
|
if (sb.len) {
|
||||||
printf("%s\n", sb.buf);
|
printf("%s\n", sb.buf);
|
||||||
@ -88,7 +88,7 @@ static int cat_one_file(int opt, const char *exp_type, const char *obj_name,
|
|||||||
|
|
||||||
case 's':
|
case 's':
|
||||||
oi.sizep = &size;
|
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");
|
die("git cat-file: could not get object info");
|
||||||
printf("%lu\n", size);
|
printf("%lu\n", size);
|
||||||
return 0;
|
return 0;
|
||||||
@ -116,7 +116,7 @@ static int cat_one_file(int opt, const char *exp_type, const char *obj_name,
|
|||||||
/* else fallthrough */
|
/* else fallthrough */
|
||||||
|
|
||||||
case 'p':
|
case 'p':
|
||||||
type = sha1_object_info(oid.hash, NULL);
|
type = oid_object_info(&oid, NULL);
|
||||||
if (type < 0)
|
if (type < 0)
|
||||||
die("Not a valid object name %s", obj_name);
|
die("Not a valid object name %s", obj_name);
|
||||||
|
|
||||||
@ -140,7 +140,7 @@ static int cat_one_file(int opt, const char *exp_type, const char *obj_name,
|
|||||||
case 0:
|
case 0:
|
||||||
if (type_from_string(exp_type) == OBJ_BLOB) {
|
if (type_from_string(exp_type) == OBJ_BLOB) {
|
||||||
struct object_id blob_oid;
|
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);
|
char *buffer = read_sha1_file(oid.hash, &type, &size);
|
||||||
const char *target;
|
const char *target;
|
||||||
if (!skip_prefix(buffer, "object ", &target) ||
|
if (!skip_prefix(buffer, "object ", &target) ||
|
||||||
@ -150,7 +150,7 @@ static int cat_one_file(int opt, const char *exp_type, const char *obj_name,
|
|||||||
} else
|
} else
|
||||||
oidcpy(&blob_oid, &oid);
|
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);
|
return stream_blob_to_fd(1, &blob_oid, NULL, 0);
|
||||||
/*
|
/*
|
||||||
* we attempted to dereference a tag to a blob
|
* we attempted to dereference a tag to a blob
|
||||||
@ -340,8 +340,8 @@ static void batch_object_write(const char *obj_name, struct batch_options *opt,
|
|||||||
struct strbuf buf = STRBUF_INIT;
|
struct strbuf buf = STRBUF_INIT;
|
||||||
|
|
||||||
if (!data->skip_object_info &&
|
if (!data->skip_object_info &&
|
||||||
sha1_object_info_extended(data->oid.hash, &data->info,
|
oid_object_info_extended(&data->oid, &data->info,
|
||||||
OBJECT_INFO_LOOKUP_REPLACE) < 0) {
|
OBJECT_INFO_LOOKUP_REPLACE) < 0) {
|
||||||
printf("%s missing\n",
|
printf("%s missing\n",
|
||||||
obj_name ? obj_name : oid_to_hex(&data->oid));
|
obj_name ? obj_name : oid_to_hex(&data->oid));
|
||||||
fflush(stdout);
|
fflush(stdout);
|
||||||
|
@ -502,7 +502,7 @@ static void describe(const char *arg, int last_one)
|
|||||||
|
|
||||||
if (cmit)
|
if (cmit)
|
||||||
describe_commit(&oid, &sb);
|
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);
|
describe_blob(oid, &sb);
|
||||||
else
|
else
|
||||||
die(_("%s is neither a commit nor blob"), arg);
|
die(_("%s is neither a commit nor blob"), arg);
|
||||||
|
@ -947,7 +947,7 @@ static void import_marks(char *input_file)
|
|||||||
if (last_idnum < mark)
|
if (last_idnum < mark)
|
||||||
last_idnum = mark;
|
last_idnum = mark;
|
||||||
|
|
||||||
type = sha1_object_info(oid.hash, NULL);
|
type = oid_object_info(&oid, NULL);
|
||||||
if (type < 0)
|
if (type < 0)
|
||||||
die("object not found: %s", oid_to_hex(&oid));
|
die("object not found: %s", oid_to_hex(&oid));
|
||||||
|
|
||||||
|
@ -637,7 +637,7 @@ static int update_local_ref(struct ref *ref,
|
|||||||
struct branch *current_branch = branch_get(NULL);
|
struct branch *current_branch = branch_get(NULL);
|
||||||
const char *pretty_ref = prettify_refname(ref->name);
|
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)
|
if (type < 0)
|
||||||
die(_("object %s not found"), oid_to_hex(&ref->new_oid));
|
die(_("object %s not found"), oid_to_hex(&ref->new_oid));
|
||||||
|
|
||||||
|
@ -65,7 +65,7 @@ static const char *printable_type(struct object *obj)
|
|||||||
const char *ret;
|
const char *ret;
|
||||||
|
|
||||||
if (obj->type == OBJ_NONE) {
|
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)
|
if (type > 0)
|
||||||
object_as_type(obj, type, 0);
|
object_as_type(obj, type, 0);
|
||||||
}
|
}
|
||||||
|
@ -221,7 +221,7 @@ static unsigned check_object(struct object *obj)
|
|||||||
|
|
||||||
if (!(obj->flags & FLAG_CHECKED)) {
|
if (!(obj->flags & FLAG_CHECKED)) {
|
||||||
unsigned long size;
|
unsigned long size;
|
||||||
int type = sha1_object_info(obj->oid.hash, &size);
|
int type = oid_object_info(&obj->oid, &size);
|
||||||
if (type <= 0)
|
if (type <= 0)
|
||||||
die(_("did not receive expected object %s"),
|
die(_("did not receive expected object %s"),
|
||||||
oid_to_hex(&obj->oid));
|
oid_to_hex(&obj->oid));
|
||||||
@ -810,7 +810,7 @@ static void sha1_object(const void *data, struct object_entry *obj_entry,
|
|||||||
enum object_type has_type;
|
enum object_type has_type;
|
||||||
unsigned long has_size;
|
unsigned long has_size;
|
||||||
read_lock();
|
read_lock();
|
||||||
has_type = sha1_object_info(oid->hash, &has_size);
|
has_type = oid_object_info(oid, &has_size);
|
||||||
if (has_type < 0)
|
if (has_type < 0)
|
||||||
die(_("cannot read existing object info %s"), oid_to_hex(oid));
|
die(_("cannot read existing object info %s"), oid_to_hex(oid));
|
||||||
if (has_type != type || has_size != size)
|
if (has_type != type || has_size != size)
|
||||||
|
@ -94,7 +94,7 @@ static int show_tree(const struct object_id *oid, struct strbuf *base,
|
|||||||
char size_text[24];
|
char size_text[24];
|
||||||
if (!strcmp(type, blob_type)) {
|
if (!strcmp(type, blob_type)) {
|
||||||
unsigned long size;
|
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),
|
xsnprintf(size_text, sizeof(size_text),
|
||||||
"BAD");
|
"BAD");
|
||||||
else
|
else
|
||||||
|
@ -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 */
|
/* 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 (obj_type < 0) {
|
||||||
if (allow_missing) {
|
if (allow_missing) {
|
||||||
; /* no problem - missing objects are presumed to be of the right type */
|
; /* no problem - missing objects are presumed to be of the right type */
|
||||||
|
@ -1516,7 +1516,7 @@ static void check_object(struct object_entry *entry)
|
|||||||
unuse_pack(&w_curs);
|
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
|
* The error condition is checked in prepare_pack(). This is
|
||||||
* to permit a missing preferred base object to be ignored
|
* to permit a missing preferred base object to be ignored
|
||||||
@ -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 if that fails, the error will be recorded in entry->type
|
||||||
* and dealt with in prepare_pack().
|
* and dealt with in prepare_pack().
|
||||||
*/
|
*/
|
||||||
entry->type = sha1_object_info(entry->idx.oid.hash,
|
entry->type = oid_object_info(&entry->idx.oid, &entry->size);
|
||||||
&entry->size);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -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,
|
static int add_loose_object(const struct object_id *oid, const char *path,
|
||||||
void *data)
|
void *data)
|
||||||
{
|
{
|
||||||
enum object_type type = sha1_object_info(oid->hash, NULL);
|
enum object_type type = oid_object_info(oid, NULL);
|
||||||
|
|
||||||
if (type < 0) {
|
if (type < 0) {
|
||||||
warning("loose object at %s could not be examined", path);
|
warning("loose object at %s could not be examined", path);
|
||||||
|
@ -50,7 +50,7 @@ static int prune_object(const struct object_id *oid, const char *fullpath,
|
|||||||
if (st.st_mtime > expire)
|
if (st.st_mtime > expire)
|
||||||
return 0;
|
return 0;
|
||||||
if (show_only || verbose) {
|
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),
|
printf("%s %s\n", oid_to_hex(oid),
|
||||||
(type > 0) ? type_name(type) : "unknown");
|
(type > 0) ? type_name(type) : "unknown");
|
||||||
}
|
}
|
||||||
|
@ -53,8 +53,8 @@ static int show_reference(const char *refname, const struct object_id *oid,
|
|||||||
if (get_oid(refname, &object))
|
if (get_oid(refname, &object))
|
||||||
return error("Failed to resolve '%s' as a valid ref.", refname);
|
return error("Failed to resolve '%s' as a valid ref.", refname);
|
||||||
|
|
||||||
obj_type = sha1_object_info(object.hash, NULL);
|
obj_type = oid_object_info(&object, NULL);
|
||||||
repl_type = sha1_object_info(oid->hash, NULL);
|
repl_type = oid_object_info(oid, NULL);
|
||||||
|
|
||||||
printf("%s (%s) -> %s (%s)\n", refname, type_name(obj_type),
|
printf("%s (%s) -> %s (%s)\n", refname, type_name(obj_type),
|
||||||
oid_to_hex(oid), type_name(repl_type));
|
oid_to_hex(oid), type_name(repl_type));
|
||||||
@ -162,8 +162,8 @@ static int replace_object_oid(const char *object_ref,
|
|||||||
struct ref_transaction *transaction;
|
struct ref_transaction *transaction;
|
||||||
struct strbuf err = STRBUF_INIT;
|
struct strbuf err = STRBUF_INIT;
|
||||||
|
|
||||||
obj_type = sha1_object_info(object->hash, NULL);
|
obj_type = oid_object_info(object, NULL);
|
||||||
repl_type = sha1_object_info(repl->hash, NULL);
|
repl_type = oid_object_info(repl, NULL);
|
||||||
if (!force && obj_type != repl_type)
|
if (!force && obj_type != repl_type)
|
||||||
die("Objects must be of the same type.\n"
|
die("Objects must be of the same type.\n"
|
||||||
"'%s' points to a replaced object of type '%s'\n"
|
"'%s' points to a replaced object of type '%s'\n"
|
||||||
@ -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)
|
if (get_oid(object_ref, &old_oid) < 0)
|
||||||
die("Not a valid object name: '%s'", object_ref);
|
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)
|
if (type < 0)
|
||||||
die("unable to get object type for %s", oid_to_hex(&old_oid));
|
die("unable to get object type for %s", oid_to_hex(&old_oid));
|
||||||
|
|
||||||
|
@ -212,7 +212,7 @@ static void create_tag(const struct object_id *object, const char *tag,
|
|||||||
struct strbuf header = STRBUF_INIT;
|
struct strbuf header = STRBUF_INIT;
|
||||||
char *path = NULL;
|
char *path = NULL;
|
||||||
|
|
||||||
type = sha1_object_info(object->hash, NULL);
|
type = oid_object_info(object, NULL);
|
||||||
if (type <= OBJ_NONE)
|
if (type <= OBJ_NONE)
|
||||||
die(_("bad object type."));
|
die(_("bad object type."));
|
||||||
|
|
||||||
@ -298,7 +298,7 @@ static void create_reflog_msg(const struct object_id *oid, struct strbuf *sb)
|
|||||||
}
|
}
|
||||||
|
|
||||||
strbuf_addstr(sb, " (");
|
strbuf_addstr(sb, " (");
|
||||||
type = sha1_object_info(oid->hash, NULL);
|
type = oid_object_info(oid, NULL);
|
||||||
switch (type) {
|
switch (type) {
|
||||||
default:
|
default:
|
||||||
strbuf_addstr(sb, "object of unknown type");
|
strbuf_addstr(sb, "object of unknown type");
|
||||||
|
@ -198,7 +198,7 @@ static int check_object(struct object *obj, int type, void *data, struct fsck_op
|
|||||||
|
|
||||||
if (!(obj->flags & FLAG_OPEN)) {
|
if (!(obj->flags & FLAG_OPEN)) {
|
||||||
unsigned long size;
|
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)
|
if (type != obj->type || type <= 0)
|
||||||
die("object of unexpected type");
|
die("object of unexpected type");
|
||||||
obj->flags |= FLAG_WRITTEN;
|
obj->flags |= FLAG_WRITTEN;
|
||||||
|
6
cache.h
6
cache.h
@ -1212,8 +1212,8 @@ static inline const unsigned char *lookup_replace_object(const unsigned char *sh
|
|||||||
return do_lookup_replace_object(sha1);
|
return do_lookup_replace_object(sha1);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Read and unpack a sha1 file into memory, write memory to a sha1 file */
|
/* Read and unpack an object file into memory, write memory to an object file */
|
||||||
extern int sha1_object_info(const unsigned char *, unsigned long *);
|
extern int oid_object_info(const struct object_id *, unsigned long *);
|
||||||
|
|
||||||
extern int hash_object_file(const void *buf, unsigned long len,
|
extern int hash_object_file(const void *buf, unsigned long len,
|
||||||
const char *type, struct object_id *oid);
|
const char *type, struct object_id *oid);
|
||||||
@ -1773,7 +1773,7 @@ struct object_info {
|
|||||||
#define OBJECT_INFO_SKIP_CACHED 4
|
#define OBJECT_INFO_SKIP_CACHED 4
|
||||||
/* Do not retry packed storage after checking packed and loose storage */
|
/* Do not retry packed storage after checking packed and loose storage */
|
||||||
#define OBJECT_INFO_QUICK 8
|
#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
|
* Set this to 0 to prevent sha1_object_info_extended() from fetching missing
|
||||||
|
2
diff.c
2
diff.c
@ -3615,7 +3615,7 @@ int diff_populate_filespec(struct diff_filespec *s, unsigned int flags)
|
|||||||
else {
|
else {
|
||||||
enum object_type type;
|
enum object_type type;
|
||||||
if (size_only || (flags & CHECK_BINARY)) {
|
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)
|
if (type < 0)
|
||||||
die("unable to read %s",
|
die("unable to read %s",
|
||||||
oid_to_hex(&s->oid));
|
oid_to_hex(&s->oid));
|
||||||
|
@ -1913,7 +1913,7 @@ static void read_marks(void)
|
|||||||
die("corrupt mark line: %s", line);
|
die("corrupt mark line: %s", line);
|
||||||
e = find_object(&oid);
|
e = find_object(&oid);
|
||||||
if (!e) {
|
if (!e) {
|
||||||
enum object_type type = sha1_object_info(oid.hash, NULL);
|
enum object_type type = oid_object_info(&oid, NULL);
|
||||||
if (type < 0)
|
if (type < 0)
|
||||||
die("object not found: %s", oid_to_hex(&oid));
|
die("object not found: %s", oid_to_hex(&oid));
|
||||||
e = insert_object(&oid);
|
e = insert_object(&oid);
|
||||||
@ -2443,7 +2443,7 @@ static void file_change_m(const char *p, struct branch *b)
|
|||||||
enum object_type expected = S_ISDIR(mode) ?
|
enum object_type expected = S_ISDIR(mode) ?
|
||||||
OBJ_TREE: OBJ_BLOB;
|
OBJ_TREE: OBJ_BLOB;
|
||||||
enum object_type type = oe ? oe->type :
|
enum object_type type = oe ? oe->type :
|
||||||
sha1_object_info(oid.hash, NULL);
|
oid_object_info(&oid, NULL);
|
||||||
if (type < 0)
|
if (type < 0)
|
||||||
die("%s not found: %s",
|
die("%s not found: %s",
|
||||||
S_ISDIR(mode) ? "Tree" : "Blob",
|
S_ISDIR(mode) ? "Tree" : "Blob",
|
||||||
@ -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",
|
die("Not a blob (actually a %s): %s",
|
||||||
type_name(oe->type), command_buf.buf);
|
type_name(oe->type), command_buf.buf);
|
||||||
} else if (!is_null_oid(&oid)) {
|
} 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)
|
if (type < 0)
|
||||||
die("Blob not found: %s", command_buf.buf);
|
die("Blob not found: %s", command_buf.buf);
|
||||||
if (type != OBJ_BLOB)
|
if (type != OBJ_BLOB)
|
||||||
@ -2890,7 +2890,7 @@ static void parse_new_tag(const char *arg)
|
|||||||
} else if (!get_oid(from, &oid)) {
|
} else if (!get_oid(from, &oid)) {
|
||||||
struct object_entry *oe = find_object(&oid);
|
struct object_entry *oe = find_object(&oid);
|
||||||
if (!oe) {
|
if (!oe) {
|
||||||
type = sha1_object_info(oid.hash, NULL);
|
type = oid_object_info(&oid, NULL);
|
||||||
if (type < 0)
|
if (type < 0)
|
||||||
die("Not a valid object: %s", from);
|
die("Not a valid object: %s", from);
|
||||||
} else
|
} else
|
||||||
@ -3048,7 +3048,7 @@ static struct object_entry *dereference(struct object_entry *oe,
|
|||||||
unsigned long size;
|
unsigned long size;
|
||||||
char *buf = NULL;
|
char *buf = NULL;
|
||||||
if (!oe) {
|
if (!oe) {
|
||||||
enum object_type type = sha1_object_info(oid->hash, NULL);
|
enum object_type type = oid_object_info(oid, NULL);
|
||||||
if (type < 0)
|
if (type < 0)
|
||||||
die("object not found: %s", oid_to_hex(oid));
|
die("object not found: %s", oid_to_hex(oid));
|
||||||
/* cache it! */
|
/* cache it! */
|
||||||
|
@ -117,7 +117,7 @@ static enum list_objects_filter_result filter_blobs_limit(
|
|||||||
assert(obj->type == OBJ_BLOB);
|
assert(obj->type == OBJ_BLOB);
|
||||||
assert((obj->flags & SEEN) == 0);
|
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 */
|
if (t != OBJ_BLOB) { /* probably OBJ_NONE */
|
||||||
/*
|
/*
|
||||||
* We DO NOT have the blob locally, so we cannot
|
* We DO NOT have the blob locally, so we cannot
|
||||||
|
2
object.c
2
object.c
@ -254,7 +254,7 @@ struct object *parse_object(const struct object_id *oid)
|
|||||||
|
|
||||||
if ((obj && obj->type == OBJ_BLOB && has_object_file(oid)) ||
|
if ((obj && obj->type == OBJ_BLOB && has_object_file(oid)) ||
|
||||||
(!obj && 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;
|
struct object_id reploid;
|
||||||
hashcpy(reploid.hash, repl);
|
hashcpy(reploid.hash, repl);
|
||||||
|
|
||||||
|
@ -73,8 +73,7 @@ void bitmap_writer_build_type_index(struct pack_idx_entry **index,
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
real_type = sha1_object_info(entry->idx.oid.hash,
|
real_type = oid_object_info(&entry->idx.oid, NULL);
|
||||||
NULL);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1101,7 +1101,7 @@ static int retry_bad_packed_offset(struct packed_git *p, off_t obj_offset)
|
|||||||
return OBJ_BAD;
|
return OBJ_BAD;
|
||||||
nth_packed_object_oid(&oid, p, revidx->nr);
|
nth_packed_object_oid(&oid, p, revidx->nr);
|
||||||
mark_bad_packed_object(p, oid.hash);
|
mark_bad_packed_object(p, oid.hash);
|
||||||
type = sha1_object_info(oid.hash, NULL);
|
type = oid_object_info(&oid, NULL);
|
||||||
if (type <= OBJ_NONE)
|
if (type <= OBJ_NONE)
|
||||||
return OBJ_BAD;
|
return OBJ_BAD;
|
||||||
return type;
|
return type;
|
||||||
@ -1461,7 +1461,7 @@ static void *read_object(const struct object_id *oid, enum object_type *type,
|
|||||||
oi.sizep = size;
|
oi.sizep = size;
|
||||||
oi.contentp = &content;
|
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 NULL;
|
||||||
return content;
|
return content;
|
||||||
}
|
}
|
||||||
|
@ -77,7 +77,7 @@ static void add_recent_object(const struct object_id *oid,
|
|||||||
* later processing, and the revision machinery expects
|
* later processing, and the revision machinery expects
|
||||||
* commits and tags to have been parsed.
|
* commits and tags to have been parsed.
|
||||||
*/
|
*/
|
||||||
type = sha1_object_info(oid->hash, NULL);
|
type = oid_object_info(oid, NULL);
|
||||||
if (type < 0)
|
if (type < 0)
|
||||||
die("unable to get object info for %s", oid_to_hex(oid));
|
die("unable to get object info for %s", oid_to_hex(oid));
|
||||||
|
|
||||||
|
2
refs.c
2
refs.c
@ -301,7 +301,7 @@ enum peel_status peel_object(const struct object_id *name, struct object_id *oid
|
|||||||
struct object *o = lookup_unknown_object(name->hash);
|
struct object *o = lookup_unknown_object(name->hash);
|
||||||
|
|
||||||
if (o->type == OBJ_NONE) {
|
if (o->type == OBJ_NONE) {
|
||||||
int type = sha1_object_info(name->hash, NULL);
|
int type = oid_object_info(name, NULL);
|
||||||
if (type < 0 || !object_as_type(o, type, 0))
|
if (type < 0 || !object_as_type(o, type, 0))
|
||||||
return PEEL_INVALID;
|
return PEEL_INVALID;
|
||||||
}
|
}
|
||||||
|
2
remote.c
2
remote.c
@ -1376,7 +1376,7 @@ static void add_missing_tags(struct ref *src, struct ref **dst, struct ref ***ds
|
|||||||
continue; /* not a tag */
|
continue; /* not a tag */
|
||||||
if (string_list_has_string(&dst_tag, ref->name))
|
if (string_list_has_string(&dst_tag, ref->name))
|
||||||
continue; /* they already have it */
|
continue; /* they already have it */
|
||||||
if (sha1_object_info(ref->new_oid.hash, NULL) != OBJ_TAG)
|
if (oid_object_info(&ref->new_oid, NULL) != OBJ_TAG)
|
||||||
continue; /* be conservative */
|
continue; /* be conservative */
|
||||||
item = string_list_append(&src_tag, ref->name);
|
item = string_list_append(&src_tag, ref->name);
|
||||||
item->util = ref;
|
item->util = ref;
|
||||||
|
@ -2881,7 +2881,8 @@ int sequencer_pick_revisions(struct replay_opts *opts)
|
|||||||
|
|
||||||
if (!get_oid(name, &oid)) {
|
if (!get_oid(name, &oid)) {
|
||||||
if (!lookup_commit_reference_gently(&oid, 1)) {
|
if (!lookup_commit_reference_gently(&oid, 1)) {
|
||||||
enum object_type type = sha1_object_info(oid.hash, NULL);
|
enum object_type type = oid_object_info(&oid,
|
||||||
|
NULL);
|
||||||
return error(_("%s: can't cherry-pick a %s"),
|
return error(_("%s: can't cherry-pick a %s"),
|
||||||
name, type_name(type));
|
name, type_name(type));
|
||||||
}
|
}
|
||||||
|
22
sha1_file.c
22
sha1_file.c
@ -1222,14 +1222,14 @@ static int sha1_loose_object_info(const unsigned char *sha1,
|
|||||||
|
|
||||||
int fetch_if_missing = 1;
|
int fetch_if_missing = 1;
|
||||||
|
|
||||||
int sha1_object_info_extended(const unsigned char *sha1, struct object_info *oi, unsigned flags)
|
int oid_object_info_extended(const struct object_id *oid, struct object_info *oi, unsigned flags)
|
||||||
{
|
{
|
||||||
static struct object_info blank_oi = OBJECT_INFO_INIT;
|
static struct object_info blank_oi = OBJECT_INFO_INIT;
|
||||||
struct pack_entry e;
|
struct pack_entry e;
|
||||||
int rtype;
|
int rtype;
|
||||||
const unsigned char *real = (flags & OBJECT_INFO_LOOKUP_REPLACE) ?
|
const unsigned char *real = (flags & OBJECT_INFO_LOOKUP_REPLACE) ?
|
||||||
lookup_replace_object(sha1) :
|
lookup_replace_object(oid->hash) :
|
||||||
sha1;
|
oid->hash;
|
||||||
int already_retried = 0;
|
int already_retried = 0;
|
||||||
struct object_id realoid;
|
struct object_id realoid;
|
||||||
|
|
||||||
@ -1298,7 +1298,7 @@ int sha1_object_info_extended(const unsigned char *sha1, struct object_info *oi,
|
|||||||
rtype = packed_object_info(e.p, e.offset, oi);
|
rtype = packed_object_info(e.p, e.offset, oi);
|
||||||
if (rtype < 0) {
|
if (rtype < 0) {
|
||||||
mark_bad_packed_object(e.p, real);
|
mark_bad_packed_object(e.p, real);
|
||||||
return sha1_object_info_extended(realoid.hash, oi, 0);
|
return oid_object_info_extended(&realoid, oi, 0);
|
||||||
} else if (oi->whence == OI_PACKED) {
|
} else if (oi->whence == OI_PACKED) {
|
||||||
oi->u.packed.offset = e.offset;
|
oi->u.packed.offset = e.offset;
|
||||||
oi->u.packed.pack = e.p;
|
oi->u.packed.pack = e.p;
|
||||||
@ -1310,15 +1310,15 @@ int sha1_object_info_extended(const unsigned char *sha1, struct object_info *oi,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* returns enum object_type or negative */
|
/* returns enum object_type or negative */
|
||||||
int sha1_object_info(const unsigned char *sha1, unsigned long *sizep)
|
int oid_object_info(const struct object_id *oid, unsigned long *sizep)
|
||||||
{
|
{
|
||||||
enum object_type type;
|
enum object_type type;
|
||||||
struct object_info oi = OBJECT_INFO_INIT;
|
struct object_info oi = OBJECT_INFO_INIT;
|
||||||
|
|
||||||
oi.typep = &type;
|
oi.typep = &type;
|
||||||
oi.sizep = sizep;
|
oi.sizep = sizep;
|
||||||
if (sha1_object_info_extended(sha1, &oi,
|
if (oid_object_info_extended(oid, &oi,
|
||||||
OBJECT_INFO_LOOKUP_REPLACE) < 0)
|
OBJECT_INFO_LOOKUP_REPLACE) < 0)
|
||||||
return -1;
|
return -1;
|
||||||
return type;
|
return type;
|
||||||
}
|
}
|
||||||
@ -1335,7 +1335,7 @@ static void *read_object(const unsigned char *sha1, enum object_type *type,
|
|||||||
|
|
||||||
hashcpy(oid.hash, sha1);
|
hashcpy(oid.hash, sha1);
|
||||||
|
|
||||||
if (sha1_object_info_extended(oid.hash, &oi, 0) < 0)
|
if (oid_object_info_extended(&oid, &oi, 0) < 0)
|
||||||
return NULL;
|
return NULL;
|
||||||
return content;
|
return content;
|
||||||
}
|
}
|
||||||
@ -1733,8 +1733,8 @@ int has_sha1_file_with_flags(const unsigned char *sha1, int flags)
|
|||||||
if (!startup_info->have_repository)
|
if (!startup_info->have_repository)
|
||||||
return 0;
|
return 0;
|
||||||
hashcpy(oid.hash, sha1);
|
hashcpy(oid.hash, sha1);
|
||||||
return sha1_object_info_extended(oid.hash, NULL,
|
return oid_object_info_extended(&oid, NULL,
|
||||||
flags | OBJECT_INFO_SKIP_CACHED) >= 0;
|
flags | OBJECT_INFO_SKIP_CACHED) >= 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int has_object_file(const struct object_id *oid)
|
int has_object_file(const struct object_id *oid)
|
||||||
@ -1976,7 +1976,7 @@ int read_pack_header(int fd, struct pack_header *header)
|
|||||||
|
|
||||||
void assert_oid_type(const struct object_id *oid, enum object_type expect)
|
void assert_oid_type(const struct object_id *oid, enum object_type expect)
|
||||||
{
|
{
|
||||||
enum object_type type = sha1_object_info(oid->hash, NULL);
|
enum object_type type = oid_object_info(oid, NULL);
|
||||||
if (type < 0)
|
if (type < 0)
|
||||||
die("%s is not a valid object", oid_to_hex(oid));
|
die("%s is not a valid object", oid_to_hex(oid));
|
||||||
if (type != expect)
|
if (type != expect)
|
||||||
|
12
sha1_name.c
12
sha1_name.c
@ -238,7 +238,7 @@ static int finish_object_disambiguation(struct disambiguate_state *ds,
|
|||||||
|
|
||||||
static int disambiguate_commit_only(const struct object_id *oid, void *cb_data_unused)
|
static int disambiguate_commit_only(const struct object_id *oid, void *cb_data_unused)
|
||||||
{
|
{
|
||||||
int kind = sha1_object_info(oid->hash, NULL);
|
int kind = oid_object_info(oid, NULL);
|
||||||
return kind == OBJ_COMMIT;
|
return kind == OBJ_COMMIT;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -247,7 +247,7 @@ static int disambiguate_committish_only(const struct object_id *oid, void *cb_da
|
|||||||
struct object *obj;
|
struct object *obj;
|
||||||
int kind;
|
int kind;
|
||||||
|
|
||||||
kind = sha1_object_info(oid->hash, NULL);
|
kind = oid_object_info(oid, NULL);
|
||||||
if (kind == OBJ_COMMIT)
|
if (kind == OBJ_COMMIT)
|
||||||
return 1;
|
return 1;
|
||||||
if (kind != OBJ_TAG)
|
if (kind != OBJ_TAG)
|
||||||
@ -262,7 +262,7 @@ static int disambiguate_committish_only(const struct object_id *oid, void *cb_da
|
|||||||
|
|
||||||
static int disambiguate_tree_only(const struct object_id *oid, void *cb_data_unused)
|
static int disambiguate_tree_only(const struct object_id *oid, void *cb_data_unused)
|
||||||
{
|
{
|
||||||
int kind = sha1_object_info(oid->hash, NULL);
|
int kind = oid_object_info(oid, NULL);
|
||||||
return kind == OBJ_TREE;
|
return kind == OBJ_TREE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -271,7 +271,7 @@ static int disambiguate_treeish_only(const struct object_id *oid, void *cb_data_
|
|||||||
struct object *obj;
|
struct object *obj;
|
||||||
int kind;
|
int kind;
|
||||||
|
|
||||||
kind = sha1_object_info(oid->hash, NULL);
|
kind = oid_object_info(oid, NULL);
|
||||||
if (kind == OBJ_TREE || kind == OBJ_COMMIT)
|
if (kind == OBJ_TREE || kind == OBJ_COMMIT)
|
||||||
return 1;
|
return 1;
|
||||||
if (kind != OBJ_TAG)
|
if (kind != OBJ_TAG)
|
||||||
@ -286,7 +286,7 @@ static int disambiguate_treeish_only(const struct object_id *oid, void *cb_data_
|
|||||||
|
|
||||||
static int disambiguate_blob_only(const struct object_id *oid, void *cb_data_unused)
|
static int disambiguate_blob_only(const struct object_id *oid, void *cb_data_unused)
|
||||||
{
|
{
|
||||||
int kind = sha1_object_info(oid->hash, NULL);
|
int kind = oid_object_info(oid, NULL);
|
||||||
return kind == OBJ_BLOB;
|
return kind == OBJ_BLOB;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -365,7 +365,7 @@ static int show_ambiguous_object(const struct object_id *oid, void *data)
|
|||||||
if (ds->fn && !ds->fn(oid, ds->cb_data))
|
if (ds->fn && !ds->fn(oid, ds->cb_data))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
type = sha1_object_info(oid->hash, NULL);
|
type = oid_object_info(oid, NULL);
|
||||||
if (type == OBJ_COMMIT) {
|
if (type == OBJ_COMMIT) {
|
||||||
struct commit *commit = lookup_commit(oid);
|
struct commit *commit = lookup_commit(oid);
|
||||||
if (commit) {
|
if (commit) {
|
||||||
|
@ -117,7 +117,7 @@ static enum input_source istream_source(const unsigned char *sha1,
|
|||||||
|
|
||||||
oi->typep = type;
|
oi->typep = type;
|
||||||
oi->sizep = &size;
|
oi->sizep = &size;
|
||||||
status = sha1_object_info_extended(oid.hash, oi, 0);
|
status = oid_object_info_extended(&oid, oi, 0);
|
||||||
if (status < 0)
|
if (status < 0)
|
||||||
return stream_error;
|
return stream_error;
|
||||||
|
|
||||||
|
@ -817,7 +817,7 @@ static int check_has_commit(const struct object_id *oid, void *data)
|
|||||||
{
|
{
|
||||||
struct has_commit_data *cb = data;
|
struct has_commit_data *cb = data;
|
||||||
|
|
||||||
enum object_type type = sha1_object_info(oid->hash, NULL);
|
enum object_type type = oid_object_info(oid, NULL);
|
||||||
|
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case OBJ_COMMIT:
|
case OBJ_COMMIT:
|
||||||
|
2
tag.c
2
tag.c
@ -41,7 +41,7 @@ int gpg_verify_tag(const struct object_id *oid, const char *name_to_report,
|
|||||||
unsigned long size;
|
unsigned long size;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
type = sha1_object_info(oid->hash, NULL);
|
type = oid_object_info(oid, NULL);
|
||||||
if (type != OBJ_TAG)
|
if (type != OBJ_TAG)
|
||||||
return error("%s: cannot verify a non-tag object of type %s.",
|
return error("%s: cannot verify a non-tag object of type %s.",
|
||||||
name_to_report ?
|
name_to_report ?
|
||||||
|
Loading…
Reference in New Issue
Block a user