From: Junio C Hamano Date: Sun, 13 Feb 2022 06:19:57 +0000 (-0800) Subject: What's cooking (2022/02 #03) X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=72d66dab9ff8d825ed7f4bb92146253c142987f3;p=thirdparty%2Fgit.git What's cooking (2022/02 #03) --- diff --git a/whats-cooking.txt b/whats-cooking.txt index 57d7be872e..371e8fedc2 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, #02; Wed, 9) -X-master-at: 2b9c1209706bc2ef0ab09fb0bdc7d405e225ce8b -X-next-at: b22f109932d866f1f13b0e1a07d0c3b42268a14f +Subject: What's cooking in git.git (Feb 2022, #03; Sat, 12) +X-master-at: b80121027d1247a0754b3cc46897fee75c050b44 +X-next-at: 83b2b277ed60276e529455a66ea1f50a6e513b26 -What's cooking in git.git (Feb 2022, #02; Wed, 9) +What's cooking in git.git (Feb 2022, #03; Sat, 12) -------------------------------------------------- Here are the topics that have been cooking in my tree. Commits @@ -18,7 +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. -The second batch of topics have been merged. +The third batch of topics have been merged. Many new topics have sketchy or even empty topic description in the list below; help to fill them in is very much appreciated ;-) @@ -54,306 +54,258 @@ Release tarballs are available at: -------------------------------------------------- [Graduated to 'master'] -* ab/cat-file (2022-01-12) 12 commits - (merged to 'next' on 2022-01-12 at ee4d43041d) - + cat-file: s/_/-/ in typo'd usage_msg_optf() message - + cat-file: don't whitespace-pad "(...)" in SYNOPSIS and usage output - (merged to 'next' on 2022-01-05 at e145efa605) - + 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". - source: - source: - - -* ab/config-based-hooks-2 (2022-01-07) 17 commits - (merged to 'next' on 2022-01-19 at 594b6da22c) - + run-command: remove old run_hook_{le,ve}() hook API - + receive-pack: convert push-to-checkout hook to hook.h - + read-cache: convert post-index-change to use hook.h - + commit: convert {pre-commit,prepare-commit-msg} hook to hook.h - + git-p4: use 'git hook' to run hooks - + send-email: use 'git hook run' for 'sendemail-validate' - + git hook run: add an --ignore-missing flag - + hooks: convert worktree 'post-checkout' hook to hook library - + hooks: convert non-worktree 'post-checkout' hook to hook library - + merge: convert post-merge to use hook.h - + am: convert applypatch-msg to use hook.h - + rebase: convert pre-rebase to use hook.h - + hook API: add a run_hooks_l() wrapper - + am: convert {pre,post}-applypatch to use hook.h - + gc: use hook library for pre-auto-gc hook - + hook API: add a run_hooks() wrapper - + hook: add 'run' subcommand - - More "config-based hooks". - source: - - -* en/merge-ort-restart-optim-fix (2022-01-17) 1 commit - (merged to 'next' on 2022-01-19 at 84da10b057) - + merge-ort: avoid assuming all renames detected - - The merge-ort misbehaved when merge.renameLimit configuration is - set too low and failed to find all renames. - source: - - -* en/plug-leaks-in-merge (2022-01-21) 2 commits - (merged to 'next' on 2022-01-26 at 0cf6aa0a2b) - + merge: fix memory leaks in cmd_merge() - + merge-ort: fix memory leak in merge_ort_internal() +* ab/no-errno-from-resolve-ref-unsafe (2022-01-26) 2 commits + (merged to 'next' on 2022-02-04 at d98254efe0) + + refs API: remove "failure_errno" from refs_resolve_ref_unsafe() + + sequencer: don't use die_errno() on refs_resolve_ref_unsafe() failure - Leakfix. - source: + Remaining code-clean-up. + source: -* fs/ssh-signing-crlf (2022-01-07) 1 commit - (merged to 'next' on 2022-01-19 at 76b86faafb) - + gpg-interface: trim CR from ssh-keygen +* bc/clarify-eol-attr (2022-01-12) 2 commits + (merged to 'next' on 2022-02-04 at dc1db4bd21) + + docs: correct documentation about eol attribute + + t0027: add tests for eol without text in .gitattributes - The code path that verifies signatures made with ssh were made to - work better on a system with CRLF line endings. - source: <20220107090735.580225-1-fs@gigacodes.de> + Doc and test update around the eol attribute. + source: <20220111021507.531736-1-sandals@crustytoothpaste.net> -* gc/fetch-negotiate-only-early-return (2022-01-20) 4 commits - (merged to 'next' on 2022-01-20 at e7616428eb) - + fetch: help translators by reusing the same message template - (merged to 'next' on 2022-01-19 at 0f15147cfa) - + fetch --negotiate-only: do not update submodules - + fetch: skip tasks related to fetching objects - + fetch: use goto cleanup in cmd_fetch() +* bc/csprng-mktemps (2022-01-17) 2 commits + (merged to 'next' on 2022-02-04 at 2e32375c73) + + wrapper: use a CSPRNG to generate random file names + + wrapper: add a helper to generate numbers from a CSPRNG - "git fetch --negotiate-only" is an internal command used by "git - push" to figure out which part of our history is missing from the - other side. It should never recurse into submodules even when - fetch.recursesubmodules configuration variable is set, nor it - should trigger "gc". The code has been tightened up to ensure it - only does common ancestry discovery and nothing else. - source: <20220119000056.58503-1-chooglen@google.com> + Pick a better random number generator and use it when we prepare + temporary filenames. + source: <20220117215617.843190-1-sandals@crustytoothpaste.net> -* jc/find-header (2022-01-06) 1 commit - (merged to 'next' on 2022-01-10 at 8a13b4f0b3) - + receive-pack.c: consolidate find header logic +* en/sparse-checkout-leakfix (2022-01-28) 1 commit + (merged to 'next' on 2022-02-04 at 10ca176008) + + sparse-checkout: fix a couple minor memory leaks - Code clean-up. - source: + Leakfix. + source: -* jc/mem-pool-alignment (2022-01-24) 1 commit - (merged to 'next' on 2022-01-26 at 057b6a78f5) - + mem-pool: don't assume uintmax_t is aligned enough for all types +* gh/doc-typos (2022-01-26) 2 commits + (merged to 'next' on 2022-02-04 at b71e1bc746) + + Documentation/config/pgp.txt: add missing apostrophe + + Documentation/config/pgp.txt: replace stray character with - Update the logic to compute alignment requirement for our mem-pool. - source: <20220123203347.74869-1-jrtc27@jrtc27.com> + Typofix. + source: <20220126121426.53799-1-greg@hurrell.net> -* jc/name-rev-stdin (2022-01-10) 2 commits - (merged to 'next' on 2022-01-19 at a58e05fabe) - + name-rev.c: use strbuf_getline instead of limited size buffer - + name-rev: deprecate --stdin in favor of --annotate-stdin +* jc/doc-log-messages (2022-01-27) 3 commits + (merged to 'next' on 2022-02-04 at cf136572ce) + + SubmittingPatches: explain why we care about log messages + + CodingGuidelines: hint why we value clearly written log messages + + SubmittingPatches: write problem statement in the log in the present tense - "git name-rev --stdin" does not behave like usual "--stdin" at - all. Start the process of renaming it to "--annotate-stdin". - source: + Update the contributor-facing documents on proposed log messages. + source: <20220126234205.2923388-1-gitster@pobox.com> -* jc/qsort-s-alignment-fix (2022-01-07) 2 commits - (merged to 'next' on 2022-01-10 at 329fd6e09a) - + stable-qsort: avoid using potentially unaligned access - + compat/qsort_s.c: avoid using potentially unaligned access +* rc/negotiate-only-typofix (2022-01-28) 1 commit + (merged to 'next' on 2022-02-04 at 62b947ddbf) + + fetch: fix negotiate-only error message - Fix a hand-rolled alloca() imitation that may have violated - alignment requirement of data being sorted in compatibility - implementation of qsort_s() and stable qsort(). - source: - source: + Typofix. + source: <20220128143602.31842-1-robert@coup.net.nz> -* jc/reflog-parse-options (2022-01-10) 2 commits - (merged to 'next' on 2022-01-12 at 1659e49c4b) - + builtin/reflog.c: use parse-options api for expire, delete subcommands - + Merge branch 'ab/reflog-prep' into jc/reflog-parse-options +* rs/parse-options-lithelp-help (2022-01-20) 1 commit + (merged to 'next' on 2022-02-04 at 74bc57e8fa) + + parse-options: document bracketing of argh - Use the parse-options API in "git reflog" command. - source: + Comment update. + source: -* jh/p4-fix-use-of-process-error-exception (2022-01-06) 1 commit - (merged to 'next' on 2022-01-10 at 49d529bfd7) - + git-p4: fix instantiation of CalledProcessError - (this branch is used by jh/p4-various-fixups.) +* sy/diff-usage-typofix (2022-02-02) 1 commit + (merged to 'next' on 2022-02-04 at 28a4186a44) + + builtin/diff.c: fix "git-diff" usage string typo - source: <20220106214156.90967-1-jholdsworth@nvidia.com> + Typofix. + source: <20220202072844.35545-1-shaoxuan.yuan02@gmail.com> -* jh/p4-spawning-external-commands-cleanup (2022-01-06) 3 commits - (merged to 'next' on 2022-01-10 at 54b36b4e66) - + git-p4: don't print shell commands as python lists - + git-p4: pass command arguments as lists instead of using shell - + git-p4: don't select shell mode using the type of the command argument - (this branch is used by jh/p4-various-fixups.) +* tg/fetch-prune-exit-code-fix (2022-01-31) 1 commit + (merged to 'next' on 2022-02-04 at 8af6ab286d) + + fetch --prune: exit with error if pruning fails - source: <20220106214035.90725-1-jholdsworth@nvidia.com> + When "git fetch --prune" failed to prune the refs it wanted to + prune, the command issued error messages but exited with exit + status 0, which has been corrected. + source: <20220131133047.1885074-1-t.gummerer@gmail.com> +-------------------------------------------------- +[New Topics] -* js/sparse-vs-split-index (2022-01-23) 3 commits - (merged to 'next' on 2022-01-26 at 7443487955) - + split-index: it really is incompatible with the sparse index - + t1091: disable split index - + sparse-index: sparse index is disallowed when split index is active +* jc/glossary-worktree (2022-02-09) 1 commit + (merged to 'next' on 2022-02-10 at d05e2b6ea3) + + glossary: describe "worktree" - Mark in various places in the code that the sparse index and the - split index features are mutually incompatible. - source: + "working tree" and "per-worktree ref" were in glossary, but + "worktree" itself wasn't, which has been corrected. + Will merge to 'master'. + source: -* js/test-unset-trace2-parents (2022-01-20) 1 commit - (merged to 'next' on 2022-01-20 at ebb085e3e4) - + test-lib: unset trace2 parent envvars - Avoid tests that are run under GIT_TRACE2 set from failing - unnecessarily. - source: <82e51a52e20fbe13a5a898a0a2f6dbe1188e3fa3.1642116539.git.steadmon@google.com> +* 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. -* jt/clone-not-quite-empty (2022-01-26) 1 commit - (merged to 'next' on 2022-01-26 at c3bb39676e) - + clone: support unusual remote ref configurations + Will merge to 'master'. + source: <20220208092339.651761-2-jaydeepjd.8914@gmail.com> - Cloning from a repository that does not yet have any branches or - tags but has other refs resulted in a "remote transport reported - error", which has been corrected. - source: <20220124180909.2437002-1-jonathantanmy@google.com> +* hw/t1410-adjust-test-for-reftable (2022-02-09) 2 commits + - t1410: mark bufsize boundary test as REFFILES + - t1410: use test-tool ref-store to inspect reflogs -* jt/conditional-config-on-remote-url (2022-01-18) 2 commits - (merged to 'next' on 2022-01-19 at 3c2df266eb) - + config: include file if remote URL matches a glob - + config: make git_config_include() static + Fix tests that are unnecessarily specific to ref-files backend. - 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. - source: + Will merge to 'next'. + source: -* jt/sparse-checkout-leading-dir-fix (2022-01-21) 1 commit - (merged to 'next' on 2022-01-26 at 5611ce9047) - + sparse-checkout: create leading directory +* ps/fetch-optim-with-commit-graph (2022-02-10) 2 commits + - fetch: skip computing output width when not printing anything + - fetch-pack: use commit-graph when computing cutoff - "git sparse-checkout init" failed to write into $GIT_DIR/info - directory when the repository was created without one, which has - been corrected to auto-create it. - source: <20220121174441.3991963-1-jonathantanmy@google.com> + A couple of optimization to "git fetch". + Will merge to 'next'. + source: -* ms/update-index-racy (2022-01-07) 4 commits - (merged to 'next' on 2022-01-14 at 705a33f63b) - + update-index: refresh should rewrite index in case of racy timestamps - + t7508: add tests capturing racy timestamp handling - + t7508: fix bogus mtime verification - + test-lib: introduce API for verifying file mtime - "git update-index --refresh" has been taught to deal better with - racy timestamps (just like "git status" already does). - source: +* pw/xdiff-alloc-fail (2022-02-09) 3 commits + - xdiff: handle allocation failure when merging + - xdiff: refactor a function + - xdiff: handle allocation failure in patience diff + Expecting a reroll. + cf. <9c5b3acb-aabc-3a0d-f4e7-e10cec410dbe@gmail.com> + source: -* pb/pull-rebase-autostash-fix (2022-01-14) 1 commit - (merged to 'next' on 2022-01-14 at 83a388a7e2) - + pull --rebase: honor rebase.autostash when fast-forwarding - "git pull --rebase" ignored the rebase.autostash configuration - variable when the remote history is a descendant of our history, - which has been corrected. - source: +* sy/t0001-use-path-is-helper (2022-02-11) 1 commit + - t0001: replace "test [-d|-f]" with test_path_is_* functions + Test modernization. -* po/readme-mention-contributor-hints (2022-01-17) 1 commit - (merged to 'next' on 2022-01-19 at 7e14690eb9) - + README.md: add CodingGuidelines and a link for Translators + Will merge to 'next'. + source: <20220121102109.433457-2-shaoxuan.yuan02@gmail.com> - Doc update. - source: +* gc/recursive-fetch-with-unused-submodules (2022-02-10) 8 commits + - submodule: fix bug and remove add_submodule_odb() + - fetch: fetch unpopulated, changed submodules + - submodule: extract get_fetch_task() + - t5526: use grep to assert on fetches + - t5526: introduce test helper to assert on fetches + - submodule: make static functions read submodules from commits + - submodule: store new submodule commits oid_array in a struct + - submodule: inline submodule_commits() into caller -* pw/add-p-hunk-split-fix (2022-01-12) 2 commits - (merged to 'next' on 2022-01-19 at ea57b2c9a6) - + builtin add -p: fix hunk splitting - + t3701: clean up hunk splitting tests + When "git fetch --recurse-submodules" grabbed submodule commits + that would be needed to recursively check out newly fetched commits + in the superproject, it only paid attention to submodules that are + in the current checkout of the superproject. We now do so for all + submodules that have been run "git submodule init" on. - "git add -p" rewritten in C regressed hunk splitting in some cases, - which has been corrected. - source: + Will merge to 'next'? + source: <20220210044152.78352-1-chooglen@google.com> -* rs/apply-symlinks-use-strset (2022-01-07) 1 commit - (merged to 'next' on 2022-01-10 at 32497a67d5) - + apply: use strsets to track symlinks +* ah/log-no-graph (2022-02-11) 2 commits + - log: add a --no-graph option + - log: fix memory leak if --graph is passed multiple times - "git apply" (ab)used the util pointer of the string-list to keep - track of how each symbolic link needs to be handled, which has been - simplified by using strset. - source: <8739caad-aa3d-1f0f-b5dd-6174a8e059f6@web.de> + "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 lhas been plugged. + + Will merge to 'next'. + source: <20220211163627.598166-2-alexhenrie24@gmail.com> -* rs/grep-expr-cleanup (2022-01-06) 4 commits - (merged to 'next' on 2022-01-10 at b70a3bb0fa) - + grep: use grep_and_expr() in compile_pattern_and() - + grep: extract grep_binexp() from grep_or_expr() - + grep: use grep_not_expr() in compile_pattern_not() - + grep: use grep_or_expr() in compile_pattern_or() +* cg/t3903-modernize (2022-02-11) 1 commit + - 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> + +-------------------------------------------------- +[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> - Code clean-up. - 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 -* tl/doc-cli-options-first (2022-01-17) 1 commit - (merged to 'next' on 2022-01-19 at 9ec14cfe73) - + git-cli.txt: clarify "options first and then args" + 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. - We explain that revs come first before the pathspec among command - line arguments, but did not spell out that dashed options come - before other args, which has been corrected. - source: + Expecting a reroll. + cf. + source: <20211202035446.1154-1-carenas@gmail.com> -------------------------------------------------- -[New Topics] +[Cooking] * ab/t0051-skip-on-non-windows (2022-02-04) 1 commit - - t0051: use "skip_all" under !MINGW in single-test file + (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 'next'. + Will merge to 'master'. source: * ab/hash-object-leakfix (2022-02-06) 1 commit - - hash-object: fix a trivial leak in --path + (merged to 'next' on 2022-02-10 at 14956d3087) + + hash-object: fix a trivial leak in --path Trivial leakfix. - Will merge to 'next'. + Will merge to 'master'. source: * ab/release-transport-ls-refs-options (2022-02-06) 1 commit - - ls-remote & transport API: release "struct transport_ls_refs_options" + (merged to 'next' on 2022-02-10 at c4e57c2b29) + + ls-remote & transport API: release "struct transport_ls_refs_options" - Will merge to 'next'. + Will merge to 'master'. source: @@ -386,73 +338,46 @@ Release tarballs are available at: * js/short-help-outside-repo-fix (2022-02-08) 2 commits - - t0012: verify that built-ins handle `-h` even without gitdir - - checkout/fetch/pull/pack-objects: allow `-h` outside a repository + (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 'next'. + Will merge to 'master'. source: * tb/midx-no-bitmap-for-no-objects (2022-02-09) 1 commit - - midx: prevent writing a .bitmap without any objects + (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 'next'. + Will merge to 'master'. source: -* jc/cat-file-batch-commands (2022-02-08) 3 commits - . cat-file: add --batch-command mode - . cat-file: introduce batch_command enum to replace print_contents - . cat-file: rename cmdmode to transform_mode - - - Seems to make tests hang. - source: - --------------------------------------------------- -[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 +* jc/cat-file-batch-commands (2022-02-11) 3 commits + - cat-file: add --batch-command mode + - cat-file: introduce batch_mode enum to replace print_contents + - cat-file: rename cmdmode to transform_mode - 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. + "git cat-file" learns "--batch-command" mode, which is a more + flexible interface than the existing "--batch" or "--batch-check" + modes, to allow different kinds of inquiries made. + source: - Expecting a reroll. - cf. - source: <20211202035446.1154-1-carenas@gmail.com> - --------------------------------------------------- -[Cooking] -* ar/submodule-update (2022-02-08) 16 commits +* ar/submodule-update (2022-02-10) 20 commits + . fixup! submodule: move core cmd_update() logic to C + . fixup! submodule--helper run-update-procedure: learn --remote + . fixup! submodule--helper run-update-procedure: remove --suboid . submodule: move core cmd_update() logic to C + . submodule--helper: reduce logic in run_update_procedure() . submodule--helper: move functions around . submodule--helper update-clone: learn --init . submodule--helper: remove ensure-core-worktree @@ -471,66 +396,34 @@ Release tarballs are available at: Rewrite of "git submodule update" in C. - Does not seem to play well with other topics in flight. - source: <20220208083952.35036-1-chooglen@google.com> + Does not seem to play well with other topics in flight, with heavy conflicts. + cf. + source: <20220210092833.55360-1-chooglen@google.com> * pw/use-in-process-checkout-in-rebase (2022-01-26) 14 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 - - 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 + (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 'next'. - source: - - -* ab/no-errno-from-resolve-ref-unsafe (2022-01-26) 2 commits - (merged to 'next' on 2022-02-04 at d98254efe0) - + refs API: remove "failure_errno" from refs_resolve_ref_unsafe() - + sequencer: don't use die_errno() on refs_resolve_ref_unsafe() failure - - Remaining code-clean-up. - - Will merge to 'master'. - source: - - -* gh/doc-typos (2022-01-26) 2 commits - (merged to 'next' on 2022-02-04 at b71e1bc746) - + Documentation/config/pgp.txt: add missing apostrophe - + Documentation/config/pgp.txt: replace stray character with - - Typofix. - Will merge to 'master'. - source: <20220126121426.53799-1-greg@hurrell.net> - - -* jc/doc-log-messages (2022-01-27) 3 commits - (merged to 'next' on 2022-02-04 at cf136572ce) - + SubmittingPatches: explain why we care about log messages - + CodingGuidelines: hint why we value clearly written log messages - + SubmittingPatches: write problem statement in the log in the present tense - - Update the contributor-facing documents on proposed log messages. - - Will merge to 'master'. - source: <20220126234205.2923388-1-gitster@pobox.com> + source: * en/fetch-negotiation-default-fix (2022-02-02) 3 commits @@ -546,16 +439,6 @@ Release tarballs are available at: source: -* en/sparse-checkout-leakfix (2022-01-28) 1 commit - (merged to 'next' on 2022-02-04 at 10ca176008) - + sparse-checkout: fix a couple minor memory leaks - - Leakfix. - - Will merge to 'master'. - source: - - * 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 @@ -591,16 +474,6 @@ Release tarballs are available at: source: -* rc/negotiate-only-typofix (2022-01-28) 1 commit - (merged to 'next' on 2022-02-04 at 62b947ddbf) - + fetch: fix negotiate-only error message - - Typofix. - - Will merge to 'master'. - source: <20220128143602.31842-1-robert@coup.net.nz> - - * rj/receive-pack-abort-upon-disconnect (2022-01-28) 1 commit - receive-pack: check if client is alive before completing the push @@ -628,18 +501,6 @@ Release tarballs are available at: source: <20220202042015.10115-1-jerry@skydio.com> -* tg/fetch-prune-exit-code-fix (2022-01-31) 1 commit - (merged to 'next' on 2022-02-04 at 8af6ab286d) - + fetch --prune: exit with error if pruning fails - - When "git fetch --prune" failed to prune the refs it wanted to - prune, the command issued error messages but exited with exit - status 0, which has been corrected. - - Will merge to 'master'. - source: <20220131133047.1885074-1-t.gummerer@gmail.com> - - * 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() @@ -668,7 +529,8 @@ Release tarballs are available at: * cb/clear-quarantine-early-on-all-ref-update-errors (2022-02-01) 1 commit - - receive-pack: purge temporary data if no command is ready to run + (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 @@ -676,7 +538,7 @@ Release tarballs are available at: that is known-to-fail will not leave crufts that a future "gc" needs to clean up. - Will merge to 'next'. + Will merge to 'master'. source: <20220129063538.24038-1-bojun.cbj@gmail.com> @@ -775,16 +637,6 @@ Release tarballs are available at: source: <20220203101643.1987-1-philipoakley@iee.email> -* sy/diff-usage-typofix (2022-02-02) 1 commit - (merged to 'next' on 2022-02-04 at 28a4186a44) - + builtin/diff.c: fix "git-diff" usage string typo - - Typofix. - - Will merge to 'master'. - source: <20220202072844.35545-1-shaoxuan.yuan02@gmail.com> - - * 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 @@ -818,45 +670,32 @@ Release tarballs are available at: source: <690d2316ad518ea4551821b2b3aa652996858475.1644034886.git.steadmon@google.com> -* rs/parse-options-lithelp-help (2022-01-20) 1 commit - (merged to 'next' on 2022-02-04 at 74bc57e8fa) - + parse-options: document bracketing of argh - - Comment update. - - Will merge to 'master'. - source: - - -* jh/p4-various-fixups (2022-01-16) 23 commits - . git-p4: seperate multiple statements onto seperate lines - . git-p4: move inline comments to line above - . git-p4: only seperate code blocks by a single empty line - . git-p4: compare to singletons with "is" and "is not" - . git-p4: normalize indentation of lines in conditionals - . git-p4: ensure there is a single space around all operators - . git-p4: ensure every comment has a single # - . git-p4: remove spaces between dictionary keys and colons - . git-p4: remove redundant backslash-continuations inside brackets - . git-p4: remove extraneous spaces before function arguments - . git-p4: place a single space after every comma - . git-p4: removed brackets when assigning multiple return values - . git-p4: remove spaces around default arguments - . git-p4: remove padding from lists, tuples and function arguments - . git-p4: sort and de-duplcate pylint disable list - . git-p4: remove commented code - . git-p4: convert descriptive class and function comments into docstrings - . git-p4: improve consistency of docstring formatting - . git-p4: indent with 4-spaces - . git-p4: remove unneeded semicolons from statements - . git-p4: add blank lines between functions and class definitions - . Merge branch 'jh/p4-spawning-external-commands-cleanup' into jh/p4-various-fixups - . Merge branch 'jh/p4-fix-use-of-process-error-exception' into jh/p4-various-fixups +* jh/p4-various-fixups (2022-02-10) 22 commits + - git-p4: sort imports + - git-p4: seperate multiple statements onto seperate lines + - git-p4: move inline comments to line above + - git-p4: only seperate code blocks by a single empty line + - git-p4: compare to singletons with "is" and "is not" + - git-p4: normalize indentation of lines in conditionals + - git-p4: ensure there is a single space around all operators + - git-p4: ensure every comment has a single # + - git-p4: remove spaces between dictionary keys and colons + - git-p4: remove redundant backslash-continuations inside brackets + - git-p4: remove extraneous spaces before function arguments + - git-p4: place a single space after every comma + - git-p4: removed brackets when assigning multiple return values + - git-p4: remove spaces around default arguments + - git-p4: remove padding from lists, tuples and function arguments + - git-p4: sort and de-duplcate pylint disable list + - git-p4: remove commented code + - git-p4: convert descriptive class and function comments into docstrings + - git-p4: improve consistency of docstring formatting + - git-p4: indent with 4-spaces + - git-p4: remove unneeded semicolons from statements + - git-p4: add blank lines between functions and class definitions Various cleanups to "git p4". - - Breaks its own test suite. - source: <20220116160550.514637-1-jholdsworth@nvidia.com> + source: <20220210164627.279520-1-jholdsworth@nvidia.com> * rs/bisect-executable-not-found (2022-01-19) 4 commits @@ -892,19 +731,20 @@ Release tarballs are available at: * ps/avoid-unnecessary-hook-invocation-with-packed-refs (2022-01-17) 6 commits - - 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 + (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 'next'. + Will merge to 'master'. source: @@ -921,17 +761,6 @@ Release tarballs are available at: source: -* bc/clarify-eol-attr (2022-01-12) 2 commits - (merged to 'next' on 2022-02-04 at dc1db4bd21) - + docs: correct documentation about eol attribute - + t0027: add tests for eol without text in .gitattributes - - Doc and test update around the eol attribute. - - Will merge to 'master'. - source: <20220111021507.531736-1-sandals@crustytoothpaste.net> - - * 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 @@ -964,18 +793,6 @@ Release tarballs are available at: source: -* bc/csprng-mktemps (2022-01-17) 2 commits - (merged to 'next' on 2022-02-04 at 2e32375c73) - + wrapper: use a CSPRNG to generate random file names - + wrapper: add a helper to generate numbers from a CSPRNG - - Pick a better random number generator and use it when we prepare - temporary filenames. - - Will merge to 'master'. - source: <20220117215617.843190-1-sandals@crustytoothpaste.net> - - * 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 @@ -1018,28 +835,28 @@ Release tarballs are available at: source: -* bs/forbid-i18n-of-protocol-token-in-fetch-pack (2021-12-22) 2 commits - - fixup! fetch-pack: parameterize message containing 'ready' keyword +* bs/forbid-i18n-of-protocol-token-in-fetch-pack (2022-02-11) 1 commit - fetch-pack: parameterize message containing 'ready' keyword L10n support for a few error messages. - Expecting an ack for fixup. + Will merge to 'next'. source: <20211222075805.19027-1-bagasdotme@gmail.com> * gc/branch-recurse-submodules (2022-02-04) 7 commits - - 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 + (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 'next'. + Will merge to 'master'. source: <20220129000446.99261-1-chooglen@google.com> @@ -1165,9 +982,8 @@ Release tarballs are available at: source: -* jh/builtin-fsmonitor-part2 (2021-12-25) 31 commits - - fixup! t7527: create test for fsmonitor--daemon - - fixup! t/perf/p7519: speed up test on Windows +* jh/builtin-fsmonitor-part2 (2022-02-11) 30 commits + - update-index: convert fsmonitor warnings to advise - t7527: test status with untracked-cache and fsmonitor--daemon - fsmonitor: force update index after large responses - fsmonitor--daemon: use a cookie file to sync with file system @@ -1196,14 +1012,10 @@ Release tarballs are available at: - fsmonitor: use IPC to query the builtin FSMonitor daemon - fsmonitor: config settings are repository-specific - fsmonitor-ipc: create client routines for git-fsmonitor--daemon - - fsmonitor: enhance existing comments + - fsmonitor: enhance existing comments, clarify trivial response handling Built-in fsmonitor (part 2). - - Expecting a reroll. - Seems that the discussion stalled. - cf. - source: + source: * es/superproject-aware-submodules (2022-02-03) 4 commits