···9595 * "git clone" learned a new --server-option option when talking over
9696 the protocol version 2.
97979898+ * The connectivity bitmaps are created by default in bare
9999+ repositories now; also the pathname hash-cache is created by
100100+ default to avoid making crappy deltas when repacking.
101101+9810299103Performance, Internal Implementation, Development Support etc.
100104···157161 machinery to discover them one by one. The code learned to aim to
158162 achieve better performance by batching the request for these
159163 promised blobs.
164164+165165+ * During an initial "git clone --depth=..." partial clone, it is
166166+ pointless to spend cycles for a large portion of the connectivity
167167+ check that enumerates and skips promisor objects (which by
168168+ definition is all objects fetched from the other side). This has
169169+ been optimized out.
170170+171171+ * Mechanically and systematically drop "extern" from function
172172+ declarlation.
173173+174174+ * The script to aggregate perf result unconditionally depended on
175175+ libjson-perl even though it did not have to, which has been
176176+ corrected.
177177+178178+ * The internal implementation of "git rebase -i" has been updated to
179179+ avoid forking a separate "rebase--interactive" process.
160180161181162182Fixes since v2.21
···436456 corrected.
437457 (merge b71e56a683 vk/autoconf-gettext later to maint).
438458459459+ * Fix index-pack perf test so that the repeated invocations always
460460+ run in an empty repository, which emulates the initial clone
461461+ situation better.
462462+ (merge 775c71e16d jk/p5302-avoid-collision-check-cost later to maint).
463463+464464+ * A "ls-files" that emulates "find" to enumerate files in the working
465465+ tree resulted in duplicated Makefile rules that caused the build to
466466+ issue an unnecessary warning during a trial build after merge
467467+ conflicts are resolved in working tree *.h files but before the
468468+ resolved results are added to the index. This has been corrected.
469469+470470+ * "git chery-pick" (and "revert" that shares the same runtime engine)
471471+ that deals with multiple commits got confused when the final step
472472+ gets stopped with a conflict and the user concluded the sequence
473473+ with "git commit". Attempt to fix it by cleaning up the state
474474+ files used by these commands in such a situation.
475475+ (merge 4a72486de9 pw/clean-sequencer-state-upon-final-commit later to maint).
476476+439477 * Code cleanup, docfix, build fix, etc.
440478 (merge 11f470aee7 jc/test-yes-doc later to maint).
441479 (merge 90503a240b js/doc-symref-in-proto-v1 later to maint).
···471509 (merge dbe7b41019 js/t3301-unbreak-notes-test later to maint).
472510 (merge d8083e4180 km/t3000-retitle later to maint).
473511 (merge 9e4cbccbd7 tz/git-svn-doc-markup-fix later to maint).
512512+ (merge da9ca955a7 jk/ls-files-doc-markup-fix later to maint).