diff --git a/Documentation/RelNotes/2.55.0.adoc b/Documentation/RelNotes/2.55.0.adoc index b2adfe51bf19e4..37f7a610a29b09 100644 --- a/Documentation/RelNotes/2.55.0.adoc +++ b/Documentation/RelNotes/2.55.0.adoc @@ -204,6 +204,10 @@ Performance, Internal Implementation, Development Support etc. rewritten to use the right repository structure instance in the unpack-trees.c codepath. + * "git index-pack" has been optimized by retaining child bases in the + delta cache instead of immediately freeing them, letting the existing + cache limit policy decide eviction. + Fixes since v2.54 ----------------- @@ -409,3 +413,4 @@ Fixes since v2.54 (merge 83e7f3bd2b kh/free-commit-list later to maint). (merge d1b72b29e9 am/doc-tech-hash-typofix later to maint). (merge 014c454799 ak/typofixes later to maint). + (merge 522ea8ef7d js/osxkeychain-build-wo-rust later to maint). diff --git a/GIT-VERSION-GEN b/GIT-VERSION-GEN index 9448079974b61c..9bcfdb576eaf5b 100755 --- a/GIT-VERSION-GEN +++ b/GIT-VERSION-GEN @@ -1,6 +1,6 @@ #!/bin/sh -DEF_VER=v2.55.0-rc0 +DEF_VER=v2.55.0-rc1 LF=' ' diff --git a/Makefile b/Makefile index 0976a69b4ca424..1cec251f4387cf 100644 --- a/Makefile +++ b/Makefile @@ -4074,7 +4074,7 @@ contrib/libgit-sys/libgitpub.a: $(LIBGIT_HIDDEN_EXPORT) contrib/credential/osxkeychain/git-credential-osxkeychain: contrib/credential/osxkeychain/git-credential-osxkeychain.o $(LIB_FILE) GIT-LDFLAGS $(QUIET_LINK)$(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) \ - $(filter %.o,$^) $(LIB_FILE) $(EXTLIBS) -framework Security -framework CoreFoundation + $(filter %.o,$^) $(LIBS) -framework Security -framework CoreFoundation contrib/credential/osxkeychain/git-credential-osxkeychain.o: contrib/credential/osxkeychain/git-credential-osxkeychain.c GIT-CFLAGS $(QUIET_LINK)$(CC) -o $@ -c $(dep_args) $(compdb_args) $(ALL_CFLAGS) $(EXTRA_CPPFLAGS) $< diff --git a/builtin/index-pack.c b/builtin/index-pack.c index 2241ff13e4531b..0793dc595c997e 100644 --- a/builtin/index-pack.c +++ b/builtin/index-pack.c @@ -1212,7 +1212,6 @@ static void *threaded_second_pass(void *data) list_add(&child->list, &work_head); base_cache_used += child->size; prune_base_data(NULL); - free_base_data(child); } else if (child) { /* * This child does not have its own children. It may be