From: Junio C Hamano Date: Thu, 24 Feb 2022 01:22:29 +0000 (-0800) Subject: What's cooking (2022/02 #06) X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8d482462f2a28a4b7132bb917cb89939971d8f9a;p=thirdparty%2Fgit.git What's cooking (2022/02 #06) --- diff --git a/whats-cooking.txt b/whats-cooking.txt index d5518203b7..a3b597bb00 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 (Feb 2022, #05; Thu, 17) -X-master-at: e2ac9141e64e2cd3e690d1b5fc848949827c09b4 -X-next-at: 5d30c73bfbb79b338e9ebbb6ed42713ff8f22e23 +Subject: What's cooking in git.git (Feb 2022, #06; Wed, 23) +X-master-at: dab1b7905d0b295f1acef9785bb2b9cbb0fdec84 +X-next-at: 0bdcbb44647328cb1bdb23be648ecb677189c7b4 -What's cooking in git.git (Feb 2022, #05; Thu, 17) +What's cooking in git.git (Feb 2022, #06; Wed, 23) -------------------------------------------------- Here are the topics that have been cooking in my tree. Commits @@ -18,8 +18,7 @@ useful"). Do not read too much into a topic being in (or not in) 'seen'. The ones marked with '.' do not appear in any of the integration branches, but I am still holding onto them. -We are near the end of 4th week of a 12-week cycle, and the fourth -and the fifth batches of topics are in the 'master' ('main') branch. +Many topics have no summary written yet for them in this issue. Copies of the source code to Git live in many repositories, and the following is a list of the ones I push into or their mirrors. Some @@ -52,236 +51,347 @@ Release tarballs are available at: -------------------------------------------------- [Graduated to 'master'] -* ab/auto-detect-zlib-compress2 (2022-01-26) 1 commit - (merged to 'next' on 2022-02-08 at 9922938a6a) - + compat: auto-detect if zlib has uncompress2() - - The build procedure has been taught to notice older version of zlib - and enable our replacement uncompress2() automatically. - source: - - -* ab/complete-show-all-commands (2022-02-02) 2 commits - (merged to 'next' on 2022-02-09 at be3b7cf4e4) - + completion: add a GIT_COMPLETION_SHOW_ALL_COMMANDS - + completion tests: re-source git-completion.bash in a subshell - - The command line completion script (in contrib/) learned to - complete all Git subcommands, including the ones that are normally - hidden, when GIT_COMPLETION_SHOW_ALL_COMMANDS is used. - source: - - -* ab/do-not-hide-failures-in-git-dot-pm (2022-02-01) 1 commit - (merged to 'next' on 2022-02-08 at 1a8001f83e) - + perl Git.pm: don't ignore signalled failure in _cmd_close() - - Git.pm update. - source: +* ab/hash-object-leakfix (2022-02-06) 1 commit + (merged to 'next' on 2022-02-10 at 14956d3087) + + hash-object: fix a trivial leak in --path + Trivial leakfix. + source: -* en/fetch-negotiation-default-fix (2022-02-02) 3 commits - (merged to 'next' on 2022-02-08 at 95a8a91e97) - + repo-settings: rename the traditional default fetch.negotiationAlgorithm - + repo-settings: fix error handling for unknown values - + repo-settings: fix checking for fetch.negotiationAlgorithm=default - Interaction between fetch.negotiationAlgorithm and - feature.experimental configuration variables has been corrected. - source: +* ab/release-transport-ls-refs-options (2022-02-06) 1 commit + (merged to 'next' on 2022-02-10 at c4e57c2b29) + + ls-remote & transport API: release "struct transport_ls_refs_options" + source: -* en/remerge-diff (2022-02-02) 11 commits - (merged to 'next' on 2022-02-08 at 68b9a8a38b) - + diff-merges: avoid history simplifications when diffing merges - + merge-ort: mark conflict/warning messages from inner merges as omittable - + show, log: include conflict/warning messages in --remerge-diff headers - + diff: add ability to insert additional headers for paths - + merge-ort: format messages slightly different for use in headers - + merge-ort: mark a few more conflict messages as omittable - + merge-ort: capture and print ll-merge warnings in our preferred fashion - + ll-merge: make callers responsible for showing warnings - + log: clean unneeded objects during `log --remerge-diff` - + show, log: provide a --remerge-diff capability - + Merge branch 'ns/tmp-objdir' into en/remerge-diff - (this branch is used by en/merge-tree.) - "git log --remerge-diff" shows the difference from mechanical merge - result and the result that is actually recorded in a merge commit. - source: +* ab/t0051-skip-on-non-windows (2022-02-04) 1 commit + (merged to 'next' on 2022-02-10 at 3e587df1d6) + + t0051: use "skip_all" under !MINGW in single-test file + Conditional test update. + source: -* hn/reftable-coverity-fixes (2022-01-20) 17 commits - (merged to 'next' on 2022-02-08 at 1baf327a66) - + reftable: add print functions to the record types - + reftable: make reftable_record a tagged union - + reftable: remove outdated file reftable.c - + reftable: implement record equality generically - + reftable: make reftable-record.h function signatures const correct - + reftable: handle null refnames in reftable_ref_record_equal - + reftable: drop stray printf in readwrite_test - + reftable: order unittests by complexity - + reftable: all xxx_free() functions accept NULL arguments - + reftable: fix resource warning - + reftable: ignore remove() return value in stack_test.c - + reftable: check reftable_stack_auto_compact() return value - + reftable: fix resource leak blocksource.c - + reftable: fix resource leak in block.c error path - + reftable: fix OOB stack write in print functions - + Merge branch 'hn/create-reflog-simplify' into hn/reftable-coverity-fixes - + Merge branch 'hn/reftable' into hn/reftable-coverity-fixes - Problems identified by Coverity in the reftable code have been - corrected. - source: +* ah/log-no-graph (2022-02-11) 2 commits + (merged to 'next' on 2022-02-14 at 6c8fd1f37f) + + log: add a --no-graph option + + log: fix memory leak if --graph is passed multiple times + + "git log --graph --graph" used to leak a graph structure, and there + was no way to countermand "--graph" that appear earlier on the + command line. A "--no-graph" option has been added and resource + leakage has been plugged. + source: <20220211163627.598166-2-alexhenrie24@gmail.com> -* hn/reftable-tests (2022-01-31) 3 commits - (merged to 'next' on 2022-02-09 at 5e22946a1f) - + t5312: prepare for reftable - + t1405: mark test that checks existence as REFFILES - + t1405: explictly delete reflogs for reftable +* bc/clarify-eol-attr (2022-02-14) 1 commit + (merged to 'next' on 2022-02-14 at 7e23e61f3f) + + doc: clarify interaction between 'eol' and text=auto + + Documentation update + source: + - Prepare more test scripts for the introduction of reftable. - source: +* bs/forbid-i18n-of-protocol-token-in-fetch-pack (2022-02-11) 1 commit + (merged to 'next' on 2022-02-14 at 9abd0dce80) + + fetch-pack: parameterize message containing 'ready' keyword + + L10n support for a few error messages. + source: <20211222075805.19027-1-bagasdotme@gmail.com> + + +* cb/clear-quarantine-early-on-all-ref-update-errors (2022-02-01) 1 commit + (merged to 'next' on 2022-02-10 at 213f44aec8) + + receive-pack: purge temporary data if no command is ready to run + + "receive-pack" checks if it will do any ref updates (various + conditions could reject a push) before received objects are taken + out of the temporary directory used for quarantine purposes, so + that a push that is known-to-fail will not leave crufts that a + future "gc" needs to clean up. + source: <20220129063538.24038-1-bojun.cbj@gmail.com> + + +* ds/mailmap (2022-02-14) 1 commit + (merged to 'next' on 2022-02-14 at 1e50634951) + + mailmap: change primary address for Derrick Stolee + + Update mailmap entries. + source: + + +* gc/branch-recurse-submodules (2022-02-04) 7 commits + (merged to 'next' on 2022-02-10 at b54367ff92) + + branch.c: use 'goto cleanup' in setup_tracking() to fix memory leaks + + branch: add --recurse-submodules option for branch creation + + builtin/branch: consolidate action-picking logic in cmd_branch() + + branch: add a dry_run parameter to create_branch() + + branch: make create_branch() always create a branch + + branch: move --set-upstream-to behavior to dwim_and_setup_tracking() + + Merge branch 'js/branch-track-inherit' into gc/branch-recurse-submodules + "git branch" learned the "--recurse-submodules" option. + source: <20220129000446.99261-1-chooglen@google.com> -* js/diff-filter-negation-fix (2022-01-28) 3 commits - (merged to 'next' on 2022-02-08 at fe004a4c2c) - + diff-filter: be more careful when looking for negative bits - + diff.c: move the diff filter bits definitions up a bit - + docs(diff): lose incorrect claim about `diff-files --diff-filter=A` - "git diff --diff-filter=aR" is now parsed correctly. - source: +* hw/t1410-adjust-test-for-reftable (2022-02-09) 2 commits + (merged to 'next' on 2022-02-14 at 6b96b4faa4) + + t1410: mark bufsize boundary test as REFFILES + + t1410: use test-tool ref-store to inspect reflogs + Fix tests that are unnecessarily specific to ref-files backend. + source: -* js/no-more-legacy-stash (2022-01-27) 4 commits - (merged to 'next' on 2022-02-08 at 5cecfdbd58) - + stash: stop warning about the obsolete `stash.useBuiltin` config setting - + stash: remove documentation for `stash.useBuiltin` - + add: remove support for `git-legacy-stash` - + git-sh-setup: remove remnant bits referring to `git-legacy-stash` - Removal of unused code and doc. - source: +* jc/glossary-worktree (2022-02-09) 1 commit + (merged to 'next' on 2022-02-10 at d05e2b6ea3) + + glossary: describe "worktree" + "working tree" and "per-worktree ref" were in glossary, but + "worktree" itself wasn't, which has been corrected. + source: -* js/scalar-global-options (2022-01-28) 1 commit - (merged to 'next' on 2022-02-09 at 8af744524c) - + scalar: accept -C and -c options before the subcommand - Scalar update. - source: - - -* jz/patch-id-hunk-header-parsing-fix (2022-02-02) 2 commits - (merged to 'next' on 2022-02-09 at 8665cb204a) - + patch-id: fix scan_hunk_header on diffs with 1 line of before/after - + patch-id: fix antipatterns in tests - - Unlike "git apply", "git patch-id" did not handle patches with - hunks that has only 1 line in either preimage or postimage, which - has been corrected. - source: <20220202041945.10077-1-jerry@skydio.com> - source: <20220202042015.10115-1-jerry@skydio.com> - - -* jz/rev-list-exclude-first-parent-only (2022-01-12) 1 commit - (merged to 'next' on 2022-02-09 at f26a82c66a) - + git-rev-list: add --exclude-first-parent-only flag - - "git log" and friends learned an option --exclude-first-parent-only - to propagate UNINTERESTING bit down only along the first-parent - chain, just like --first-parent option shows commits that lack the - UNINTERESTING bit only along the first-parent chain. - source: <20220111213941.30129-1-jerry@skydio.com> - - -* ld/sparse-index-bash-completion (2022-02-08) 3 commits - (merged to 'next' on 2022-02-08 at ac1e968ab8) - + completion: handle unusual characters for sparse-checkout - + completion: improve sparse-checkout cone mode directory completion - + completion: address sparse-checkout issues +* jd/t0015-modernize (2022-02-09) 1 commit + (merged to 'next' on 2022-02-10 at a3733234c0) + + t/t0015-hash.sh: remove unnecessary '\' at line end - The command line completion (in contrib/) learns to complete - arguments to give to "git sparse-checkout" command. - source: + Test modernization. + source: <20220208092339.651761-2-jaydeepjd.8914@gmail.com> -* ll/doc-mktree-typofix (2022-02-02) 1 commit - (merged to 'next' on 2022-02-08 at fe98063f1a) - + fix typo in git-mktree.txt +* js/short-help-outside-repo-fix (2022-02-08) 2 commits + (merged to 'next' on 2022-02-10 at a86376de89) + + t0012: verify that built-ins handle `-h` even without gitdir + + checkout/fetch/pull/pack-objects: allow `-h` outside a repository - Typofix. - source: + "git cmd -h" outside a repository should error out cleanly for many + commands, but instead it hit a BUG(), which has been corrected. + source: -* po/doc-check-ignore-markup-fix (2022-02-03) 1 commit - (merged to 'next' on 2022-02-09 at 47631df376) - + doc: check-ignore: code-quote an exclamation mark +* ps/avoid-unnecessary-hook-invocation-with-packed-refs (2022-01-17) 6 commits + (merged to 'next' on 2022-02-10 at 4866a64508) + + refs: skip hooks when deleting uncovered packed refs + + refs: do not execute reference-transaction hook on packing refs + + refs: demonstrate excessive execution of the reference-transaction hook + + refs: allow skipping the reference-transaction hook + + refs: allow passing flags when beginning transactions + + refs: extract packed_refs_delete_refs() to allow control of transaction - Typofix. - source: <20220203101643.1987-1-philipoakley@iee.email> + Because a deletion of ref would need to remove it from both the + loose ref store and the packed ref store, a delete-ref operation + that logically removes one ref may end up invoking ref-transaction + hook twice, which has been corrected. + source: -* sy/modernize-t-lib-read-tree-m-3way (2022-02-02) 2 commits - (merged to 'next' on 2022-02-09 at 8b7ecb4e99) - + t/lib-read-tree-m-3way: indent with tabs - + t/lib-read-tree-m-3way: modernize style +* ps/fetch-optim-with-commit-graph (2022-02-10) 2 commits + (merged to 'next' on 2022-02-14 at 2b331293fb) + + fetch: skip computing output width when not printing anything + + fetch-pack: use commit-graph when computing cutoff - Style updates on a test script helper. - source: <20220123060318.471414-1-shaoxuan.yuan02@gmail.com> + A couple of optimization to "git fetch". + source: -* tb/midx-bitmap-corruption-fix (2022-01-27) 9 commits - (merged to 'next' on 2022-02-08 at a8cc333d78) - + pack-bitmap.c: gracefully fallback after opening pack/MIDX - + midx: read `RIDX` chunk when present - + t/lib-bitmap.sh: parameterize tests over reverse index source - + t5326: move tests to t/lib-bitmap.sh - + t5326: extract `test_rev_exists` - + t5326: drop unnecessary setup - + pack-revindex.c: instrument loading on-disk reverse index - + midx.c: make changing the preferred pack safe - + t5326: demonstrate bitmap corruption after permutation +* pw/use-in-process-checkout-in-rebase (2022-01-26) 14 commits + (merged to 'next' on 2022-02-10 at bd7c3615fe) + + 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 + + create_autostash(): remove unneeded parameter + + reset_head(): make default_reflog_action optional + + reset_head(): factor out ref updates + + reset_head(): remove action parameter + + rebase --apply: don't run post-checkout hook if there is an error + + rebase: do not remove untracked files on checkout + + rebase: pass correct arguments to post-checkout hook + + t5403: refactor rebase post-checkout hook tests + + rebase: factor out checkout for up to date branch - A bug that made multi-pack bitmap and the object order out-of-sync, - making the .midx data corrupt, has been fixed. - source: + Use an internal call to reset_head() helper function instead of + spawning "git checkout" in "rebase", and update code paths that are + involved in the change. + source: -* tk/subtree-merge-not-ff-only (2022-02-01) 1 commit - (merged to 'next' on 2022-02-09 at 849450010e) - + subtree: force merge commit +* sy/t0001-use-path-is-helper (2022-02-11) 1 commit + (merged to 'next' on 2022-02-14 at 2f1bdb0803) + + t0001: replace "test [-d|-f]" with test_path_is_* functions - When "git subtree" wants to create a merge, it used "git merge" and - let it be affected by end-user's "merge.ff" configuration, which - has been corrected. - source: <20220201172601.262718-1-aclopte@gmail.com> + Test modernization. + source: <20220121102109.433457-2-shaoxuan.yuan02@gmail.com> -* vd/sparse-clean-etc (2022-01-13) 9 commits - (merged to 'next' on 2022-02-09 at 5928dbd25e) - + update-index: reduce scope of index expansion in do_reupdate - + update-index: integrate with sparse index - + update-index: add tests for sparse-checkout compatibility - + checkout-index: integrate with sparse index - + checkout-index: add --ignore-skip-worktree-bits option - + checkout-index: expand sparse checkout compatibility tests - + clean: integrate with sparse index - + reset: reorder wildcard pathspec conditions - + reset: fix validation in sparse index test - (this branch is used by en/present-despite-skipped.) +* tb/midx-no-bitmap-for-no-objects (2022-02-09) 1 commit + (merged to 'next' on 2022-02-10 at 5c501a3f80) + + midx: prevent writing a .bitmap without any objects - "git update-index", "git checkout-index", and "git clean" are - taught to work better with the sparse checkout feature. - source: + When there is no object to write .bitmap file for, "git + multi-pack-index" triggered an error, instead of just skipping, + which has been corrected. + source: -------------------------------------------------- [New Topics] -* en/sparse-checkout-fixes (2022-02-17) 5 commits +* et/xdiff-indirection (2022-02-17) 1 commit + - xdiff: provide indirection to git functions + + Insert a layer of preprocessor macros for common functions in xdiff + codebase. + + Sort of Meh, other than the fact that it documents what can + plausibly be renamed. + source: <20220217225408.GB7@edef91d97c94> + + +* tb/coc-plc-update (2022-02-18) 1 commit + (merged to 'next' on 2022-02-23 at 9d45e42c9a) + + CODE_OF_CONDUCT.md: update PLC members list + + Document Taylor as a new member of Git PLC at SFC. Welcome. + + Will merge to 'master'. + source: + + +* jt/ls-files-stage-recurse (2022-02-23) 1 commit + - ls-files: support --recurse-submodules --stage + + Many output modes of "ls-files" does not work with its + "--recurse-submodules" option, but the "-s" mode has taught to work + with it. + source: <20220224002303.2363189-1-jonathantanmy@google.com> + + +* ab/c99 (2022-02-21) 2 commits + - C99: remove hardcoded-out !HAVE_VARIADIC_MACROS code + - git-compat-util.h: clarify GCC v.s. C99-specific in comment + + source: + + +* ab/hook-tests (2022-02-19) 2 commits + - hook tests: use a modern style for "pre-push" tests + - hook tests: test for exact "pre-push" hook input + + source: + + +* ab/test-lib-tweaks (2022-02-21) 4 commits + - test-lib: add "fast_unwind_on_malloc=0" to LSAN_OPTIONS + - test-lib: make $GIT_BUILD_DIR an absolute path + - test-lib: correct commentary on TEST_DIRECTORY overriding + - test-lib: add GIT_SAN_OPTIONS, inherit [AL]SAN_OPTIONS + + source: + + +* ds/worktree-docs (2022-02-23) 11 commits + - worktree: use 'worktree' over 'working tree' + - worktree: use 'worktree' over 'working tree' + - worktree: use 'worktree' over 'working tree' + - worktree: use 'worktree' over 'working tree' + - worktree: use 'worktree' over 'working tree' + - worktree: use 'worktree' over 'working tree' + - worktree: use 'worktree' over 'working tree' + - worktree: extract checkout_worktree() + - worktree: extract copy_sparse_checkout() + - worktree: extract copy_filtered_worktree_config() + - worktree: combine two translatable messages + (this branch uses ds/sparse-checkout-requires-per-worktree-config.) + + source: + + +* en/merge-ort-plug-leaks (2022-02-20) 2 commits + - merge-ort: fix small memory leak in unique_path() + - merge-ort: fix small memory leak in detect_and_process_renames() + + source: + + +* jc/rerere-train-modernise (2022-02-20) 1 commit + - rerere-train: modernise a bit + + source: + + +* ab/help-fixes (2022-02-23) 9 commits + - help: don't print "\n" before single-section output + - help: add --no-[external-commands|aliases] for use with --all + - help: error if [-a|-g|-c] and [-i|-m|-w] are combined + - help: correct usage & behavior of "git help --all" + - help: note the option name on option incompatibility + - help.c: split up list_all_cmds_help() function + - help tests: test "git" and "git help [-a|-g] spacing + - help.c: use puts() instead of printf{,_ln}() for consistency + - help doc: add missing "]" to "[-a|--all]" + + source: + + +* ac/usage-string-fixups (2022-02-23) 2 commits + - parse-options.c: add style checks for usage-strings + - amend remaining usage strings according to style guide + + source: + + +* mc/index-pack-report-max-size (2022-02-23) 2 commits + - t5302: confirm that large packs mention limit + - index-pack: clarify the breached limit + + source: + + +* sm/no-git-in-upstream-of-pipe-in-tests (2022-02-23) 1 commit + - t0003: avoid pipes with Git on LHS + + source: <20220223115347.3083-3-shivam828787@gmail.com> + +-------------------------------------------------- +[Stalled] + +* je/http-better-error-output (2021-12-03) 1 commit + . http-backend: give a hint that web browser access is not supported + + When the http-backend program, which is the server-side component + for the smart HTTP transport, sends a "404 Not found" error, we + deliberately did not say anything to the requesting client. We now + send a message back to the browser to tell the user that they do + not want to visit the URL via their browser, instead of a totally + blank page. + + Expecting a reroll. + Breaks its self tests. + cf. <7r23s082-o3q0-479o-srqn-r45q778s5nq7@vanv.qr> + source: <20211202102855.23907-1-jengelh@inai.de> + + +* 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> + +-------------------------------------------------- +[Cooking] + +* en/sparse-checkout-fixes (2022-02-20) 5 commits - sparse-checkout: reject arguments in cone-mode that look like patterns - sparse-checkout: error or warn when given individual files - sparse-checkout: pay attention to prefix for {set, add} @@ -290,8 +400,8 @@ Release tarballs are available at: Further polishing of "git sparse-checkout". - Will merge to 'next'? - source: + Will merge to 'next'. + source: * jc/name-rev-stdin (2022-02-15) 1 commit @@ -326,16 +436,17 @@ Release tarballs are available at: source: -* pw/single-key-interactive (2022-02-16) 3 commits +* pw/single-key-interactive (2022-02-23) 4 commits - add -p: disable stdin buffering when interactive.singlekey is set - terminal: set VMIN and VTIME in non-canonical mode - terminal: pop signal handler when terminal is restored + - terminal: always reset terminal when reading without echo The single-key interactive operation used by "git add -p" has been made more robust. Will merge to 'next'? - source: + source: * jh/builtin-fsmonitor-part3 (2022-02-16) 25 commits @@ -370,28 +481,30 @@ Release tarballs are available at: source: -* ds/core-untraced-cache-config (2022-02-17) 1 commit - - dir: force untracked cache with core.untrackedCache +* ds/core-untracked-cache-config (2022-02-17) 1 commit + (merged to 'next' on 2022-02-18 at 0c426fdec1) + + dir: force untracked cache with core.untrackedCache Setting core.untrackedCache to true failed to add the untracked cache extension to the index. - Will merge to 'next'. + Will merge to 'master'. source: * en/ort-inner-merge-conflict-report (2022-02-17) 1 commit - - merge-ort: make informational messages from recursive merges clearer + (merged to 'next' on 2022-02-18 at 367dd32e74) + + merge-ort: make informational messages from recursive merges clearer Messages "ort" merge backend prepares while dealing with conflicted paths were unnecessarily confusing since it did not differentiate inner merges and outer merges. - Will merge to 'next'. + Will merge to 'master'. source: -* hn/reftable-no-empty-keys (2022-02-17) 7 commits +* hn/reftable-no-empty-keys (2022-02-23) 7 commits - reftable: rename writer_stats to reftable_writer_stats - reftable: add test for length of disambiguating prefix - reftable: ensure that obj_id_len is >= 2 on writing @@ -405,89 +518,37 @@ Release tarballs are available at: honor documented length limit, etc. Will merge to 'next'? - source: + source: * ps/fetch-atomic (2022-02-17) 7 commits - - fetch: make `--atomic` flag cover pruning of refs - - fetch: make `--atomic` flag cover backfilling of tags - - refs: add interface to iterate over queued transactional updates - - fetch: report errors when backfilling tags fails - - fetch: control lifecycle of FETCH_HEAD in a single place - - fetch: backfill tags before setting upstream - - fetch: increase test coverage of fetches + (merged to 'next' on 2022-02-18 at 3824153b23) + + fetch: make `--atomic` flag cover pruning of refs + + fetch: make `--atomic` flag cover backfilling of tags + + refs: add interface to iterate over queued transactional updates + + fetch: report errors when backfilling tags fails + + fetch: control lifecycle of FETCH_HEAD in a single place + + fetch: backfill tags before setting upstream + + fetch: increase test coverage of fetches "git fetch" can make two separate fetches, but ref updates coming from them were in two separate ref transactions under "--atomic", which has been corrected. - Will merge to 'next'. + Will merge to 'master'. source: * rs/pcre-invalid-utf8-fix-fix (2022-02-17) 1 commit - - grep: fix triggering PCRE2_NO_START_OPTIMIZE workaround + (merged to 'next' on 2022-02-18 at 9e47d58bda) + + grep: fix triggering PCRE2_NO_START_OPTIMIZE workaround Workaround we have for versions of PCRE2 before their version 10.36 were in effect only for their versions newer than 10.36 by mistake, which has been corrected. - Will merge to 'next'. - source: <4e391e2e-6561-3c2e-0306-c860a37356bc@web.de> - --------------------------------------------------- -[Stalled] - -* je/http-better-error-output (2021-12-03) 1 commit - . http-backend: give a hint that web browser access is not supported - - When the http-backend program, which is the server-side component - for the smart HTTP transport, sends a "404 Not found" error, we - deliberately did not say anything to the requesting client. We now - send a message back to the browser to tell the user that they do - not want to visit the URL via their browser, instead of a totally - blank page. - - Expecting a reroll. - Breaks its self tests. - cf. <7r23s082-o3q0-479o-srqn-r45q778s5nq7@vanv.qr> - source: <20211202102855.23907-1-jengelh@inai.de> - - -* 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> - --------------------------------------------------- -[Cooking] - -* ds/mailmap (2022-02-14) 1 commit - (merged to 'next' on 2022-02-14 at 1e50634951) - + mailmap: change primary address for Derrick Stolee - - Update mailmap entries. - Will merge to 'master'. - source: - - -* bc/clarify-eol-attr (2022-02-14) 1 commit - (merged to 'next' on 2022-02-14 at 7e23e61f3f) - + doc: clarify interaction between 'eol' and text=auto - - Documentation update - - Will merge to 'master'. - source: + source: <4e391e2e-6561-3c2e-0306-c860a37356bc@web.de> * ab/date-mode-release (2022-02-16) 5 commits @@ -504,49 +565,6 @@ Release tarballs are available at: source: -* jc/glossary-worktree (2022-02-09) 1 commit - (merged to 'next' on 2022-02-10 at d05e2b6ea3) - + glossary: describe "worktree" - - "working tree" and "per-worktree ref" were in glossary, but - "worktree" itself wasn't, which has been corrected. - - Will merge to 'master'. - source: - - -* jd/t0015-modernize (2022-02-09) 1 commit - (merged to 'next' on 2022-02-10 at a3733234c0) - + t/t0015-hash.sh: remove unnecessary '\' at line end - - Test modernization. - - Will merge to 'master'. - source: <20220208092339.651761-2-jaydeepjd.8914@gmail.com> - - -* hw/t1410-adjust-test-for-reftable (2022-02-09) 2 commits - (merged to 'next' on 2022-02-14 at 6b96b4faa4) - + t1410: mark bufsize boundary test as REFFILES - + t1410: use test-tool ref-store to inspect reflogs - - Fix tests that are unnecessarily specific to ref-files backend. - - Will merge to 'master'. - source: - - -* ps/fetch-optim-with-commit-graph (2022-02-10) 2 commits - (merged to 'next' on 2022-02-14 at 2b331293fb) - + fetch: skip computing output width when not printing anything - + fetch-pack: use commit-graph when computing cutoff - - A couple of optimization to "git fetch". - - Will merge to 'master'. - source: - - * pw/xdiff-alloc-fail (2022-02-16) 4 commits - xdiff: handle allocation failure when merging - xdiff: refactor a function @@ -558,16 +576,6 @@ Release tarballs are available at: source: -* sy/t0001-use-path-is-helper (2022-02-11) 1 commit - (merged to 'next' on 2022-02-14 at 2f1bdb0803) - + t0001: replace "test [-d|-f]" with test_path_is_* functions - - Test modernization. - - Will merge to 'master'. - source: <20220121102109.433457-2-shaoxuan.yuan02@gmail.com> - - * gc/recursive-fetch-with-unused-submodules (2022-02-10) 8 commits - submodule: fix bug and remove add_submodule_odb() - fetch: fetch unpopulated, changed submodules @@ -584,76 +592,43 @@ Release tarballs are available at: in the current checkout of the superproject. We now do so for all submodules that have been run "git submodule init" on. - Will merge to 'next'? + Expecting a reroll. + cf. source: <20220210044152.78352-1-chooglen@google.com> -* ah/log-no-graph (2022-02-11) 2 commits - (merged to 'next' on 2022-02-14 at 6c8fd1f37f) - + log: add a --no-graph option - + log: fix memory leak if --graph is passed multiple times - - "git log --graph --graph" used to leak a graph structure, and there - was no way to countermand "--graph" that appear earlier on the - command line. A "--no-graph" option has been added and resource - leakage has been plugged. - - Will merge to 'master'. - source: <20220211163627.598166-2-alexhenrie24@gmail.com> - - -* cg/t3903-modernize (2022-02-11) 1 commit - - t/t3903-stash.sh: replace test [-d|-f] with test_path_is_* +* cg/t3903-modernize (2022-02-23) 3 commits + (merged to 'next' on 2022-02-23 at 0d5a844b40) + + tests: make the code more readable + + tests: allow testing if a path is truly a file or a directory + + t/t3903-stash.sh: replace test [-d|-f] with test_path_is_* Test modernization. - Will merge to 'next'? - source: <20220211134655.1149320-1-cogoni.guillaume@gmail.com> - - -* ab/t0051-skip-on-non-windows (2022-02-04) 1 commit - (merged to 'next' on 2022-02-10 at 3e587df1d6) - + t0051: use "skip_all" under !MINGW in single-test file - - Conditional test update. - Will merge to 'master'. - source: + source: <20220222215430.605254-1-cogoni.guillaume@gmail.com> -* ab/hash-object-leakfix (2022-02-06) 1 commit - (merged to 'next' on 2022-02-10 at 14956d3087) - + hash-object: fix a trivial leak in --path - - Trivial leakfix. - - Will merge to 'master'. - source: - - -* ab/release-transport-ls-refs-options (2022-02-06) 1 commit - (merged to 'next' on 2022-02-10 at c4e57c2b29) - + ls-remote & transport API: release "struct transport_ls_refs_options" - - Will merge to 'master'. - source: - - -* js/bisect-in-c (2022-02-09) 11 commits +* js/bisect-in-c (2022-02-23) 14 commits - bisect: no longer try to clean up left-over `.git/head-name` files - bisect: remove Cogito-related code - - Turn `git bisect` into a full built-in. - - bisect--helper: using `--bisect-state` without an argument is a bug + - bisect: turn `git bisect` into a full built-in - bisect: move even the option parsing to `bisect--helper` + - bisect--helper: return only correct exit codes in `cmd_*()` + - bisect--helper: move the `BISECT_STATE` case to the end - bisect--helper: make `--bisect-state` optional - bisect--helper: align the sub-command order with git-bisect.sh + - bisect--helper: using `--bisect-state` without an argument is a bug - bisect--helper: really retire `--bisect-autostart` - bisect--helper: really retire --bisect-next-check - bisect--helper: retire the --no-log option + - bisect: avoid double-quoting when printing the failed command - bisect run: fix the error message Final bits of "git bisect.sh" have been rewritten in C. - source: + + Will merge to 'next'? + source: * js/scalar-diagnose (2022-02-06) 6 commits @@ -667,31 +642,7 @@ Release tarballs are available at: source: -* js/short-help-outside-repo-fix (2022-02-08) 2 commits - (merged to 'next' on 2022-02-10 at a86376de89) - + t0012: verify that built-ins handle `-h` even without gitdir - + checkout/fetch/pull/pack-objects: allow `-h` outside a repository - - "git cmd -h" outside a repository should error out cleanly for many - commands, but instead it hit a BUG(), which has been corrected. - - Will merge to 'master'. - source: - - -* tb/midx-no-bitmap-for-no-objects (2022-02-09) 1 commit - (merged to 'next' on 2022-02-10 at 5c501a3f80) - + midx: prevent writing a .bitmap without any objects - - When there is no object to write .bitmap file for, "git - multi-pack-index" triggered an error, instead of just skipping, - which has been corrected. - - Will merge to 'master'. - source: - - -* jc/cat-file-batch-commands (2022-02-16) 4 commits +* jc/cat-file-batch-commands (2022-02-18) 4 commits - cat-file: add --batch-command mode - cat-file: add remove_timestamp helper - cat-file: introduce batch_mode enum to replace print_contents @@ -702,7 +653,7 @@ Release tarballs are available at: modes, to allow different kinds of inquiries made. Will merge to 'next'? - source: + source: * ar/submodule-update (2022-02-10) 20 commits @@ -734,31 +685,6 @@ Release tarballs are available at: source: <20220210092833.55360-1-chooglen@google.com> -* pw/use-in-process-checkout-in-rebase (2022-01-26) 14 commits - (merged to 'next' on 2022-02-10 at bd7c3615fe) - + 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 - + create_autostash(): remove unneeded parameter - + reset_head(): make default_reflog_action optional - + reset_head(): factor out ref updates - + reset_head(): remove action parameter - + rebase --apply: don't run post-checkout hook if there is an error - + rebase: do not remove untracked files on checkout - + rebase: pass correct arguments to post-checkout hook - + t5403: refactor rebase post-checkout hook tests - + rebase: factor out checkout for up to date branch - - Use an internal call to reset_head() helper function instead of - spawning "git checkout" in "rebase", and update code paths that are - involved in the change. - - Will merge to 'master'. - source: - - * rj/receive-pack-abort-upon-disconnect (2022-01-28) 1 commit - receive-pack: check if client is alive before completing the push @@ -789,20 +715,6 @@ Release tarballs are available at: source: -* cb/clear-quarantine-early-on-all-ref-update-errors (2022-02-01) 1 commit - (merged to 'next' on 2022-02-10 at 213f44aec8) - + receive-pack: purge temporary data if no command is ready to run - - Check if "receive-pack" will do any ref updates (various conditions - could reject a push) before received objects are taken out of the - temporary directory used for quarantine purposes, so that a push - that is known-to-fail will not leave crufts that a future "gc" - needs to clean up. - - Will merge to 'master'. - source: <20220129063538.24038-1-bojun.cbj@gmail.com> - - * ja/i18n-common-messages (2022-02-04) 4 commits (merged to 'next' on 2022-02-15 at 23d56641fc) + i18n: fix some misformated placeholders in command synopsis @@ -816,7 +728,7 @@ Release tarballs are available at: source: -* en/merge-tree (2022-02-14) 13 commits +* en/merge-tree (2022-02-23) 13 commits - git-merge-tree.txt: add a section on potentional usage mistakes - merge-tree: add a --allow-unrelated-histories flag - merge-tree: allow `ls-files -u` style info to be NUL terminated @@ -835,7 +747,9 @@ Release tarballs are available at: tree that would be contained in the resulting merge commit, if the histories leading to these two commits were to be merged, and is added as a new mode of "git merge-tree" subcommand. - source: + + Will merge to 'next'. + source: * js/apply-partial-clone-filters-recursively (2022-02-09) 1 commit @@ -901,6 +815,7 @@ Release tarballs are available at: + config: add repo_config_set_worktree_gently() + worktree: create init_worktree_config() + Documentation: add extensions.worktreeConfig details + (this branch is used by ds/worktree-docs.) "git sparse-checkout" wants to work with per-worktree configration, but did not work well in a worktree attached to a bare repository. @@ -909,25 +824,8 @@ Release tarballs are available at: source: -* ps/avoid-unnecessary-hook-invocation-with-packed-refs (2022-01-17) 6 commits - (merged to 'next' on 2022-02-10 at 4866a64508) - + refs: skip hooks when deleting uncovered packed refs - + refs: do not execute reference-transaction hook on packing refs - + refs: demonstrate excessive execution of the reference-transaction hook - + refs: allow skipping the reference-transaction hook - + refs: allow passing flags when beginning transactions - + refs: extract packed_refs_delete_refs() to allow control of transaction - - Because a deletion of ref would need to remove it from both the - loose ref store and the packed ref store, a delete-ref operation - that logically removes one ref may end up invoking ref-transaction - hook twice, which has been corrected. - - Will merge to 'master'. - source: - - -* en/present-despite-skipped (2022-01-14) 6 commits +* en/present-despite-skipped (2022-02-20) 7 commits + - Provide config option to expect files outside sparse patterns (merged to 'next' on 2022-02-15 at 960873fdad) + Accelerate clear_skip_worktree_from_present_files() by caching + Update documentation related to sparsity and the skip-worktree bit @@ -941,37 +839,12 @@ Release tarballs are available at: harder to correct. Automatically detecting and correcting the marking of such files has been added to avoid these problems. - Will merge to 'master'. - cf. <20220204081336.3194538-1-newren@gmail.com> + On hold. + cf. + cf. source: -* bs/forbid-i18n-of-protocol-token-in-fetch-pack (2022-02-11) 1 commit - (merged to 'next' on 2022-02-14 at 9abd0dce80) - + fetch-pack: parameterize message containing 'ready' keyword - - L10n support for a few error messages. - - Will merge to 'master'. - source: <20211222075805.19027-1-bagasdotme@gmail.com> - - -* gc/branch-recurse-submodules (2022-02-04) 7 commits - (merged to 'next' on 2022-02-10 at b54367ff92) - + branch.c: use 'goto cleanup' in setup_tracking() to fix memory leaks - + branch: add --recurse-submodules option for branch creation - + builtin/branch: consolidate action-picking logic in cmd_branch() - + branch: add a dry_run parameter to create_branch() - + branch: make create_branch() always create a branch - + branch: move --set-upstream-to behavior to dwim_and_setup_tracking() - + Merge branch 'js/branch-track-inherit' into gc/branch-recurse-submodules - - "git branch" learned the "--recurse-submodules" option. - - Will merge to 'master'. - source: <20220129000446.99261-1-chooglen@google.com> - - * ab/grep-patterntype (2022-02-15) 10 commits (merged to 'next' on 2022-02-16 at 64222759a2) + grep: simplify config parsing and option parsing