Changes since v5: - Updated commit messages for: 7581156e8a read-cache: teach refresh_cache_entry to take istate 2c962aa0cd block alloc: add lifecycle APIs for cache_entry structs - Use oidcpy function instead of hashcpy function ### Interdiff (v5..v6): diff --git a/read-cache.c b/read-cache.c index ba31e929e8..fd67e2e8a4 100644 --- a/read-cache.c +++ b/read-cache.c @@ -814,7 +814,7 @@ struct cache_entry *make_cache_entry(struct index_state *istate, len = strlen(path); ce = make_empty_cache_entry(istate, len); - hashcpy(ce->oid.hash, oid->hash); + oidcpy(&ce->oid, oid); memcpy(ce->name, path, len); ce->ce_flags = create_ce_flags(stage); ce->ce_namelen = len; @@ -840,7 +840,7 @@ struct cache_entry *make_transient_cache_entry(unsigned int mode, const struct o len = strlen(path); ce = make_empty_transient_cache_entry(len); - hashcpy(ce->oid.hash, oid->hash); + oidcpy(&ce->oid, oid); memcpy(ce->name, path, len); ce->ce_flags = create_ce_flags(stage); ce->ce_namelen = len; ### Patches Jameson Miller (8): read-cache: teach refresh_cache_entry to take istate read-cache: teach make_cache_entry to take object_id block alloc: add lifecycle APIs for cache_entry structs mem-pool: only search head block for available space mem-pool: add life cycle management functions mem-pool: fill out functionality block alloc: allocate cache entries from mem_pool block alloc: add validations around cache_entry lifecyle apply.c | 24 ++-- blame.c | 5 +- builtin/checkout.c | 8 +- builtin/difftool.c | 6 +- builtin/reset.c | 2 +- builtin/update-index.c | 26 ++-- cache.h | 64 +++++++++- git.c | 3 + mem-pool.c | 114 ++++++++++++++++-- mem-pool.h | 23 ++++ merge-recursive.c | 4 +- read-cache.c | 264 ++++++++++++++++++++++++++++++++++------- resolve-undo.c | 4 +- split-index.c | 58 +++++++-- tree.c | 4 +- unpack-trees.c | 40 ++++--- 16 files changed, 515 insertions(+), 134 deletions(-) base-commit: ed843436dd4924c10669820cc73daf50f0b4dabd -- 2.17.1