From: Junio C Hamano Date: Fri, 14 Jan 2022 00:26:52 +0000 (-0800) Subject: What's cooking (2022/01 #03) X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=05a45cda0a50da1386bd75850c42e431fd4b342a;p=thirdparty%2Fgit.git What's cooking (2022/01 #03) --- diff --git a/whats-cooking.txt b/whats-cooking.txt index 466c172710..f52f2dcc5b 100644 --- a/whats-cooking.txt +++ b/whats-cooking.txt @@ -1,21 +1,29 @@ To: git@vger.kernel.org Bcc: lwn@lwn.net -Subject: What's cooking in git.git (Jan 2022, #02; Wed, 5) -X-master-at: e83ba647f7c61cf945690d6a0bd8c172a6498dc8 -X-next-at: 24525b3c66f3a5878e67d92b3e0fd082dc1d905e +Subject: What's cooking in git.git (Jan 2022, #03; Thu, 13) +X-master-at: 1ffcbaa1a5f10c9f706314d77f88de20a4a498c2 +X-next-at: 00780c9af44409a68481c82f63a97bd18bb2593e -What's cooking in git.git (Jan 2022, #02; Wed, 5) +What's cooking in git.git (Jan 2022, #03; Thu, 13) -------------------------------------------------- -It's a bit early to publish another issue of this report, but a -bunch of topics have graduated to 'master' and a handful of topics -have joined 'next', so here is the second installment of the month. +There are a few "oops, what we merged recently is broken" topics +that still are not in 'master', but otherwise what we have should +be pretty much what we'll have in the final one. -About 25 topics are cooking in 'next', all of which hopefully can be -in the upcoming release. Those not yet in may need bumping, but it -was expected to be a slow cycle due to end-of-year holidays, so it -is also OK to give them enough time to get polished into good enough -shape, rather than merging them prematurely. + - I am reasonably happy with ab/refs-errno-cleanup (just one patch) + that fixes the incorrect state of the code left by the earlier + parts of the topic that have already been merged during this + cycle. + + - I am also OK with ab/reftable-build-fixes (two patches), one for + general type correctness fix, the other for helping older sub-C99 + compilers. + +If there are fixes for regressions that we introduced during this +cycle other than these two topics, I certainly am missing them, so +please holler loudly and quickly, hopefully in time for me to tag +the -rc1 tomorrow. 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 @@ -59,434 +67,504 @@ Release tarballs are available at: -------------------------------------------------- [Graduated to 'master'] -* ds/repack-fixlets (2021-12-20) 2 commits - (merged to 'next' on 2021-12-27 at 8f8474ae84) - + repack: make '--quiet' disable progress - + repack: respect kept objects with '--write-midx -b' +* ab/do-not-limit-stash-help-to-push (2021-12-16) 1 commit + (merged to 'next' on 2022-01-03 at adfc0c1f17) + + stash: don't show "git stash push" usage on bad "git stash" usage - Two fixes around "git repack". - source: + "git stash" by default triggers its "push" action, but its + implementation also made "git stash -h" to show short help only for + "git stash push", which has been corrected. + source: -* en/keep-cwd (2021-12-09) 11 commits - (merged to 'next' on 2021-12-27 at 7cd8f7fdc0) - + 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 startup_info->original_cwd - + setup: introduce startup_info->original_cwd - + t2501: add various tests for removing the current working directory - - Many git commands that deal with working tree files try to remove a - directory that becomes empty (i.e. "git switch" from a branch that - has the directory to another branch that does not would attempt - remove all files in the directory and the directory itself). This - drops users into an unfamiliar situation if the command was run in - a subdirectory that becomes subject to removal due to the command. - The commands have been taught to keep an empty directory if it is - the directory they were started in to avoid surprising users. - source: +* ab/makefile-hook-list-dependency-fix (2021-12-25) 1 commit + (merged to 'next' on 2022-01-03 at 8c8ca0cbce) + + Makefile: correct the dependency graph of hook-list.h + Fix dependency rules to generate hook-list.h header file. + source: -* gh/gpg-doc-markup-fix (2021-12-17) 1 commit - (merged to 'next' on 2021-12-27 at 7988d71a27) - + docs: add missing colon to Documentation/config/gpg.txt - Doc markup fix. - source: <20211217161718.15767-1-greg@hurrell.net> +* ab/makefile-msgfmt-wo-stats (2021-12-25) 1 commit + (merged to 'next' on 2022-01-03 at 2e2097c310) + + Makefile: don't invoke msgfmt with --statistics + Make the recipe that runs msgfmt less noisy. + source: -* jc/flex-array-definition (2021-12-08) 1 commit - (merged to 'next' on 2021-12-27 at 9db6a814b7) - + flex-array: simplify compiler-specific workaround - The conditions to choose different definitions of the FLEX_ARRAY - macro for vendor compilers has been simplified to make it easier to - maintain. - source: +* ab/makefile-pager-env-is-used-only-by-pager.c (2021-12-25) 1 commit + (merged to 'next' on 2022-01-03 at 7ab1e1c5c4) + + Makefile: move -DPAGER_ENV from BASIC_CFLAGS to EXTRA_CPPFLAGS + source: -* jc/merge-detached-head-name (2021-12-20) 1 commit - (merged to 'next' on 2021-12-27 at 01f9fe17b9) - + merge: allow to pretend a merge is made into a different branch - The default merge message prepared by "git merge" records the name - of the current branch; the name can be overridden with a new option - to allow users to pretend a merge is made on a different branch. - source: +* ab/reflog-prep (2021-12-22) 9 commits + (merged to 'next' on 2022-01-03 at 07d2d78d86) + + reflog + refs-backend: move "verbose" out of the backend + + refs files-backend: assume cb->newlog if !EXPIRE_REFLOGS_DRY_RUN + + reflog: reduce scope of "struct rev_info" + + reflog expire: don't use lookup_commit_reference_gently() + + reflog expire: refactor & use "tip_commit" only for UE_NORMAL + + reflog expire: use "switch" over enum values + + reflog: change one->many worktree->refnames to use a string_list + + reflog expire: narrow scope of "cb" in cmd_reflog_expire() + + reflog delete: narrow scope of "cmd" passed to count_reflog_ent() + (this branch is used by jc/reflog-parse-options.) + Code refactoring in the reflog part of refs API. + source: -* jc/t4204-do-not-write-git-on-upstream-of-pipe (2021-12-16) 1 commit - (merged to 'next' on 2021-12-27 at dc2c5db807) - + t4204 is not sanitizer clean at all - Test fixes. - source: +* ab/usage-die-message (2021-12-07) 6 commits + (merged to 'next' on 2022-01-03 at 0ef3860099) + + config API: use get_error_routine(), not vreportf() + + usage.c + gc: add and use a die_message_errno() + + gc: return from cmd_gc(), don't call exit() + + usage.c API users: use die_message() for error() + exit 128 + + usage.c API users: use die_message() for "fatal :" + exit 128 + + usage.c: add a die_message() routine + Code clean-up to hide vreportf() from public API. + source: -* jh/p4-rcs-expansion-in-bytestring (2021-12-16) 5 commits - (merged to 'next' on 2021-12-27 at 650cb248ea) - + git-p4: resolve RCS keywords in bytes not utf-8 - + git-p4: open temporary patch file for write only - + git-p4: add raw option to read_pipelines - + git-p4: pre-compile RCS keyword regexes - + git-p4: use with statements to close files after use in patchRCSKeywords - The RCS keyword substitution in "git p4" used to be done assuming - that the contents are UTF-8 text, which can trigger decoding - errors. We now treat the contents as a bytestring for robustness - and correctness. - source: <20211216134619.2048348-1-jholdsworth@nvidia.com> +* ak/protect-any-current-branch (2022-01-12) 1 commit + (merged to 'next' on 2022-01-12 at 5ad87959d2) + + branch: missing space fix at line 313 + source: <20220111123627.58625-1-bagasdotme@gmail.com> -* jk/ssh-signing-doc-markup-fix (2021-12-15) 1 commit - (merged to 'next' on 2021-12-27 at 2188dc2023) - + doc/config: mark ssh allowedSigners example as literal - Docfix. - source: +* ds/fetch-pull-with-sparse-index (2021-12-22) 5 commits + (merged to 'next' on 2022-01-03 at f58da4a878) + + test-read-cache: remove --table, --expand options + + t1091/t3705: remove 'test-tool read-cache --table' + + t1092: replace 'read-cache --table' with 'ls-files --sparse' + + ls-files: add --sparse option + + fetch/pull: use the sparse index + "git fetch" and "git pull" are now declared sparse-index clean. + Also "git ls-files" learns the "--sparse" option to help debugging. + source: -* jv/use-larger-buffer-in-upload-pack (2021-12-15) 1 commit - (merged to 'next' on 2021-12-27 at 3a1afc1ef8) - + upload-pack.c: increase output buffer size - "git upload-pack" (the other side of "git fetch") used a 8kB buffer - but most of its payload came on 64kB "packets". The buffer size - has been enlarged so that such a packet fits. - source: <20211214194626.33814-1-jacob@gitlab.com> +* ds/sparse-checkout-malformed-pattern-fix (2021-12-30) 3 commits + (merged to 'next' on 2021-12-30 at c8b2ade48c) + + sparse-checkout: refuse to add to bad patterns + + sparse-checkout: fix OOM error with mixed patterns + + sparse-checkout: fix segfault on malformed patterns + Certain sparse-checkout patterns that are valid in non-cone mode + led to segfault in cone mode, which has been corrected. + source: -* km/help-prompt-fix (2021-12-16) 1 commit - (merged to 'next' on 2021-12-27 at a16d8fa62a) - + help: make auto-correction prompt more consistent - Among some code paths that ask an yes/no question, only one place - gave a prompt that looked different from the others, which has been - updated to match what the others create. - source: +* en/merge-ort-renorm-with-rename-delete-conflict-fix (2021-12-30) 1 commit + (merged to 'next' on 2022-01-05 at bb81dd432d) + + merge-ort: fix bug with renormalization and rename/delete conflicts + A corner case bug in the ort merge strategy has been corrected. + source: -* pw/diff-color-moved-fix (2021-12-09) 15 commits - (merged to 'next' on 2021-12-27 at 443dd9f97f) - + diff --color-moved: intern strings - + diff: use designated initializers for emitted_diff_symbol - + diff --color-moved-ws=allow-indentation-change: improve hash lookups - + diff --color-moved: stop clearing potential moved blocks - + diff --color-moved: shrink potential moved blocks as we go - + diff --color-moved: unify moved block growth functions - + diff --color-moved: call comparison function directly - + diff --color-moved-ws=allow-indentation-change: simplify and optimize - + diff: simplify allow-indentation-change delta calculation - + diff --color-moved: avoid false short line matches and bad zebra coloring - + diff --color-moved=zebra: fix alternate coloring - + diff --color-moved: rewind when discarding pmb - + diff --color-moved: factor out function - + diff --color-moved: clear all flags on blocks that are too short - + diff --color-moved: add perf tests - Correctness and performance update to "diff --color-moved" feature. - source: +* en/stash-df-fix (2022-01-04) 1 commit + (merged to 'next' on 2022-01-06 at 22d0c6ccf7) + + stash: do not return before restoring untracked files + "git stash apply" forgot to attempt restoring untracked files when + it failed to restore changes to tracked ones. + source: -* rs/daemon-plug-leak (2021-12-20) 1 commit - (merged to 'next' on 2021-12-27 at 55b058a8bb) - + daemon: plug memory leak on overlong path - Plug a memory leak. - source: <5b151dc3-d4c7-29d3-71ed-a79033693d5d@web.de> +* fs/gpg-unknown-key-test-fix (2022-01-12) 1 commit + (merged to 'next' on 2022-01-12 at 80d3416168) + + t/gpg: simplify test for unknown key + Test simplification. + source: <20220112120757.874714-1-fs@gigacodes.de> -* rs/log-invert-grep-with-headers (2021-12-17) 1 commit - (merged to 'next' on 2021-12-27 at 861648fe8c) - + log: let --invert-grep only invert --grep - "git log --invert-grep --author=" used to exclude commits - written by the given author, but now "--invert-grep" only affects - the matches made by the "--grep=" option. - source: +* fs/ssh-signing-key-lifetime (2022-01-10) 1 commit + (merged to 'next' on 2022-01-12 at 8541f3399c) + + fmt-merge-msg: prevent use-after-free with signed tags + "git merge $signed_tag" started to drop the tag message from the + default merge message it uses by accident, which has been corrected. + source: <6e08b73d602853b3de71257117e85e32b96b5c19.1641849502.git.me@ttaylorr.com> -* rs/pcre2-utf (2021-12-20) 2 commits - (merged to 'next' on 2021-12-27 at 5dc740c331) - + grep/pcre2: factor out literal variable - + grep/pcre2: use PCRE2_UTF even with ASCII patterns - "git grep --perl-regexp" failed to match UTF-8 characters with - wildcard when the pattern consists only of ASCII letters, which has - been corrected. - source: <5fa6962e-3c1c-6dbc-f6d7-589151a9baec@web.de> +* hn/ref-api-tests-update (2021-12-22) 4 commits + (merged to 'next' on 2022-01-03 at 6815d4d8c1) + + t7004: use "test-tool ref-store" for reflog inspection + + t7004: create separate tags for different tests + + t5550: require REFFILES + + t5540: require REFFILES + Test updates. + source: -* rs/t4202-invert-grep-test-fix (2021-12-17) 1 commit - (merged to 'next' on 2021-12-27 at b09cee1626) - + t4202: fix patternType setting in --invert-grep test - Test fix. - source: <79dcebc0-e569-cc8a-4702-c572b062ed6d@web.de> +* hn/refs-debug-update (2021-12-22) 3 commits + (merged to 'next' on 2022-01-03 at 1cd451c66c) + + refs: centralize initialization of the base ref_store. + + refs: print error message in debug output + + refs: pass gitdir to packed_ref_store_create + Debugging support for refs API. + source: -* xw/am-empty (2021-12-15) 3 commits - (merged to 'next' on 2021-12-27 at 562e1552f6) - + am: support --allow-empty to record specific empty patches - + am: support --empty=