> The make_cache_entry function should take an object_id struct instead > of sha. > diff --git a/read-cache.c b/read-cache.c > index fa8366ecab..9624ce1784 100644 > --- a/read-cache.c > +++ b/read-cache.c > @@ -746,8 +746,10 @@ int add_file_to_index(struct index_state *istate, const char *path, int flags) > } > > struct cache_entry *make_cache_entry(unsigned int mode, > - const unsigned char *sha1, const char *path, int stage, > - unsigned int refresh_options) > + const struct object_id *oid, > + const char *path, > + int stage, > + unsigned int refresh_options) > { > int size, len; > struct cache_entry *ce, *ret; > @@ -761,7 +763,7 @@ struct cache_entry *make_cache_entry(unsigned int mode, > size = cache_entry_size(len); > ce = xcalloc(1, size); > > - hashcpy(ce->oid.hash, sha1); > + hashcpy(ce->oid.hash, oid->hash); Speaking of using struct object_id instead of sha, please use oidcpy() here.