From 4487e080a248726cfbf5c05d0097b4d4b993a11d Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Thu, 15 Apr 2021 14:55:10 -0700 Subject: [PATCH] What's cooking (2021/04 #04) --- whats-cooking.txt | 824 +++++++++++++++++++++++++--------------------- 1 file changed, 448 insertions(+), 376 deletions(-) diff --git a/whats-cooking.txt b/whats-cooking.txt index 16fa02a152..768f5fe912 100644 --- a/whats-cooking.txt +++ b/whats-cooking.txt @@ -1,10 +1,10 @@ To: git@vger.kernel.org Bcc: lwn@lwn.net -Subject: What's cooking in git.git (Apr 2021, #03; Mon, 12) -X-master-at: 89b43f80a514aee58b662ad606e6352e03eaeee4 -X-next-at: 7d1e84936f59976b1fce260a447d8781a07cd620 +Subject: What's cooking in git.git (Apr 2021, #04; Thu, 15) +X-master-at: d1b10fc6d84d49796026e567833b88c7f8886c35 +X-next-at: 2be84b2adec173cb8ec032d604b94d60c1637cb9 -What's cooking in git.git (Apr 2021, #03; Mon, 12) +What's cooking in git.git (Apr 2021, #04; Thu, 15) -------------------------------------------------- Here are the topics that have been cooking. Commits prefixed with '-' are @@ -40,251 +40,218 @@ Release tarballs are available at: https://www.kernel.org/pub/software/scm/git/ +-------------------------------------------------- +[Graduated to 'master'] + +* ab/complete-cherry-pick-head (2021-04-07) 1 commit + (merged to 'next' on 2021-04-09 at 5810d0e2c2) + + bash completion: complete CHERRY_PICK_HEAD + + The command line completion (in contrib/) has learned that + CHERRY_PICK_HEAD is a possible pseudo-ref. + + +* ab/detox-config-gettext (2021-04-08) 1 commit + (merged to 'next' on 2021-04-08 at 01d6ff5069) + + config.c: remove last remnant of GIT_TEST_GETTEXT_POISON + + The last remnant of gettext-poison has been removed. + + +* ab/perl-do-not-abuse-map (2021-04-02) 1 commit + (merged to 'next' on 2021-04-03 at 4eaf558557) + + git-send-email: replace "map" in void context with "for" + (this branch is used by ab/send-email-validate-errors.) + + Perl critique. + + +* ab/send-email-validate-errors (2021-04-06) 3 commits + (merged to 'next' on 2021-04-06 at d7fb1dbde0) + + git-send-email: improve --validate error output + + git-send-email: refactor duplicate $? checks into a function + + git-send-email: test full --validate output + (this branch uses ab/perl-do-not-abuse-map.) + + Clean-up codepaths that implements "git send-email --validate" + option and improves the message from it. + + +* cc/test-helper-bloom-usage-fix (2021-04-05) 1 commit + (merged to 'next' on 2021-04-06 at 4895f33fee) + + test-bloom: fix missing 'bloom' from usage string + + Usage message fix for a test helper. + + +* fm/user-manual-use-preface (2021-04-03) 1 commit + (merged to 'next' on 2021-04-05 at 0ae8f63207) + + user-manual.txt: assign preface an id and a title + + Doc update to improve git.info + + +* gk/gitweb-redacted-email (2021-04-08) 1 commit + (merged to 'next' on 2021-04-08 at 8a19c3cd6e) + + gitweb: add "e-mail privacy" feature to redact e-mail addresses + + "gitweb" learned "e-mail privacy" feature to redact strings that + look like e-mail addresses on various pages. + + +* jk/ref-filter-segfault-fix (2021-04-01) 1 commit + (merged to 'next' on 2021-04-02 at 03596563b7) + + ref-filter: fix NULL check for parse object failure + + A NULL-dereference bug has been corrected in an error codepath in + "git for-each-ref", "git branch --list" etc. + + +* jz/apply-3way-cached (2021-04-07) 1 commit + (merged to 'next' on 2021-04-09 at 7d1e84936f) + + git-apply: allow simultaneous --cached and --3way options + (this branch uses jz/apply-run-3way-first.) + + "git apply" now takes "--3way" and "--cached" at the same time, and + work and record results only in the index. + + +* jz/apply-run-3way-first (2021-04-06) 1 commit + (merged to 'next' on 2021-04-08 at f826bcc6b8) + + git-apply: try threeway first when "--3way" is used + (this branch is used by jz/apply-3way-cached.) + + "git apply --3way" has always been "to fall back to 3-way merge + only when straight application fails". Swap the order of falling + back so that 3-way is always attempted first (only when the option + is given, of course) and then straight patch application is used as + a fallback when it fails. + + +* tb/pack-preferred-tips-to-give-bitmap (2021-03-31) 3 commits + (merged to 'next' on 2021-04-03 at cd7024ecd8) + + builtin/pack-objects.c: respect 'pack.preferBitmapTips' + + t/helper/test-bitmap.c: initial commit + + pack-bitmap: add 'test_bitmap_commits()' helper + (this branch is used by tb/multi-pack-bitmaps.) + + A configuration variable has been added to force tips of certain + refs to be given a reachability bitmap. + + +* tb/precompose-prefix-simplify (2021-04-05) 2 commits + (merged to 'next' on 2021-04-05 at 78e8ed11b7) + + macOS: precompose startup_info->prefix + + precompose_utf8: make precompose_string_if_needed() public + + Streamline the codepath to fix the UTF-8 encoding issues in the + argv[] and the prefix on macOS. + + +* vs/completion-with-set-u (2021-04-08) 1 commit + (merged to 'next' on 2021-04-08 at b9b8bde89d) + + completion: audit and guard $GIT_* against unset use + + The command-line completion script (in contrib/) had a couple of + references that would have given a warning under the "-u" (nounset) + option. + -------------------------------------------------- [New Topics] -* jt/fetch-pack-request-fix (2021-04-08) 1 commit - - fetch-pack: buffer object-format with other args - (this branch is used by jt/push-negotiation.) - - Will merge to 'next'. - - -* jt/push-negotiation (2021-04-08) 6 commits - - send-pack: support push negotiation - - fetch: teach independent negotiation (no packfile) - - fetch-pack: refactor command and capability write - - fetch-pack: refactor add_haves() - - fetch-pack: refactor process_acks() - - Merge branch 'jt/fetch-pack-request-fix' into jt/push-negotiation - (this branch uses jt/fetch-pack-request-fix.) - - "git push" learns to discover common ancestor with the receiving - end over protocol v2. - - Waiting for reviews. - -* ab/doc-lint (2021-04-10) 7 commits - - docs: fix linting issues due to incorrect relative section order - - doc lint: lint relative section order - - doc lint: lint and fix missing "GIT" end sections - - doc lint: fix bugs in, simplify and improve lint script - - doc lint: Perl "strict" and "warnings" in lint-gitlink.perl - - Documentation/Makefile: make doc.dep dependencies a variable again - - Documentation/Makefile: make $(wildcard howto/*.txt) a var - - Dev support. - - Waiting for reviews to conclude. - - -* ab/rebase-no-reschedule-failed-exec (2021-04-10) 2 commits - - rebase: don't override --no-reschedule-failed-exec with config - - rebase tests: camel-case rebase.rescheduleFailedExec consistently - - "git rebase --[no-]reschedule-failed-exec" did not work well with - its configuration variable, which has been corrected. - - Waiting for reviews to conclude. - - -* ah/plugleaks (2021-04-10) 9 commits - - builtin/rm: avoid leaking pathspec and seen - - builtin/rebase: release git_format_patch_opt too - - builtin/for-each-ref: free filter and UNLEAK sorting. - - builtin/checkout: clear pending objects after diffing - - builtin/check-ignore: clear_pathspec before returning - - builtin/bugreport: don't leak prefixed filename - - branch: FREE_AND_NULL instead of NULL'ing real_ref - - bloom: clear each bloom_key after use - - wt-status: fix multiple small leaks - - Plug various leans reported by LSAN. - - Waiting for reroll. - What is queued here is a subset of the original series that - looked (at least to me) to be obviously correct. - - -* bc/hash-transition-interop-part-1 (2021-04-10) 16 commits - - fixup! hash: provide per-algorithm null OIDs - - hex: print objects using the hash algorithm member - - hex: default to the_hash_algo on zero algorithm value - - builtin/pack-objects: avoid using struct object_id for pack hash - - commit-graph: don't store file hashes as struct object_id - - builtin/show-index: set the algorithm for object IDs - - hash: provide per-algorithm null OIDs - - hash: set and copy algo field in struct object_id - - cache: compare the entire buffer for struct object_id - - builtin/pack-redundant: avoid casting buffers to struct object_id - - Use the final_oid_fn to finalize hashing of object IDs - - hash: add a function to finalize object IDs - - Always use oidread to read into struct object_id - - cache: add an algo member to struct object_id - - builtin/hash-object: allow literally hashing with a given algorithm - - sha1-file: allow hashing objects literally with any algorithm - - SHA-256 transition. - - Seems to break the tests when merged to 'seen'. - - -* ps/rev-list-object-type-filter (2021-04-12) 8 commits - - rev-list: allow filtering of provided items - - pack-bitmap: implement combined filter - - pack-bitmap: implement object type filter - - list-objects: implement object type filter - - list-objects: support filtering by tag and commit - - list-objects: move tag processing into its own function - - revision: mark commit parents as NOT_USER_GIVEN - - uploadpack.txt: document implication of `uploadpackfilter.allow` - - "git rev-list" learns the "--filter=object:type=" option, - which can be used to exclude objects of the given kind from the - packfile generated by pack-objects. - - Waiting for reviews to conclude. - cf. - - -* tb/multi-pack-bitmaps (2021-04-10) 23 commits - - p5326: perf tests for MIDX bitmaps - - p5310: extract full and partial bitmap tests - - midx: respect 'GIT_TEST_MULTI_PACK_INDEX_WRITE_BITMAP' - - t7700: update to work with MIDX bitmap test knob - - t5319: don't write MIDX bitmaps in t5319 - - t5310: disable GIT_TEST_MULTI_PACK_INDEX_WRITE_BITMAP - - t5326: test multi-pack bitmap behavior - - t/helper/test-read-midx.c: add --checksum mode - - t5310: move some tests to lib-bitmap.sh - - pack-bitmap: write multi-pack bitmaps - - pack-bitmap: read multi-pack bitmaps - - pack-bitmap.c: introduce 'bitmap_is_preferred_refname()' - - pack-bitmap.c: introduce 'nth_bitmap_object_oid()' - - pack-bitmap.c: introduce 'bitmap_num_objects()' - - midx: respect 'core.multiPackIndex' when writing - - midx: clear auxiliary .rev after replacing the MIDX - - midx: make a number of functions non-static - - Documentation: describe MIDX-based bitmaps - - Documentation: build 'technical/bitmap-format' by default - - pack-bitmap-write.c: free existing bitmaps - - pack-bitmap-write.c: gracefully fail to write non-closed bitmaps - - pack-bitmap.c: harden 'test_bitmap_walk()' to check type bitmaps - - Merge branch 'tb/pack-preferred-tips-to-give-bitmap' into tb/multi-pack-bitmaps - (this branch uses tb/pack-preferred-tips-to-give-bitmap.) - - The reachability bitmap file used to be generated only for a single - pack, but now we've learned to generate bitmaps for history that - span across multiple packfiles. - - Waiting for reviews. - cf. - - -* ab/svn-tests-set-e-fix (2021-04-12) 2 commits - - svn tests: refactor away a "set -e" in test body - - svn tests: remove legacy re-setup from init-clone test +* ab/detox-gettext-tests (2021-04-13) 1 commit + (merged to 'next' on 2021-04-15 at db0da2903a) + + tests: remove all uses of test_i18cmp Test clean-up. - Waiting for reviews. + Will merge to 'master'. -* ab/test-lib-updates (2021-04-12) 16 commits - - test-lib-functions: remove last two parameter count assertions - - Revert and amend "test-lib-functions: assert correct parameter count" - - test-lib-functions: use "return 1" instead of "false" - - test-lib-functions: normalize test_path_is_missing() debugging - - test-lib: modernize test_create_repo() function - - test-lib: do not show advice about init.defaultBranch under --verbose - - test-lib: reformat argument list in test_create_repo() - - submodule tests: use symbolic-ref --short to discover branch name - - test-lib functions: add --printf option to test_commit - - describe tests: convert setup to use test_commit - - test-lib functions: add an --annotated-tag option to "test_commit" - - test-lib-functions: document test_commit --no-tag - - test-lib-functions: reword "test_commit --append" docs - - test-lib tests: remove dead GIT_TEST_FRAMEWORK_SELFTEST variable - - test-lib: bring $remove_trash out of retirement - - check-non-portable-shell: complain about "test" a/-o instead of &&/|| - (this branch is used by ab/describe-tests-fix and ab/pickaxe-pcre2.) +* ab/fsck-unexpected-type (2021-04-13) 6 commits + - fsck: report invalid object type-path combinations + - fsck: report invalid types recorded in objects + - object-store.h: move read_loose_object() below 'struct object_info' + - fsck: don't hard die on invalid object types + - fsck tests: refactor one test to use a sub-repo + - cache.h: move object functions to object-store.h - Test clean-up. - - Waiting for reviews. + "git fsck" has been taught to report mismatch between expected and + actual types of an object better. -* ah/merge-ort-ubsan-fix (2021-04-12) 1 commit - - merge-ort: only do pointer arithmetic for non-empty lists +* ab/usage-error-docs (2021-04-13) 3 commits + (merged to 'next' on 2021-04-15 at dbbbaa5eea) + + api docs: document that BUG() emits a trace2 error event + + api docs: document BUG() in api-error-handling.txt + + usage.c: don't copy/paste the same comment three times - Code clean-up for merge-ort backend. + Documentation updates, with unrelated comment updates, too. - Will merge to 'next'? + Will merge to 'master'. -* ao/p4-avoid-decoding (2021-04-12) 2 commits - - git-p4: do not decode data from perforce by default - - git-p4: avoid decoding more data from perforce +* jk/promisor-optim (2021-04-13) 3 commits + (merged to 'next' on 2021-04-15 at 41f303ef9b) + + revision: avoid parsing with --exclude-promisor-objects + + lookup_unknown_object(): take a repository argument + + is_promisor_object(): free tree buffer after parsing + (this branch is used by rs/repack-without-loosening-promised-objects.) - "git p4" in Python-2 days used to accept a lot more kinds of data - from Perforce server as uninterrupted byte sequence, but after - switching to Python-3, too many things are expected to be in UTF-8, - which broke traditional use cases. + Handling of "promisor packs" that allows certain objects to be + missing and lazily retrievable has been optimized (a bit). - Waiting for reviews. + Will merge to 'master'. -* hn/refs-trace-errno (2021-04-12) 1 commit - - refs: print errno for read_raw_ref if GIT_TRACE_REFS is set +* so/log-diff-merge (2021-04-13) 5 commits + - doc/diff-options: document new --diff-merges features + - diff-merges: introduce log.diffMerges config variable + - diff-merges: adapt -m to enable default diff format + - diff-merges: refactor set_diff_merges() + - diff-merges: introduce --diff-merges=on - Show errno in the trace output in the error codepath that calls - read_raw_ref method. + "git log" learned "--diff-merges=