From: Junio C Hamano Date: Tue, 30 Nov 2021 00:07:01 +0000 (-0800) Subject: What's cooking (2021/11 #07) X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5877042f5ad06305217b72562784d171579a1921;p=thirdparty%2Fgit.git What's cooking (2021/11 #07) --- diff --git a/whats-cooking.txt b/whats-cooking.txt index 5861467f7e..eaec6f0afe 100644 --- a/whats-cooking.txt +++ b/whats-cooking.txt @@ -1,22 +1,34 @@ To: git@vger.kernel.org Bcc: lwn@lwn.net -Subject: What's cooking in git.git (Nov 2021, #06; Wed, 24) -X-master-at: 35151cf0720460a897cde9b8039af364743240e7 -X-next-at: a245620fadb0d35540dd0d2184f0f8314eb97080 +Subject: What's cooking in git.git (Nov 2021, #07; Mon, 29) +X-master-at: abe6bb3905392d5eb6b01fa6e54d7e784e0522aa +X-next-at: abe6bb3905392d5eb6b01fa6e54d7e784e0522aa -What's cooking in git.git (Nov 2021, #06; Wed, 24) +What's cooking in git.git (Nov 2021, #07; Mon, 29) -------------------------------------------------- -As 2.34.0 cycle was run rather loosely, we saw our share of -regressions in the release. Hopefully we have caught the major ones -and fixed them all in the 2.34.1 maintenance release that was just -tagged. +As promised, most of the topics that have been cooking in 'next' +since the previous release cycle have been merged to 'master' to +start a new cycle, with a small exception. The tip of 'next' has +been rewound and there is 0 topics on it right now. + +The exception is 'ns/tmp-objdir' and a few topics that depend on it, +which are kicked out of 'next' to give the base topic a chance to +lose the two "fixup!" band-aid. Careful re-reading of the topic by +somebody with a fresh set of eyes (meaning, everybody, as this has +been dormant for almost a month) is very much appreciated to move +things forward. Also ns/remerge-diff that is Neeraj's rebase of the +remerge-diff topic needs Elijah's Ack at least. + +Many of the new patches in 'seen' since the last cycle ended are +truly 'just seen' and not 'read' at all, as you can see from the +lack of any topic description to speak of in the following list. +Help is appreciated here, too. Before whipping them into some +presentable shape, I wouldn't be able to take any more new topics. + + + -I've marked most of the topics that are in 'next' for the 'master' -branch, except for a few topics, but if there are topics that should -be rethought instead, please holler. Once flushing these topics -down to 'master', the tip of 'next' will be rewound and then we'll -start taking new topics to it. Here are the topics that have been cooking in my tree. Commits prefixed with '+' are in 'next' (being in 'next' is a sign that a @@ -66,44 +78,225 @@ Release tarballs are available at: -------------------------------------------------- [Graduated to 'master'] -* ab/update-submitting-patches (2021-11-13) 1 commit - (merged to 'next' on 2021-11-19 at b44f4d0eb0) - + SubmittingPatches: fix Asciidoc syntax in "GitHub CI" section +* ab/refs-errno-cleanup (2021-10-16) 21 commits + (merged to 'next' on 2021-10-29 at 3f57147176) + + refs API: post-migration API renaming [2/2] + + refs API: post-migration API renaming [1/2] + + refs API: don't expose "errno" in run_transaction_hook() + + refs API: make expand_ref() & repo_dwim_log() not set errno + + refs API: make resolve_ref_unsafe() not set errno + + refs API: make refs_ref_exists() not set errno + + refs API: make refs_resolve_refdup() not set errno + + refs tests: ignore ignore errno in test-ref-store helper + + refs API: ignore errno in worktree.c's find_shared_symref() + + refs API: ignore errno in worktree.c's add_head_info() + + refs API: make files_copy_or_rename_ref() et al not set errno + + refs API: make loose_fill_ref_dir() not set errno + + refs API: make resolve_gitlink_ref() not set errno + + refs API: remove refs_read_ref_full() wrapper + + refs/files: remove "name exist?" check in lock_ref_oid_basic() + + reflog tests: add --updateref tests + + refs API: make refs_rename_ref_available() static + + refs API: make parse_loose_ref_contents() not set errno + + refs API: make refs_read_raw_ref() not set errno + + refs API: add a version of refs_resolve_ref_unsafe() with "errno" + + branch tests: test for errno propagating on failing read + + The "remainder" of hn/refs-errno-cleanup topic. + + +* ab/sh-retire-helper-functions (2021-10-21) 6 commits + (merged to 'next' on 2021-11-03 at 4b49d9f4be) + + git-sh-setup: remove "sane_grep", it's not needed anymore + + git-sh-setup: remove unused sane_egrep() function + + git-instaweb: unconditionally assume that gitweb is mod_perl capable + + Makefile: remove $(NO_CURL) from $(SCRIPT_DEFINES) + + Makefile: remove $(GIT_VERSION) from $(SCRIPT_DEFINES) + + Makefile: move git-SCRIPT-DEFINES adjacent to $(SCRIPT_DEFINES) + (this branch is used by ab/make-dependency.) + + Make a few helper functions unused and then lose them. + + +* jc/fix-ref-sorting-parse (2021-10-20) 2 commits + (merged to 'next' on 2021-10-29 at e3ec6e8e77) + + for-each-ref: delay parsing of --sort= options + + Merge branch 'ab/ref-filter-leakfix' into jc/fix-ref-sorting-parse + + Things like "git -c branch.sort=bogus branch new HEAD", i.e. the + operation modes of the "git branch" command that do not need the + sort key information, no longer errors out by seeing a bogus sort + key. + + +* jc/tutorial-format-patch-base (2021-10-23) 1 commit + (merged to 'next' on 2021-10-29 at 67ff1a5a77) + + MyFirstContribution: teach to use "format-patch --base=auto" + + Teach and encourage first-time contributors to this project to + state the base commit when they submit their topic. + + +* jc/unsetenv-returns-an-int (2021-10-29) 1 commit + (merged to 'next' on 2021-11-01 at a11670a5a5) + + unsetenv(3) returns int, not void + + The compatibility implementation for unsetenv(3) were written to + mimic ancient, non-POSIX, variant seen in an old glibc; it has been + changed to return an integer to match the more modern era. + - Doc fix. +* jk/loosen-urlmatch (2021-10-12) 1 commit + (merged to 'next' on 2021-10-25 at f66ca39ebe) + + urlmatch: add underscore to URL_HOST_CHARS + + Treat "_" as any other URL-valid characters in an URL when matching + the per-URL configuration variable names. + + +* mc/clean-smudge-with-llp64 (2021-11-03) 8 commits + (merged to 'next' on 2021-11-03 at fe5160a170) + + clean/smudge: allow clean filters to process extremely large files + + odb: guard against data loss checking out a huge file + + git-compat-util: introduce more size_t helpers + + odb: teach read_blob_entry to use size_t + + t1051: introduce a smudge filter test for extremely large files + + test-lib: add prerequisite for 64-bit platforms + + test-tool genzeros: generate large amounts of data more efficiently + + test-genzeros: allow more than 2G zeros in Windows + + The clean/smudge conversion code path has been prepared to better + work on platforms where ulong is narrower than size_t. -* ds/add-rm-with-sparse-index (2021-11-22) 1 commit - - dir: revert "dir: select directories correctly" +* ow/stash-count-in-status-porcelain-output (2021-10-21) 2 commits + (merged to 'next' on 2021-10-29 at 1a01b886e5) + + status: print stash info with --porcelain=v2 --show-stash + + status: count stash entries in separate function - Regression fix for 2.34 + Allow "git status --porcelain=v2" to show the number of stash + entries with --show-stash like the normal output does. -* ev/pull-already-up-to-date-is-noop (2021-11-18) 1 commit - (merged to 'next' on 2021-11-19 at 2d8f0cd000) - + pull: should be noop when already-up-to-date +* so/stash-staged (2021-10-28) 2 commits + (merged to 'next' on 2021-10-29 at 50335e8eeb) + + stash: get rid of unused argument in stash_staged() + (merged to 'next' on 2021-10-25 at 68b88e35c4) + + stash: implement '--staged' option for 'push' and 'save' - "git pull" with any strategy when the other side is behind us - should succeed as it is a no-op, but doesn't. + "git stash" learned the "--staged" option to stash away what has + been added to the index (and nothing else). -* hm/paint-hits-in-log-grep (2021-11-19) 1 commit - (merged to 'next' on 2021-11-19 at e146d25c7c) - + Revert "grep/pcre2: fix an edge case concerning ascii patterns and UTF-8 data" +* tb/plug-pack-bitmap-leaks (2021-10-28) 9 commits + (merged to 'next' on 2021-11-01 at 47d218862b) + + pack-bitmap.c: more aggressively free in free_bitmap_index() + + pack-bitmap.c: don't leak type-level bitmaps + + midx.c: write MIDX filenames to strbuf + + builtin/multi-pack-index.c: don't leak concatenated options + + builtin/repack.c: avoid leaking child arguments + + builtin/pack-objects.c: don't leak memory via arguments + + t/helper/test-read-midx.c: free MIDX within read_midx_file() + + midx.c: don't leak MIDX from verify_midx_file + + midx.c: clean up chunkfile after reading the MIDX - "git grep" looking in a blob that has non-UTF8 payload was - completely broken when linked with versions of PCREv2 library older - than 10.34 in the latest release. + Leakfix. -* jc/save-restore-terminal-revert (2021-11-22) 1 commit - - Revert "editor: save and reset terminal after calling EDITOR" +* tp/send-email-completion (2021-10-28) 2 commits + (merged to 'next' on 2021-11-01 at 7104356cc0) + + send-email docs: add format-patch options + + send-email: programmatically generate bash completions - Regression fix for 2.34 + The command line complation for "git send-email" options have been + tweaked to make it easier to keep it in sync with the command itself. -------------------------------------------------- [New Topics] +* ab/ambiguous-object-name (2021-11-26) 6 commits + - object-name: re-use "struct strbuf" in show_ambiguous_object() + - object-name: iterate ambiguous objects before showing header + - object-name: show date for ambiguous tag objects + - object-name: make ambiguous object output translatable + - object-name: explicitly handle OBJ_BAD in show_ambiguous_object() + - object-name tests: add tests for ambiguous object blind spots + + +* cb/add-p-single-key-fix (2021-11-28) 1 commit + - add -p: avoid use of undefined $key when ReadKey -> EOF + + +* cb/mingw-gmtime-r (2021-11-27) 1 commit + - mingw: avoid fallback for {local,gm}time_r() + + +* ds/trace2-regions-in-tests (2021-11-29) 2 commits + - t/t*: remove custom GIT_TRACE2_EVENT_NESTING + - test-lib.sh: set GIT_TRACE2_EVENT_NESTING + + +* hn/allow-bogus-oid-in-ref-tests (2021-11-29) 6 commits + - t1430: create valid symrefs using test-helper + - t1430: remove refs using test-tool + - refs: add REF_SKIP_REFNAME_VERIFICATION flag + - refs: allow skipping OID verification + - refs: update comment. + - test-ref-store: plug memory leak in cmd_delete_refs + + +* hn/t1404-df-limitation-is-ref-files-only (2021-11-29) 1 commit + - t1404: mark directory/file conflict tests with REFFILES + + +* jc/reflog-iterator-callback-doc (2021-11-28) 1 commit + - refs: document callback for reflog-ent iterators + + +* po/size-t-for-vs (2021-11-26) 3 commits + - object-file.c: LLP64 compatibility, upcast unity for left shift + - diffcore-delta.c: LLP64 compatibility, upcast unity for left shift + - repack.c: LLP64 compatibility, upcast unity for left shift + + +* yn/complete-date-format-options (2021-11-25) 1 commit + - completion: add human and auto: date format + + +* jc/grep-patterntype-default-doc (2021-11-29) 1 commit + - grep: clarify what `grep.patternType=default` means + +-------------------------------------------------- +[Stalled] + +* ar/submodule-update (2021-10-13) 9 commits + . submodule--helper: rename helper functions + . submodule--helper: remove unused helpers + . submodule: move core cmd_update() logic to C + . submodule--helper: run update using child process struct + . submodule--helper: allow setting superprefix for init_submodule() + . submodule--helper: refactor get_submodule_displaypath() + . submodule--helper: rename helpers for update-clone + . submodule--helper: get remote names from any repository + . submodule--helper: split up ensure_core_worktree() + + Rewrite of "git submodule update" in C. + + Kicked out of 'seen' to make room for es/superproject-aware-submodules + which is among the topics this topic stomps on. + + +* cf/fetch-set-upstream-while-detached (2021-07-06) 1 commit + - fetch: fix segfault on --set-upstream while on a detached HEAD + + "git fetch --set-upstream" while on detached HEAD segfaulted + instead of noticing that such an operation did not make sense. + + Getting tired of waiting for a reroll; will discard. + +-------------------------------------------------- +[Cooking] + * ab/ci-updates (2021-11-23) 5 commits - CI: don't run "make test" twice in one job - CI: use "$runs_on_pool", not "$jobname" to select packages & config @@ -111,44 +304,68 @@ Release tarballs are available at: - CI: use shorter names that fit in UX tooltips - CI: remove Travis CI support + Drop support for TravisCI and update test workflows at GitHub. -* en/keep-cwd (2021-11-20) 8 commits - - dir: avoid removing the current working directory - - stash: do not attempt to remove current working directory - - clean: do not attempt to remove current working directory - - symlinks: do not include current working directory in dir removal + +* en/keep-cwd (2021-11-29) 11 commits + - t2501: simplify the tests since we can now assume desired behavior + - dir: new flag to remove_dir_recurse() to spare the original_cwd + - dir: avoid incidentally removing the original_cwd in remove_path() + - stash: do not attempt to remove startup_info->original_cwd + - rebase: do not attempt to remove startup_info->original_cwd + - clean: do not attempt to remove startup_info->original_cwd + - symlinks: do not include startup_info->original_cwd in dir removal - unpack-trees: add special cwd handling - - unpack-trees: refuse to remove the current working directory - - repository, setup: introduce the_cwd + - unpack-trees: refuse to remove startup_info->original_cwd + - setup: introduce startup_info->original_cwd - t2501: add various tests for removing the current working directory -* ab/run-command (2021-11-22) 5 commits +* ab/run-command (2021-11-25) 9 commits + - run-command API: remove "env" member, always use "env_array" + - difftool: use "env_array" to simplify memory management - run-command API: remove "argv" member, always use "args" + - run-command API users: use strvec_push(), not argv construction - run-command API users: use strvec_pushl(), not argv construction + - run-command tests: use strvec_pushv(), not argv assignment - run-command API users: use strvec_pushv(), not argv assignment - upload-archive: use regular "struct child_process" pattern - - archive-tar: use our own cmd.buf in error message + - worktree: stop being overly intimate with run_command() internals * hn/create-reflog-simplify (2021-11-22) 1 commit - refs: drop force_create argument of create_reflog API + A small simplification of API. + + Will merge to 'next'. + -* hn/reflog-tests (2021-11-22) 4 commits - - t1400: use test-helper ref-store to inspect reflog contents +* hn/reflog-tests (2021-11-25) 5 commits + - refs/debug: trim trailing LF from reflog message - test-ref-store: tweaks to for-each-reflog-ent format - - refs: trim newline from reflog message + - t1405: check for_each_reflog_ent_reverse() more thoroughly + - test-ref-store: don't add newline to reflog message - show-branch: show reflog message + Prepare tests on ref API to help testing reftable backends. + * jt/midx-doc-fix (2021-11-22) 1 commit - Doc: no midx and partial clone relation + Docfix. + + Will merge to 'next'. + * tl/ls-tree-oid-only (2021-11-22) 1 commit - ls-tree.c: support `--oid-only` option for "git-ls-tree" + "git ls-tree" learns "--oid-only" option, similar to "--name-only". + + Expecting a reroll. + * jk/t7006-sigpipe-tests-fix (2021-11-22) 3 commits - t7006: simplify exit-code checks for sigpipe tests @@ -168,36 +385,6 @@ Release tarballs are available at: * em/missing-pager (2021-11-24) 1 commit - pager: fix crash when pager program doesn't exist --------------------------------------------------- -[Stalled] - -* ar/submodule-update (2021-10-13) 9 commits - . submodule--helper: rename helper functions - . submodule--helper: remove unused helpers - . submodule: move core cmd_update() logic to C - . submodule--helper: run update using child process struct - . submodule--helper: allow setting superprefix for init_submodule() - . submodule--helper: refactor get_submodule_displaypath() - . submodule--helper: rename helpers for update-clone - . submodule--helper: get remote names from any repository - . submodule--helper: split up ensure_core_worktree() - - Rewrite of "git submodule update" in C. - - Kicked out of 'seen' to make room for es/superproject-aware-submodules - which is among the topics this topic stomps on. - - -* cf/fetch-set-upstream-while-detached (2021-07-06) 1 commit - - fetch: fix segfault on --set-upstream while on a detached HEAD - - "git fetch --set-upstream" while on detached HEAD segfaulted - instead of noticing that such an operation did not make sense. - - Getting tired of waiting for a reroll; will discard. - --------------------------------------------------- -[Cooking] * ab/checkout-branch-info-leakfix (2021-11-18) 1 commit - checkout: fix "branch info" memory leaks @@ -232,7 +419,8 @@ Release tarballs are available at: - Makefile: don't set up "perl/build" rules under NO_PERL=Y - Makefile: don't invoke msgfmt with --statistics - Merge branch 'ab/sh-retire-helper-functions' into ab/make-dependency - (this branch uses ab/sh-retire-helper-functions.) + + Dependency clean-up. * ah/advice-pull-has-no-preference-between-rebase-and-merge (2021-11-19) 1 commit @@ -245,7 +433,7 @@ Release tarballs are available at: Will merge to 'next'. -* ds/fetch-pull-with-sparse-index (2021-11-18) 3 commits +* ds/fetch-pull-with-sparse-index (2021-11-29) 3 commits - ls-files: add --sparse option - fetch/pull: use the sparse index - Merge branch 'ld/sparse-diff-blame' into ds/fetch-pull-with-sparse-index @@ -266,18 +454,24 @@ Release tarballs are available at: and optionally error out when prerequisites that are expected to be satisfied are not. + Will merge to 'next'? + * jk/t5319-midx-corruption-test-deflake (2021-11-18) 1 commit - t5319: corrupt more bytes of the midx checksum Test fix. + Will merge to 'next'. + * js/trace2-avoid-recursive-errors (2021-11-18) 1 commit - trace2: disable tr2_dst before warning on write errors trace2 error code path fix. + Will merge to 'next'. + * pw/xdiff-classify-record-in-histogram (2021-11-18) 3 commits - xdiff: simplify comparison @@ -286,23 +480,34 @@ Release tarballs are available at: "diff --histogram" optimization. + Will merge to 'next'. + * rs/mergesort (2021-11-18) 1 commit - mergesort: avoid left shift overflow - Bitop fix for 32-bit boxes. + Bitop fix for platforms whose "long" is 32-bit. + + Will merge to 'next'. * xw/am-empty (2021-11-22) 2 commits - am: support --empty=