From: Junio C Hamano Date: Fri, 3 Dec 2021 23:29:45 +0000 (-0800) Subject: What's cooking (2021/12 #01) X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f307b316ec0192a6cafd1df13d73b5e353bb41da;p=thirdparty%2Fgit.git What's cooking (2021/12 #01) --- diff --git a/whats-cooking.txt b/whats-cooking.txt index eaec6f0afe..190f7b75c7 100644 --- a/whats-cooking.txt +++ b/whats-cooking.txt @@ -1,30 +1,31 @@ To: git@vger.kernel.org Bcc: lwn@lwn.net -Subject: What's cooking in git.git (Nov 2021, #07; Mon, 29) +Subject: What's cooking in git.git (Dec 2021, #01; Fri, 3) X-master-at: abe6bb3905392d5eb6b01fa6e54d7e784e0522aa -X-next-at: abe6bb3905392d5eb6b01fa6e54d7e784e0522aa +X-next-at: a8338297339b1ab064e799c15c4fc56c122ef967 -What's cooking in git.git (Nov 2021, #07; Mon, 29) +What's cooking in git.git (Dec 2021, #01; Fri, 3) -------------------------------------------------- -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. +This is probably the first issue of the "What's cooking" report, in +which all topics have some sort of description. + +Even better, each and every topic is annotated with some sort of +verdict (like "Will discard", "Expecting a reroll", "Will merge to +'next'?" etc.). There is no topic in the "Undecided" category when +this report is fed to "cook -w" script (found in the 'todo' branch). + +A handful of topics are added to 'next', and we have about 40 topics +cooking there. For them, the future is automated---they spend about +a week in 'next', and if we find issues in them, we incrementally +improve them, or get merged to 'master'. + +Then we have about a dozen topics that are marked for 'next' (please +raise your hand if you have objection before a real damage is done), +and 8 more that may be ready for 'next' (please raise your hand if +you want to nudge them in either direction, for or against). -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. @@ -76,143 +77,220 @@ Release tarballs are available at: https://www.kernel.org/pub/software/scm/git/ -------------------------------------------------- -[Graduated to 'master'] +[New Topics] -* 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. - - -* 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. - - -* 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 - - Allow "git status --porcelain=v2" to show the number of stash - entries with --show-stash like the normal output does. - - -* 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 stash" learned the "--staged" option to stash away what has - been added to the index (and nothing else). +* ab/cat-file (2021-11-29) 10 commits + - cat-file: use GET_OID_ONLY_TO_DIE in --(textconv|filters) + - object-name.c: don't have GET_OID_ONLY_TO_DIE imply *_QUIETLY + - cat-file: correct and improve usage information + - cat-file: fix remaining usage bugs + - cat-file: make --batch-all-objects a CMDMODE + - cat-file: move "usage" variable to cmd_cat_file() + - cat-file docs: fix SYNOPSIS and "-h" output + - parse-options API: add a usage_msg_optf() + - cat-file tests: test messaging on bad objects/paths + - cat-file tests: test bad usage + Assorted updates to "git cat-file", especially "-h". -* 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 + Needs review. + Even though this is at its third round, there wasn't any meaningful + reviews other than typofixes in the earliest round, which may or + may not be still relevant. The last round needs a serious review + before becoming eligible for 'next'. + source: - Leakfix. +* ab/grep-patterntype (2021-11-29) 7 commits + - grep: simplify config parsing and option parsing + - grep API: call grep_config() after grep_init() + - grep.c: don't pass along NULL callback value + - built-ins: trust the "prefix" from run_builtin() + - grep tests: add missing "grep.patternType" config test + - log tests: check if grep_config() is called by "log"-like cmds + - grep.h: remove unused "regex_t regexp" from grep_opt + + Some code clean-up in the "git grep" machinery. + + Need to pick up a reroll. + cf. + source: + + +* en/rebase-x-fix (2021-11-29) 1 commit + (merged to 'next' on 2021-12-03 at a833829733) + + sequencer: avoid adding exec commands for non-commit creating commands + + "git rebase -x" added an unnecessary 'exec' instructions before + 'noop', which has been corrected. + + Will merge to 'master'. + source: + + +* js/use-builtin-add-i (2021-12-01) 2 commits + - add -i: default to the built-in implementation + - t2016: require the PERL prereq only when necessary + + "git add -i" was rewritten in C some time ago and has been in + testing; the reimplementation is now exposed to general public by + default. + + On hold. + There are known breakages on macOS. + cf. + source: + + +* jt/conditional-config-on-remote-url (2021-11-29) 2 commits + - config: include file if remote URL matches a glob + - config: make git_config_include() static + + The conditional inclusion mechanism of configuration files using + "[includeIf ]" learns to base its decision on the + URL of the remote repository the repository interacts with. + + Need to pick up a reroll. + cf. + source: <3b3af0da983c65ac8282b14141495f6859cd575a.1638217387.git.jonathantanmy@google.com> + + +* tb/cruft-packs (2021-11-29) 17 commits + - sha1-file.c: don't freshen cruft packs + - builtin/gc.c: conditionally avoid pruning objects via loose + - builtin/repack.c: add cruft packs to MIDX during geometric repack + - builtin/repack.c: use named flags for existing_packs + - builtin/repack.c: allow configuring cruft pack generation + - builtin/repack.c: support generating a cruft pack + - builtin/pack-objects.c: --cruft with expiration + - reachable: report precise timestamps from objects in cruft packs + - reachable: add options to add_unseen_recent_objects_to_traversal + - builtin/pack-objects.c: --cruft without expiration + - builtin/pack-objects.c: return from create_object_entry() + - t/helper: add 'pack-mtimes' test-tool + - pack-mtimes: support writing pack .mtimes files + - chunk-format.h: extract oid_version() + - pack-write: pass 'struct packing_data' to 'stage_tmp_packfiles' + - pack-mtimes: support reading .mtimes files + - Documentation/technical: add cruft-packs.txt + + Instead of leaving unreachable objects in loose form when packing, + or ejecting them into loose form when repacking, gather them in a + packfile with an auxiliary file that records the last-use time of + these objects. + + Expecting a reroll. + source: + + +* cb/save-term-across-editor-invocation (2021-12-01) 3 commits + - fixup! editor: allow for saving/restoring terminal state + - editor: allow for saving/restoring terminal state + - terminal: teach save_term to fail when not foreground + + Some editors are reported to leave the terminal in funny state + after they exit on Windows. Work it around by saving and restoring + the terminal state when needed. + + Expecting a reroll. + cf. + source: <20211202035446.1154-1-carenas@gmail.com> -* 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 - 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. +* jk/log-decorate-opts-with-implicit-decorate (2021-12-01) 2 commits + - log: load decorations with --simplify-by-decoration + - log: handle --decorate-refs with userformat "%d" + + When "git log" implicitly enabled the "decoration" processing + without being explicitly asked with "--decorate" option, it failed + to read and honor the settings given by the "--decorate-refs" + option. + + Will merge to 'next'? + source: + + +* jl/subtree-check-parents-argument-passing-fix (2021-12-01) 1 commit + - subtree: fix argument handling in check_parents + + Fix performance-releated bug in "git subtree" (in contrib/). + + Expecting a reroll. + cf. + source: -------------------------------------------------- -[New Topics] +[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. + + Expecting a reroll? + cf. + source: <20211013051805.45662-10-raykar.ath@gmail.com> + + +* 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. + + Expecting a reroll. + A low hanging fruit to make this usable is an addition of a few tests; + any takers? + cf. + cf. + source: <20210706162238.575988-1-clemens@endorphin.org> + + +* ms/customizable-ident-expansion (2021-09-01) 1 commit + - keyword expansion: make "$Id$" string configurable + + Instead of "$Id$", user-specified string (like $FreeBSD$) can be + used as an in-blob placeholder for keyword expansion. + + Will discard. + Stalled for too long. + cf. + cf. <211101.86fssf3bn3.gmgdl@evledraar.gmail.com> + source: + + +* pw/fix-some-issues-in-reset-head (2021-10-01) 12 commits + - rebase -m: don't fork git checkout + - rebase --apply: set ORIG_HEAD correctly + - rebase --apply: fix reflog + - reset_head(): take struct rebase_head_opts + - rebase: cleanup reset_head() calls + - reset_head(): make default_reflog_action optional + - reset_head(): factor out ref updates + - reset_head(): remove action parameter + - reset_head(): don't run checkout hook if there is an error + - reset_head(): fix checkout + - rebase: factor out checkout for up to date branch + - Merge branch 'pw/rebase-of-a-tag-fix' into pw/fix-some-issues-in-reset-head + + Fix "some issues" in a helper function reset_head(). + + Will discard. + This needs a lot better explanation, including what the issues are, + which codepaths the helper is used in and to do what, and tests to + protect the fixes. + source: + +-------------------------------------------------- +[Cooking] * ab/ambiguous-object-name (2021-11-26) 6 commits - object-name: re-use "struct strbuf" in show_ambiguous_object() @@ -222,80 +300,121 @@ Release tarballs are available at: - object-name: explicitly handle OBJ_BAD in show_ambiguous_object() - object-name tests: add tests for ambiguous object blind spots + Error output given in response to an ambiguous object name has been + improved. + + Needs review. + An earlier iteration that was much smaller had seen some reviews, + but the latest round enlarged its scope and needs to be reviewed + afresh. + source: + * cb/add-p-single-key-fix (2021-11-28) 1 commit - - add -p: avoid use of undefined $key when ReadKey -> EOF + (merged to 'next' on 2021-12-03 at 8d4f16e620) + + add -p: avoid use of undefined $key when ReadKey -> EOF + + The single-key-input mode in "git add -p" had some code to handle + keys that generate a sequence of input via ReadKey(), which did not + handle end-of-file correctly, which has been fixed. + + Will merge to 'master'. + source: <20211128174903.5623-1-carenas@gmail.com> * cb/mingw-gmtime-r (2021-11-27) 1 commit - - mingw: avoid fallback for {local,gm}time_r() + (merged to 'next' on 2021-12-03 at 785278d40e) + + mingw: avoid fallback for {local,gm}time_r() + + Build fix on Windows. + + Will merge to 'master'. + source: * 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 + The default setting for trace2 event nesting was too low to cause + test failures, which is worked around by bumping it up in the test + framework. + + Will merge to 'next'. + source: + -* hn/allow-bogus-oid-in-ref-tests (2021-11-29) 6 commits +* hn/allow-bogus-oid-in-ref-tests (2021-12-02) 8 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: introduce REF_SKIP_REFNAME_VERIFICATION flag + - refs: introduce REF_SKIP_OID_VERIFICATION flag - refs: update comment. - test-ref-store: plug memory leak in cmd_delete_refs + - test-ref-store: parse symbolic flag constants + - test-ref-store: remove force-create argument for create-reflog + + The test helper for refs subsystem learned to write bogus and/or + nonexistent object name to refs to simulate error situations we + want to test Git in. + + Will merge to 'next'. + source: * hn/t1404-df-limitation-is-ref-files-only (2021-11-29) 1 commit - t1404: mark directory/file conflict tests with REFFILES + Test update. + + Will merge to 'next'. + source: + * jc/reflog-iterator-callback-doc (2021-11-28) 1 commit - refs: document callback for reflog-ent iterators + Document the parameters given to the reflog entry iterator callback + functions. -* 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 + Will merge to 'next'? + source: -* yn/complete-date-format-options (2021-11-25) 1 commit - - completion: add human and auto: date format +* po/size-t-for-vs (2021-12-01) 3 commits + (merged to 'next' on 2021-12-02 at 489c5b0046) + + 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 + On platforms where ulong is shorter than size_t, code paths that + shifted 1 or 1U to the left lacked the necessary cast to size_t, + which have been corrected. -* jc/grep-patterntype-default-doc (2021-11-29) 1 commit - - grep: clarify what `grep.patternType=default` means + Will merge to 'master'. + source: <20211201002902.1042-4-philipoakley@iee.email> --------------------------------------------------- -[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() +* yn/complete-date-format-options (2021-11-25) 1 commit + (merged to 'next' on 2021-12-03 at 4f37a904a1) + + completion: add human and auto: date format - Rewrite of "git submodule update" in C. + The completion script (in contrib/) learns that the "--date" + option of commands from the "git log" family takes "human" and + "auto" as valid values. - Kicked out of 'seen' to make room for es/superproject-aware-submodules - which is among the topics this topic stomps on. + Will merge to 'master'. + source: -* cf/fetch-set-upstream-while-detached (2021-07-06) 1 commit - - fetch: fix segfault on --set-upstream while on a detached HEAD +* jc/grep-patterntype-default-doc (2021-11-29) 1 commit + - grep: clarify what `grep.patternType=default` means - "git fetch --set-upstream" while on detached HEAD segfaulted - instead of noticing that such an operation did not make sense. + Doc update. - Getting tired of waiting for a reroll; will discard. + Will merge to 'next'. + source: --------------------------------------------------- -[Cooking] * ab/ci-updates (2021-11-23) 5 commits - CI: don't run "make test" twice in one job @@ -306,8 +425,11 @@ Release tarballs are available at: Drop support for TravisCI and update test workflows at GitHub. + Will merge to 'next'. + source: -* en/keep-cwd (2021-11-29) 11 commits + +* en/keep-cwd (2021-12-01) 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() @@ -320,6 +442,20 @@ Release tarballs are available at: - 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. + + Needs review. + There are some comments on earlier rounds; the latest one needs a + serious review or at least Acks from past commentors. + source: + * ab/run-command (2021-11-25) 9 commits - run-command API: remove "env" member, always use "env_array" @@ -332,16 +468,25 @@ Release tarballs are available at: - upload-archive: use regular "struct child_process" pattern - worktree: stop being overly intimate with run_command() internals + API clean-up. + + Will merge to 'next'. + cf. <211130.86k0gpcpy2.gmgdl@evledraar.gmail.com> + cf. + source: + * hn/create-reflog-simplify (2021-11-22) 1 commit - - refs: drop force_create argument of create_reflog API + (merged to 'next' on 2021-12-02 at 87ff49b776) + + refs: drop force_create argument of create_reflog API A small simplification of API. - Will merge to 'next'. + Will merge to 'master'. + source: -* hn/reflog-tests (2021-11-25) 5 commits +* hn/reflog-tests (2021-12-02) 5 commits - refs/debug: trim trailing LF from reflog message - test-ref-store: tweaks to for-each-reflog-ent format - t1405: check for_each_reflog_ent_reverse() more thoroughly @@ -350,13 +495,18 @@ Release tarballs are available at: Prepare tests on ref API to help testing reftable backends. + Will merge to 'next'. + source: + * jt/midx-doc-fix (2021-11-22) 1 commit - - Doc: no midx and partial clone relation + (merged to 'next' on 2021-12-02 at eac9f263ae) + + Doc: no midx and partial clone relation Docfix. - Will merge to 'next'. + Will merge to 'master'. + source: <20211122184114.3328662-1-jonathantanmy@google.com> * tl/ls-tree-oid-only (2021-11-22) 1 commit @@ -365,12 +515,14 @@ Release tarballs are available at: "git ls-tree" learns "--oid-only" option, similar to "--name-only". Expecting a reroll. + source: <6c15b4c176b7c03072fa59a4efd9f6fea7d62eae.1637567328.git.dyroneteng@gmail.com> * jk/t7006-sigpipe-tests-fix (2021-11-22) 3 commits - - t7006: simplify exit-code checks for sigpipe tests - - t7006: clean up SIGPIPE handling in trace2 tests - - run-command: unify signal and regular logic for wait_or_whine() + (merged to 'next' on 2021-12-02 at eefd61931f) + + t7006: simplify exit-code checks for sigpipe tests + + t7006: clean up SIGPIPE handling in trace2 tests + + run-command: unify signal and regular logic for wait_or_whine() The function to cull a child process and determine the exit status had two separate code paths for normal callers and callers in a @@ -379,19 +531,30 @@ Release tarballs are available at: been unified for these two code paths. An existing test with flakiness has also been corrected. - Will merge to 'next'. + Will merge to 'master'. + source: * em/missing-pager (2021-11-24) 1 commit - - pager: fix crash when pager program doesn't exist + (merged to 'next' on 2021-12-03 at 22ad721b52) + + pager: fix crash when pager program doesn't exist + + When a non-existent program is given as the pager, we tried to + reuse an uninitialized child_process structure and crashed, which + has been fixed. + + Will merge to 'master'. + source: <20211125000239.2336-1-ematsumiya@suse.de> * ab/checkout-branch-info-leakfix (2021-11-18) 1 commit - - checkout: fix "branch info" memory leaks + (merged to 'next' on 2021-12-02 at 5922388782) + + checkout: fix "branch info" memory leaks Leakfix. - Will merge to 'next'. + Will merge to 'master'. + source: * ab/make-dependency (2021-11-18) 24 commits @@ -422,15 +585,22 @@ Release tarballs are available at: Dependency clean-up. + Needs review. + There are some comments on earlier rounds; the latest one needs a + serious review or at least Acks from past commentors. + source: + * ah/advice-pull-has-no-preference-between-rebase-and-merge (2021-11-19) 1 commit - - pull: don't say that merge is "the default strategy" + (merged to 'next' on 2021-12-02 at 1b49913760) + + pull: don't say that merge is "the default strategy" The advice message given by "git pull" when the user hasn't made a choice between merge and rebase still said that the merge is the default, which no longer is the case. This has been corrected. - Will merge to 'next'. + Will merge to 'master'. + source: <20211118154317.639118-1-alexhenrie24@gmail.com> * ds/fetch-pull-with-sparse-index (2021-11-29) 3 commits @@ -439,13 +609,27 @@ Release tarballs are available at: - Merge branch 'ld/sparse-diff-blame' into ds/fetch-pull-with-sparse-index (this branch uses ld/sparse-diff-blame and vd/sparse-reset.) + "git fetch" and "git pull" are now declared sparse-index clean. + Also "git ls-files" learns the "--sparse" option to help debugging. + + Expecting a reroll? + Discussion seems to have stalled, with a few loose ends questions. + source: + * fs/ssh-signing-other-keytypes (2021-11-19) 2 commits - ssh signing: make sign/amend test more resilient - ssh signing: support non ssh-* keytypes + The cryptographic signing using ssh keys can specify literal keys + for keytypes whose name do not begin with the "ssh-" prefix by + using the "key::" prefix mechanism (e.g. "key::ecdsa-sha2-nistp256"). -* fs/test-prereq (2021-11-20) 3 commits + Will merge to 'next'? + source: <20211119150707.3924636-1-fs@gigacodes.de> + + +* fs/test-prereq (2021-12-01) 3 commits - test-lib: make BAIL_OUT() work in tests and prereq - test-lib: introduce required prereq for test runs - test-lib: show missing prereq summary @@ -454,81 +638,100 @@ Release tarballs are available at: and optionally error out when prerequisites that are expected to be satisfied are not. - Will merge to 'next'? + Will merge to 'next'. + source: <20211201085315.576865-1-fs@gigacodes.de> * jk/t5319-midx-corruption-test-deflake (2021-11-18) 1 commit - - t5319: corrupt more bytes of the midx checksum + (merged to 'next' on 2021-12-02 at 0ac4fd64aa) + + t5319: corrupt more bytes of the midx checksum Test fix. - Will merge to 'next'. + Will merge to 'master'. + source: * js/trace2-avoid-recursive-errors (2021-11-18) 1 commit - - trace2: disable tr2_dst before warning on write errors + (merged to 'next' on 2021-12-02 at c5b1e5ddec) + + trace2: disable tr2_dst before warning on write errors trace2 error code path fix. - Will merge to 'next'. + Will merge to 'master'. + source: <5a9e49e7f1540d762374382e1769edf112cf093f.1637272706.git.steadmon@google.com> * pw/xdiff-classify-record-in-histogram (2021-11-18) 3 commits - - xdiff: simplify comparison - - xdiff: avoid unnecessary memory allocations - - diff histogram: intern strings + (merged to 'next' on 2021-12-02 at 5ccd12d09b) + + xdiff: simplify comparison + + xdiff: avoid unnecessary memory allocations + + diff histogram: intern strings "diff --histogram" optimization. - Will merge to 'next'. + Will merge to 'master'. + source: * rs/mergesort (2021-11-18) 1 commit - - mergesort: avoid left shift overflow + (merged to 'next' on 2021-12-02 at 0490b0ffbd) + + mergesort: avoid left shift overflow Bitop fix for platforms whose "long" is 32-bit. - Will merge to 'next'. + Will merge to 'master'. + source: <5eabbe1c-4c0f-559a-da21-423afec89e7e@web.de> -* xw/am-empty (2021-11-22) 2 commits +* xw/am-empty (2021-12-01) 3 commits + - am: support --allow-empty to record specific empty patches - am: support --empty=