Browse Source

convert has_sha1_file() callers to has_object_file()

The only remaining callers of has_sha1_file() actually have an object_id
already. They can use the "object" variant, rather than dereferencing
the hash themselves.

The code changes here were completely generated by the included
coccinelle patch.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Jeff King 6 years ago committed by Junio C Hamano
parent
commit
98374a07c9
  1. 2
      apply.c
  2. 7
      builtin/fetch.c
  3. 2
      builtin/index-pack.c
  4. 2
      builtin/reflog.c
  5. 2
      builtin/show-ref.c
  6. 2
      bulk-checkin.c
  7. 4
      cache-tree.c
  8. 32
      contrib/coccinelle/object_id.cocci
  9. 4
      http-walker.c
  10. 2
      refs.c
  11. 2
      send-pack.c
  12. 2
      sha1-file.c

2
apply.c

@ -3183,7 +3183,7 @@ static int apply_binary(struct apply_state *state, @@ -3183,7 +3183,7 @@ static int apply_binary(struct apply_state *state,
return 0; /* deletion patch */
}

if (has_sha1_file(oid.hash)) {
if (has_object_file(&oid)) {
/* We already have the postimage */
enum object_type type;
unsigned long size;

7
builtin/fetch.c

@ -317,8 +317,7 @@ static void find_non_local_tags(const struct ref *refs, @@ -317,8 +317,7 @@ static void find_non_local_tags(const struct ref *refs,
!has_object_file_with_flags(&ref->old_oid,
OBJECT_INFO_QUICK) &&
!will_fetch(head, ref->old_oid.hash) &&
!has_sha1_file_with_flags(item->oid.hash,
OBJECT_INFO_QUICK) &&
!has_object_file_with_flags(&item->oid, OBJECT_INFO_QUICK) &&
!will_fetch(head, item->oid.hash))
oidclr(&item->oid);
item = NULL;
@ -332,7 +331,7 @@ static void find_non_local_tags(const struct ref *refs, @@ -332,7 +331,7 @@ static void find_non_local_tags(const struct ref *refs,
* fetch.
*/
if (item &&
!has_sha1_file_with_flags(item->oid.hash, OBJECT_INFO_QUICK) &&
!has_object_file_with_flags(&item->oid, OBJECT_INFO_QUICK) &&
!will_fetch(head, item->oid.hash))
oidclr(&item->oid);

@ -353,7 +352,7 @@ static void find_non_local_tags(const struct ref *refs, @@ -353,7 +352,7 @@ static void find_non_local_tags(const struct ref *refs,
* checked to see if it needs fetching.
*/
if (item &&
!has_sha1_file_with_flags(item->oid.hash, OBJECT_INFO_QUICK) &&
!has_object_file_with_flags(&item->oid, OBJECT_INFO_QUICK) &&
!will_fetch(head, item->oid.hash))
oidclr(&item->oid);


2
builtin/index-pack.c

@ -772,7 +772,7 @@ static void sha1_object(const void *data, struct object_entry *obj_entry, @@ -772,7 +772,7 @@ static void sha1_object(const void *data, struct object_entry *obj_entry,
if (startup_info->have_repository) {
read_lock();
collision_test_needed =
has_sha1_file_with_flags(oid->hash, OBJECT_INFO_QUICK);
has_object_file_with_flags(oid, OBJECT_INFO_QUICK);
read_unlock();
}


2
builtin/reflog.c

@ -94,7 +94,7 @@ static int tree_is_complete(const struct object_id *oid) @@ -94,7 +94,7 @@ static int tree_is_complete(const struct object_id *oid)
init_tree_desc(&desc, tree->buffer, tree->size);
complete = 1;
while (tree_entry(&desc, &entry)) {
if (!has_sha1_file(entry.oid->hash) ||
if (!has_object_file(entry.oid) ||
(S_ISDIR(entry.mode) && !tree_is_complete(entry.oid))) {
tree->object.flags |= INCOMPLETE;
complete = 0;

2
builtin/show-ref.c

@ -23,7 +23,7 @@ static void show_one(const char *refname, const struct object_id *oid) @@ -23,7 +23,7 @@ static void show_one(const char *refname, const struct object_id *oid)
const char *hex;
struct object_id peeled;

if (!has_sha1_file(oid->hash))
if (!has_object_file(oid))
die("git show-ref: bad ref %s (%s)", refname,
oid_to_hex(oid));


2
bulk-checkin.c

@ -67,7 +67,7 @@ static int already_written(struct bulk_checkin_state *state, struct object_id *o @@ -67,7 +67,7 @@ static int already_written(struct bulk_checkin_state *state, struct object_id *o
int i;

/* The object may already exist in the repository */
if (has_sha1_file(oid->hash))
if (has_object_file(oid))
return 1;

/* Might want to keep the list sorted */

4
cache-tree.c

@ -225,7 +225,7 @@ int cache_tree_fully_valid(struct cache_tree *it) @@ -225,7 +225,7 @@ int cache_tree_fully_valid(struct cache_tree *it)
int i;
if (!it)
return 0;
if (it->entry_count < 0 || !has_sha1_file(it->oid.hash))
if (it->entry_count < 0 || !has_object_file(&it->oid))
return 0;
for (i = 0; i < it->subtree_nr; i++) {
if (!cache_tree_fully_valid(it->down[i]->cache_tree))
@ -253,7 +253,7 @@ static int update_one(struct cache_tree *it, @@ -253,7 +253,7 @@ static int update_one(struct cache_tree *it,

*skip_count = 0;

if (0 <= it->entry_count && has_sha1_file(it->oid.hash))
if (0 <= it->entry_count && has_object_file(&it->oid))
return it->entry_count;

/*

32
contrib/coccinelle/object_id.cocci

@ -147,3 +147,35 @@ expression E1, E2; @@ -147,3 +147,35 @@ expression E1, E2;
- hashcmp(E1, E2) != 0
+ !hasheq(E1, E2)
...>}

@@
struct object_id OID;
@@
- has_sha1_file(OID.hash)
+ has_object_file(&OID)

@@
identifier f != has_object_file;
struct object_id *OIDPTR;
@@
f(...) {<...
- has_sha1_file(OIDPTR->hash)
+ has_object_file(OIDPTR)
...>}

@@
struct object_id OID;
expression E;
@@
- has_sha1_file_with_flags(OID.hash, E)
+ has_object_file_with_flags(&OID, E)

@@
identifier f != has_object_file_with_flags;
struct object_id *OIDPTR;
expression E;
@@
f(...) {<...
- has_sha1_file_with_flags(OIDPTR->hash, E)
+ has_object_file_with_flags(OIDPTR, E)
...>}

4
http-walker.c

@ -131,7 +131,7 @@ static int fill_active_slot(struct walker *walker) @@ -131,7 +131,7 @@ static int fill_active_slot(struct walker *walker)
list_for_each_safe(pos, tmp, head) {
obj_req = list_entry(pos, struct object_request, node);
if (obj_req->state == WAITING) {
if (has_sha1_file(obj_req->oid.hash))
if (has_object_file(&obj_req->oid))
obj_req->state = COMPLETE;
else {
start_object_request(walker, obj_req);
@ -489,7 +489,7 @@ static int fetch_object(struct walker *walker, unsigned char *sha1) @@ -489,7 +489,7 @@ static int fetch_object(struct walker *walker, unsigned char *sha1)
if (obj_req == NULL)
return error("Couldn't find request for %s in the queue", hex);

if (has_sha1_file(obj_req->oid.hash)) {
if (has_object_file(&obj_req->oid)) {
if (obj_req->req != NULL)
abort_http_object_request(obj_req->req);
abort_object_request(obj_req);

2
refs.c

@ -188,7 +188,7 @@ int ref_resolves_to_object(const char *refname, @@ -188,7 +188,7 @@ int ref_resolves_to_object(const char *refname,
{
if (flags & REF_ISBROKEN)
return 0;
if (!has_sha1_file(oid->hash)) {
if (!has_object_file(oid)) {
error(_("%s does not point to a valid object!"), refname);
return 0;
}

2
send-pack.c

@ -40,7 +40,7 @@ int option_parse_push_signed(const struct option *opt, @@ -40,7 +40,7 @@ int option_parse_push_signed(const struct option *opt,

static void feed_object(const struct object_id *oid, FILE *fh, int negative)
{
if (negative && !has_sha1_file(oid->hash))
if (negative && !has_object_file(oid))
return;

if (negative)

2
sha1-file.c

@ -1372,7 +1372,7 @@ int pretend_object_file(void *buf, unsigned long len, enum object_type type, @@ -1372,7 +1372,7 @@ int pretend_object_file(void *buf, unsigned long len, enum object_type type,
struct cached_object *co;

hash_object_file(buf, len, type_name(type), oid);
if (has_sha1_file(oid->hash) || find_cached_object(oid))
if (has_object_file(oid) || find_cached_object(oid))
return 0;
ALLOC_GROW(cached_objects, cached_object_nr + 1, cached_object_alloc);
co = &cached_objects[cached_object_nr++];

Loading…
Cancel
Save