@leroysheep / Socializer / commits / e09a8b5320

What's cooking (2022/01 #02)

Junio C Hamano committed Jan 5, 2022 at 14:55 UTC e09a8b5320fdf7f57c11d82be40635b64f318e20
1 file changed +339 -366
whats-cooking.txt
+339 -366
index 506e7f16cc..466c172710 100644 --- a/whats-cooking.txt +++ b/whats-cooking.txt @@ -1,12 +1,22 @@ To: git@vger.kernel.org Bcc: lwn@lwn.net -Subject: What's cooking in git.git (Jan 2022, #01; Mon, 3) -X-master-at: dcc0cd074f0c639a0df20461a301af6d45bd582e -X-next-at: 194610f4cf2df839ebfd040c5da187c8c0162620 +Subject: What's cooking in git.git (Jan 2022, #02; Wed, 5) +X-master-at: e83ba647f7c61cf945690d6a0bd8c172a6498dc8 +X-next-at: 24525b3c66f3a5878e67d92b3e0fd082dc1d905e -What's cooking in git.git (Jan 2022, #01; Mon, 3) +What's cooking in git.git (Jan 2022, #02; Wed, 5) -------------------------------------------------- +It's a bit early to publish another issue of this report, but a +bunch of topics have graduated to 'master' and a handful of topics +have joined 'next', so here is the second installment of the month. + +About 25 topics are cooking in 'next', all of which hopefully can be +in the upcoming release. Those not yet in may need bumping, but it +was expected to be a slow cycle due to end-of-year holidays, so it +is also OK to give them enough time to get polished into good enough +shape, rather than merging them prematurely. + Here are the topics that have been cooking in my tree. Commits prefixed with '+' are in 'next' (being in 'next' is a sign that a topic is stable enough to be used and are candidate to be in a @@ -18,11 +28,6 @@ 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. -Hopefully this will be the last issue of "What's cooking" report of -this year. Please expect my tree will be slow moving this week and -whereever you are on the globe, relax and enjoy the remainder of -this year. - 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 repositories have only a subset of branches. @@ -54,103 +59,252 @@ Release tarballs are available at: -------------------------------------------------- [Graduated to 'master'] -* en/sparse-checkout-set (2021-12-23) 11 commits - (merged to 'next' on 2021-12-25 at 510f9eba9a) - + sparse-checkout: remove stray trailing space - (merged to 'next' on 2021-12-21 at 36a98aed11) - + clone: avoid using deprecated `sparse-checkout init` - + Documentation: clarify/correct a few sparsity related statements - + git-sparse-checkout.txt: update to document init/set/reapply changes - + sparse-checkout: enable reapply to take --[no-]{cone,sparse-index} - + sparse-checkout: enable `set` to initialize sparse-checkout mode - + sparse-checkout: split out code for tweaking settings config - + sparse-checkout: disallow --no-stdin as an argument to set - + sparse-checkout: add sanity-checks on initial sparsity state - + sparse-checkout: break apart functions for sparse_checkout_(set|add) - + sparse-checkout: pass use_stdin as a parameter instead of as a global - - The "init" and "set" subcommands in "git sparse-checkout" have been - unified for a better user experience and performance. - source: <pull.1151.v4.git.git.1639454952.gitgitgadget@gmail.com> - - -* es/test-chain-lint (2021-12-13) 19 commits - (merged to 'next' on 2021-12-21 at d6f56f3248) - + t6000-t9999: detect and signal failure within loop - + t5000-t5999: detect and signal failure within loop - + t4000-t4999: detect and signal failure within loop - + t0000-t3999: detect and signal failure within loop - + tests: simplify by dropping unnecessary `for` loops - + tests: apply modern idiom for exiting loop upon failure - + tests: apply modern idiom for signaling test failure - + tests: fix broken &&-chains in `{...}` groups - + tests: fix broken &&-chains in `$(...)` command substitutions - + tests: fix broken &&-chains in compound statements - + tests: use test_write_lines() to generate line-oriented output - + tests: simplify construction of large blocks of text - + t9107: use shell parameter expansion to avoid breaking &&-chain - + t6300: make `%(raw:size) --shell` test more robust - + t5516: drop unnecessary subshell and command invocation - + t4202: clarify intent by creating expected content less cleverly - + t1020: avoid aborting entire test script when one test fails - + t1010: fix unnoticed failure on Windows - + t/lib-pager: use sane_unset() to avoid breaking &&-chain - - Broken &&-chains in the test scripts have been corrected. - source: <20211209051115.52629-1-sunshine@sunshineco.com> - - -* jc/unleak-log (2021-12-16) 1 commit - (merged to 'next' on 2021-12-21 at c39506ec86) - + format-patch: mark rev_info with UNLEAK - - "git format-patch" uses a single rev_info instance and then exits. - Mark the structure with UNLEAK() macro to squelch leak sanitizer. - source: <xmqqee6dz5s9.fsf@gitster.g> - - -* ns/tmp-objdir (2021-12-08) 2 commits - (merged to 'next' on 2021-12-21 at d316ff36fc) - + tmp-objdir: disable ref updates when replacing the primary odb - + tmp-objdir: new API for creating temporary writable databases - (this branch is used by en/remerge-diff.) - - New interface into the tmp-objdir API to help in-core use of the - quarantine feature. - source: <pull.1091.v3.git.1638828305.gitgitgadget@gmail.com> +* ds/repack-fixlets (2021-12-20) 2 commits + (merged to 'next' on 2021-12-27 at 8f8474ae84) + + repack: make '--quiet' disable progress + + repack: respect kept objects with '--write-midx -b' + + Two fixes around "git repack". + source: <pull.1098.v2.git.1640011691.gitgitgadget@gmail.com> + + +* en/keep-cwd (2021-12-09) 11 commits + (merged to 'next' on 2021-12-27 at 7cd8f7fdc0) + + t2501: simplify the tests since we can now assume desired behavior + + dir: new flag to remove_dir_recurse() to spare the original_cwd + + dir: avoid incidentally removing the original_cwd in remove_path() + + stash: do not attempt to remove startup_info->original_cwd + + rebase: do not attempt to remove startup_info->original_cwd + + clean: do not attempt to remove startup_info->original_cwd + + symlinks: do not include startup_info->original_cwd in dir removal + + unpack-trees: add special cwd handling + + unpack-trees: refuse to remove startup_info->original_cwd + + setup: introduce startup_info->original_cwd + + t2501: add various tests for removing the current working directory + + Many git commands that deal with working tree files try to remove a + directory that becomes empty (i.e. "git switch" from a branch that + has the directory to another branch that does not would attempt + remove all files in the directory and the directory itself). This + drops users into an unfamiliar situation if the command was run in + a subdirectory that becomes subject to removal due to the command. + The commands have been taught to keep an empty directory if it is + the directory they were started in to avoid surprising users. + source: <pull.1140.v6.git.git.1639026515.gitgitgadget@gmail.com> + + +* gh/gpg-doc-markup-fix (2021-12-17) 1 commit + (merged to 'next' on 2021-12-27 at 7988d71a27) + + docs: add missing colon to Documentation/config/gpg.txt + + Doc markup fix. + source: <20211217161718.15767-1-greg@hurrell.net> + + +* jc/flex-array-definition (2021-12-08) 1 commit + (merged to 'next' on 2021-12-27 at 9db6a814b7) + + flex-array: simplify compiler-specific workaround + + The conditions to choose different definitions of the FLEX_ARRAY + macro for vendor compilers has been simplified to make it easier to + maintain. + source: <xmqqee6mv9no.fsf@gitster.g> + + +* jc/merge-detached-head-name (2021-12-20) 1 commit + (merged to 'next' on 2021-12-27 at 01f9fe17b9) + + merge: allow to pretend a merge is made into a different branch + + The default merge message prepared by "git merge" records the name + of the current branch; the name can be overridden with a new option + to allow users to pretend a merge is made on a different branch. + source: <xmqqee66ubuw.fsf_-_@gitster.g> + + +* jc/t4204-do-not-write-git-on-upstream-of-pipe (2021-12-16) 1 commit + (merged to 'next' on 2021-12-27 at dc2c5db807) + + t4204 is not sanitizer clean at all + + Test fixes. + source: <xmqqtuf86t7z.fsf_-_@gitster.g> + + +* jh/p4-rcs-expansion-in-bytestring (2021-12-16) 5 commits + (merged to 'next' on 2021-12-27 at 650cb248ea) + + git-p4: resolve RCS keywords in bytes not utf-8 + + git-p4: open temporary patch file for write only + + git-p4: add raw option to read_pipelines + + git-p4: pre-compile RCS keyword regexes + + git-p4: use with statements to close files after use in patchRCSKeywords + + The RCS keyword substitution in "git p4" used to be done assuming + that the contents are UTF-8 text, which can trigger decoding + errors. We now treat the contents as a bytestring for robustness + and correctness. + source: <20211216134619.2048348-1-jholdsworth@nvidia.com> + + +* jk/ssh-signing-doc-markup-fix (2021-12-15) 1 commit + (merged to 'next' on 2021-12-27 at 2188dc2023) + + doc/config: mark ssh allowedSigners example as literal + + Docfix. + source: <YboWlOG3vZD/7Osx@coredump.intra.peff.net> + + +* jv/use-larger-buffer-in-upload-pack (2021-12-15) 1 commit + (merged to 'next' on 2021-12-27 at 3a1afc1ef8) + + upload-pack.c: increase output buffer size + + "git upload-pack" (the other side of "git fetch") used a 8kB buffer + but most of its payload came on 64kB "packets". The buffer size + has been enlarged so that such a packet fits. + source: <20211214194626.33814-1-jacob@gitlab.com> + + +* km/help-prompt-fix (2021-12-16) 1 commit + (merged to 'next' on 2021-12-27 at a16d8fa62a) + + help: make auto-correction prompt more consistent + + Among some code paths that ask an yes/no question, only one place + gave a prompt that looked different from the others, which has been + updated to match what the others create. + source: <xmqqy24k8c0j.fsf@gitster.g> + + +* pw/diff-color-moved-fix (2021-12-09) 15 commits + (merged to 'next' on 2021-12-27 at 443dd9f97f) + + diff --color-moved: intern strings + + diff: use designated initializers for emitted_diff_symbol + + diff --color-moved-ws=allow-indentation-change: improve hash lookups + + diff --color-moved: stop clearing potential moved blocks + + diff --color-moved: shrink potential moved blocks as we go + + diff --color-moved: unify moved block growth functions + + diff --color-moved: call comparison function directly + + diff --color-moved-ws=allow-indentation-change: simplify and optimize + + diff: simplify allow-indentation-change delta calculation + + diff --color-moved: avoid false short line matches and bad zebra coloring + + diff --color-moved=zebra: fix alternate coloring + + diff --color-moved: rewind when discarding pmb + + diff --color-moved: factor out function + + diff --color-moved: clear all flags on blocks that are too short + + diff --color-moved: add perf tests + + Correctness and performance update to "diff --color-moved" feature. + source: <pull.981.v5.git.1639045809.gitgitgadget@gmail.com> + + +* rs/daemon-plug-leak (2021-12-20) 1 commit + (merged to 'next' on 2021-12-27 at 55b058a8bb) + + daemon: plug memory leak on overlong path + + Plug a memory leak. + source: <5b151dc3-d4c7-29d3-71ed-a79033693d5d@web.de> + + +* rs/log-invert-grep-with-headers (2021-12-17) 1 commit + (merged to 'next' on 2021-12-27 at 861648fe8c) + + log: let --invert-grep only invert --grep + + "git log --invert-grep --author=<name>" used to exclude commits + written by the given author, but now "--invert-grep" only affects + the matches made by the "--grep=<pattern>" option. + source: <xmqqee6cbalb.fsf@gitster.g> + + +* rs/pcre2-utf (2021-12-20) 2 commits + (merged to 'next' on 2021-12-27 at 5dc740c331) + + grep/pcre2: factor out literal variable + + grep/pcre2: use PCRE2_UTF even with ASCII patterns + + "git grep --perl-regexp" failed to match UTF-8 characters with + wildcard when the pattern consists only of ASCII letters, which has + been corrected. + source: <5fa6962e-3c1c-6dbc-f6d7-589151a9baec@web.de> + + +* rs/t4202-invert-grep-test-fix (2021-12-17) 1 commit + (merged to 'next' on 2021-12-27 at b09cee1626) + + t4202: fix patternType setting in --invert-grep test + + Test fix. + source: <79dcebc0-e569-cc8a-4702-c572b062ed6d@web.de> + + +* xw/am-empty (2021-12-15) 3 commits + (merged to 'next' on 2021-12-27 at 562e1552f6) + + am: support --allow-empty to record specific empty patches + + am: support --empty=<option> to handle empty patches + + doc: git-format-patch: describe the option --always + + "git am" learns "--empty=(stop|drop|keep)" option to tweak what is + done to a piece of e-mail without a patch in it. + source: <pull.1076.v19.git.1639034755.gitgitgadget@gmail.com> -------------------------------------------------- [New Topics] -* en/merge-ort-renorm-with-rename-delete-conflict-fix (2021-12-30) 1 commit - - merge-ort: fix bug with renormalization and rename/delete conflicts +* bc/csprng-mktemps (2022-01-04) 2 commits + - wrapper: use a CSPRNG to generate random file names + - wrapper: add a helper to generate numbers from a CSPRNG - A corner case bug in the ort merge strategy has been corrected. + Pick a better random number generator and use it when we prepare + temporary filenames. - Will merge to 'next'. - source: <pull.1174.git.git.1640650846612.gitgitgadget@gmail.com> + Expecting a reroll. + cf. <YdTQodIhZ9273nJE@camp.crustytoothpaste.net> + source: <20220104015555.3387101-1-sandals@crustytoothpaste.net> -* jc/find-header (2022-01-03) 1 commit - - receive-pack.c: consolidate find header logic +* jc/reflog-parse-options (2022-01-05) 2 commits + - builtin/reflog.c: use parse-options api for expire, delete subcommands + - Merge branch 'ab/reflog-prep' into jc/reflog-parse-options + (this branch uses ab/reflog-prep.) - Code clean-up. + Use the parse-options API in "git reflog" command. + source: <pull.1175.v3.git.git.1641318061821.gitgitgadget@gmail.com> - Will merge to 'next'? - source: <pull.1125.v2.git.git.1640758765723.gitgitgadget@gmail.com> +* vd/sparse-clean-etc (2022-01-04) 9 commits + - 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 -* jc/name-rev-stdin (2022-01-03) 4 commits - - fixup! name-rev.c: use strbuf_getline instead of limited size buffer - - fixup! name-rev: deprecate --stdin in favor of --annotate-text - - name-rev.c: use strbuf_getline instead of limited size buffer - - name-rev: deprecate --stdin in favor of --annotate-text + "git update-index", "git checkout-index", and "git clean" are + taught to work better with the sparse checkout feature. + source: <pull.1109.git.1641317820.gitgitgadget@gmail.com> - "git name-rev --stdin" does not behave like usual "--stdin" at - all. Start the process of renaming it to "--annotate-stdin". - Expecting a reroll. - source: <pull.1171.v3.git.git.1641221261.gitgitgadget@gmail.com> +* en/stash-df-fix (2022-01-04) 1 commit + - stash: do not return before restoring untracked files + + "git stash apply" forgot to attempt restoring untracked files when + it failed to restore changes to tracked ones. + + Will merge to 'next'. + source: <pull.1180.git.git.1641337498996.gitgitgadget@gmail.com> + + +* ms/t-readme-typofix (2022-01-04) 1 commit + - t/README: fix typo + + Typofix. + + Will merge to 'next'. + source: <pull.1110.git.1641338224631.gitgitgadget@gmail.com> + + +* ms/update-index-racy (2022-01-05) 2 commits + - update-index: refresh should rewrite index in case of racy timestamps + - t7508: add tests capturing racy timestamp handling + + source: <pull.1105.v2.git.1641388523.gitgitgadget@gmail.com> -------------------------------------------------- [Stalled] @@ -205,6 +359,36 @@ Release tarballs are available at: -------------------------------------------------- [Cooking] +* en/merge-ort-renorm-with-rename-delete-conflict-fix (2021-12-30) 1 commit + (merged to 'next' on 2022-01-05 at bb81dd432d) + + merge-ort: fix bug with renormalization and rename/delete conflicts + + A corner case bug in the ort merge strategy has been corrected. + + Will merge to 'master'. + source: <pull.1174.git.git.1640650846612.gitgitgadget@gmail.com> + + +* jc/find-header (2022-01-03) 1 commit + - receive-pack.c: consolidate find header logic + + Code clean-up. + + Will merge to 'next'? + source: <pull.1125.v2.git.git.1640758765723.gitgitgadget@gmail.com> + + +* jc/name-rev-stdin (2022-01-05) 2 commits + - name-rev.c: use strbuf_getline instead of limited size buffer + - name-rev: deprecate --stdin in favor of --annotate-stdin + + "git name-rev --stdin" does not behave like usual "--stdin" at + all. Start the process of renaming it to "--annotate-stdin". + + Not quite ready yet. + source: <pull.1171.v5.git.git.1641356439.gitgitgadget@gmail.com> + + * ab/makefile-hook-list-dependency-fix (2021-12-25) 1 commit (merged to 'next' on 2022-01-03 at 8c8ca0cbce) + Makefile: correct the dependency graph of hook-list.h @@ -245,27 +429,15 @@ Release tarballs are available at: source: <patch-v3-1.1-6b33b104c84-20211216T125317Z-avarab@gmail.com> -* km/help-prompt-fix (2021-12-16) 1 commit - (merged to 'next' on 2021-12-27 at a16d8fa62a) - + help: make auto-correction prompt more consistent - - Among some code paths that ask an yes/no question, only one place - gave a prompt that looked different from the others, which has been - updated to match what the others create. - - Will merge to 'master'. - source: <xmqqy24k8c0j.fsf@gitster.g> - - -* lh/use-gnu-color-in-grep (2021-12-16) 1 commit - - grep: align default colors with GNU grep ones +* lh/use-gnu-color-in-grep (2022-01-05) 1 commit + (merged to 'next' on 2022-01-05 at a0e2068cb7) + + grep: align default colors with GNU grep ones The color palette used by "git grep" has been updated to match that of GNU grep. - On hold. - cf. <xmqqh7b88b3o.fsf@gitster.g> - source: <20211216115622.85506-1-lenaic@lhuard.fr> + Will merge to 'master'. + source: <20220105081835.4949-1-lenaic@lhuard.fr> * ws/fast-export-with-revision-options (2021-12-21) 1 commit @@ -281,49 +453,6 @@ Release tarballs are available at: source: <pull.1084.v2.git.1639037637231.gitgitgadget@gmail.com> -* jc/t4204-do-not-write-git-on-upstream-of-pipe (2021-12-16) 1 commit - (merged to 'next' on 2021-12-27 at dc2c5db807) - + t4204 is not sanitizer clean at all - - Test fixes. - - Will merge to 'master'. - source: <xmqqtuf86t7z.fsf_-_@gitster.g> - - -* ds/repack-fixlets (2021-12-20) 2 commits - (merged to 'next' on 2021-12-27 at 8f8474ae84) - + repack: make '--quiet' disable progress - + repack: respect kept objects with '--write-midx -b' - - Two fixes around "git repack". - - Will merge to 'master'. - source: <pull.1098.v2.git.1640011691.gitgitgadget@gmail.com> - - -* gh/gpg-doc-markup-fix (2021-12-17) 1 commit - (merged to 'next' on 2021-12-27 at 7988d71a27) - + docs: add missing colon to Documentation/config/gpg.txt - - Doc markup fix. - - Will merge to 'master'. - source: <20211217161718.15767-1-greg@hurrell.net> - - -* jc/merge-detached-head-name (2021-12-20) 1 commit - (merged to 'next' on 2021-12-27 at 01f9fe17b9) - + merge: allow to pretend a merge is made into a different branch - - The default merge message prepared by "git merge" records the name - of the current branch; the name can be overridden with a new option - to allow users to pretend a merge is made on a different branch. - - Will merge to 'master'. - source: <xmqqee66ubuw.fsf_-_@gitster.g> - - * jh/p4-human-unit-numbers (2021-12-20) 2 commits (merged to 'next' on 2022-01-03 at c385766ff4) + git-p4: show progress as an integer @@ -359,51 +488,6 @@ Release tarballs are available at: source: <pull.1100.git.1640010777.gitgitgadget@gmail.com> -* rs/daemon-plug-leak (2021-12-20) 1 commit - (merged to 'next' on 2021-12-27 at 55b058a8bb) - + daemon: plug memory leak on overlong path - - Plug a memory leak. - - Will merge to 'master'. - source: <5b151dc3-d4c7-29d3-71ed-a79033693d5d@web.de> - - -* rs/log-invert-grep-with-headers (2021-12-17) 1 commit - (merged to 'next' on 2021-12-27 at 861648fe8c) - + log: let --invert-grep only invert --grep - - "git log --invert-grep --author=<name>" used to exclude commits - written by the given author, but now "--invert-grep" only affects - the matches made by the "--grep=<pattern>" option. - - Will merge to 'master'. - source: <xmqqee6cbalb.fsf@gitster.g> - - -* rs/pcre2-utf (2021-12-20) 2 commits - (merged to 'next' on 2021-12-27 at 5dc740c331) - + grep/pcre2: factor out literal variable - + grep/pcre2: use PCRE2_UTF even with ASCII patterns - - "git grep --perl-regexp" failed to match UTF-8 characters with - wildcard when the pattern consists only of ASCII letters, which has - been corrected. - - Will merge to 'master'. - source: <5fa6962e-3c1c-6dbc-f6d7-589151a9baec@web.de> - - -* rs/t4202-invert-grep-test-fix (2021-12-17) 1 commit - (merged to 'next' on 2021-12-27 at b09cee1626) - + t4202: fix patternType setting in --invert-grep test - - Test fix. - - Will merge to 'master'. - source: <79dcebc0-e569-cc8a-4702-c572b062ed6d@web.de> - - * ds/sparse-checkout-requires-per-worktree-config (2021-12-21) 5 commits . sparse-checkout: use repo_config_set_worktree_gently() . config: add repo_config_set_worktree_gently() @@ -497,6 +581,7 @@ Release tarballs are available at: + reflog: change one->many worktree->refnames to use a string_list + reflog expire: narrow scope of "cb" in cmd_reflog_expire() + reflog delete: narrow scope of "cmd" passed to count_reflog_ent() + (this branch is used by jc/reflog-parse-options.) Code refactoring in the reflog part of refs API. @@ -550,23 +635,6 @@ Release tarballs are available at: source: <pull.1164.git.git.1640287790.gitgitgadget@gmail.com> -* jh/p4-rcs-expansion-in-bytestring (2021-12-16) 5 commits - (merged to 'next' on 2021-12-27 at 650cb248ea) - + git-p4: resolve RCS keywords in bytes not utf-8 - + git-p4: open temporary patch file for write only - + git-p4: add raw option to read_pipelines - + git-p4: pre-compile RCS keyword regexes - + git-p4: use with statements to close files after use in patchRCSKeywords - - The RCS keyword substitution in "git p4" used to be done assuming - that the contents are UTF-8 text, which can trigger decoding - errors. We now treat the contents as a bytestring for robustness - and correctness. - - Will merge to 'master'. - source: <20211216134619.2048348-1-jholdsworth@nvidia.com> - - * ds/sparse-checkout-malformed-pattern-fix (2021-12-30) 3 commits (merged to 'next' on 2021-12-30 at c8b2ade48c) + sparse-checkout: refuse to add to bad patterns @@ -596,28 +664,6 @@ Release tarballs are available at: source: <20211220233459.45739-1-chooglen@google.com> -* jk/ssh-signing-doc-markup-fix (2021-12-15) 1 commit - (merged to 'next' on 2021-12-27 at 2188dc2023) - + doc/config: mark ssh allowedSigners example as literal - - Docfix. - - Will merge to 'master'. - source: <YboWlOG3vZD/7Osx@coredump.intra.peff.net> - - -* jv/use-larger-buffer-in-upload-pack (2021-12-15) 1 commit - (merged to 'next' on 2021-12-27 at 3a1afc1ef8) - + upload-pack.c: increase output buffer size - - "git upload-pack" (the other side of "git fetch") used a 8kB buffer - but most of its payload came on 64kB "packets". The buffer size - has been enlarged so that such a packet fits. - - Will merge to 'master'. - source: <20211214194626.33814-1-jacob@gitlab.com> - - * hn/reftable-coverity-fixes (2021-12-22) 18 commits - reftable: be more paranoid about 0-length memcpy calls - reftable: add print functions to the record types @@ -641,11 +687,13 @@ Release tarballs are available at: Problems identified by Coverity in the reftable code have been corrected. - Will merge to 'next'? + Expecting a reroll. + cf. <211228.86lf04j0lg.gmgdl@evledraar.gmail.com> source: <pull.1152.v5.git.git.1640199396.gitgitgadget@gmail.com> -* tb/midx-bitmap-corruption-fix (2021-12-23) 9 commits +* tb/midx-bitmap-corruption-fix (2022-01-04) 9 commits + - 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 @@ -654,26 +702,10 @@ Release tarballs are available at: - pack-revindex.c: instrument loading on-disk reverse index - midx.c: make changing the preferred pack safe - t5326: demonstrate bitmap corruption after permutation - - Merge branch 'tb/cruft-packs' into tb/midx-bitmap-corruption-fix - (this branch uses tb/cruft-packs.) A bug that made multi-pack bitmap and the object order out-of-sync (hence the .midx data gets corrupted) has been fixed. - - What's the status of this thing? - source: <cover.1639446906.git.me@ttaylorr.com> - - -* jc/flex-array-definition (2021-12-08) 1 commit - (merged to 'next' on 2021-12-27 at 9db6a814b7) - + flex-array: simplify compiler-specific workaround - - The conditions to choose different definitions of the FLEX_ARRAY - macro for vendor compilers has been simplified to make it easier to - maintain. - - Will merge to 'master'. - source: <xmqqee6mv9no.fsf@gitster.g> + source: <cover.1641320129.git.me@ttaylorr.com> * pw/fix-some-issues-in-reset-head (2021-12-08) 14 commits @@ -703,7 +735,7 @@ Release tarballs are available at: source: <pull.1049.v2.git.1638975481.gitgitgadget@gmail.com> -* ja/i18n-similar-messages (2022-01-03) 11 commits +* ja/i18n-similar-messages (2022-01-05) 11 commits - i18n: turn even more messages into "cannot be used together" ones - i18n: ref-filter: factorize "%(foo) atom used without %(bar) atom" - i18n: factorize "--foo outside a repository" @@ -719,8 +751,8 @@ Release tarballs are available at: Similar message templates have been consolidated so that translators need to work on fewer number of messages. - cf. <48262743.WQR3eRXon5@cayenne> - source: <pull.1088.v4.git.1641143745.gitgitgadget@gmail.com> + Will merge to 'next'. + source: <pull.1088.v5.git.1641412944.gitgitgadget@gmail.com> * ab/usage-die-message (2021-12-07) 6 commits @@ -739,20 +771,21 @@ Release tarballs are available at: * ab/cat-file (2021-12-30) 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 + (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". - Will merge to 'next'. + Will merge to 'master'. source: <cover-v6-00.10-00000000000-20211228T132637Z-avarab@gmail.com> @@ -799,24 +832,23 @@ Release tarballs are available at: * 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 - (this branch is used by tb/midx-bitmap-corruption-fix.) + . 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 @@ -830,14 +862,14 @@ Release tarballs are available at: source: <cover.1638224692.git.me@ttaylorr.com> -* jl/subtree-check-parents-argument-passing-fix (2021-12-05) 1 commit - - subtree: fix argument handling in check_parents +* jl/subtree-check-parents-argument-passing-fix (2022-01-04) 1 commit + (merged to 'next' on 2022-01-05 at 7dc995f026) + + subtree: fix argument handling in check_parents Fix performance-releated bug in "git subtree" (in contrib/). - Expecting a reroll. - cf. <nycvar.QRO.7.76.6.2112072243310.90@tvgsbejvaqbjf.bet> - source: <pull.1086.v3.git.1638758742741.gitgitgadget@gmail.com> + Will merge to 'master'. + source: <pull.1086.v4.git.1638929518657.gitgitgadget@gmail.com> * ab/ambiguous-object-name (2021-12-30) 6 commits @@ -853,44 +885,21 @@ Release tarballs are available at: source: <cover-v6-0.6-00000000000-20211228T143223Z-avarab@gmail.com> -* en/keep-cwd (2021-12-09) 11 commits - (merged to 'next' on 2021-12-27 at 7cd8f7fdc0) - + t2501: simplify the tests since we can now assume desired behavior - + dir: new flag to remove_dir_recurse() to spare the original_cwd - + dir: avoid incidentally removing the original_cwd in remove_path() - + stash: do not attempt to remove startup_info->original_cwd - + rebase: do not attempt to remove startup_info->original_cwd - + clean: do not attempt to remove startup_info->original_cwd - + symlinks: do not include startup_info->original_cwd in dir removal - + unpack-trees: add special cwd handling - + unpack-trees: refuse to remove startup_info->original_cwd - + setup: introduce startup_info->original_cwd - + t2501: add various tests for removing the current working directory - - Many git commands that deal with working tree files try to remove a - directory that becomes empty (i.e. "git switch" from a branch that - has the directory to another branch that does not would attempt - remove all files in the directory and the directory itself). This - drops users into an unfamiliar situation if the command was run in - a subdirectory that becomes subject to removal due to the command. - The commands have been taught to keep an empty directory if it is - the directory they were started in to avoid surprising users. - - Will merge to 'master'. - source: <pull.1140.v6.git.git.1639026515.gitgitgadget@gmail.com> - - * tl/ls-tree-oid-only (2022-01-03) 8 commits - - ls-tree.c: introduce "--format" option - - ls-tree.c: introduce struct "shown_data" - - ls-tree.c: support --object-only option for "git-ls-tree" - - ls-tree: split up the "init" part of show_tree() - - ls-tree: use "size_t", not "int" for "struct strbuf"'s "len" - - ls-tree: use "enum object_type", not {blob,tree,commit}_type - - ls-tree: add missing braces to "else" arms - - ls-tree: remove commented-out code + . ls-tree.c: introduce "--format" option + . ls-tree.c: introduce struct "shown_data" + . ls-tree.c: support --object-only option for "git-ls-tree" + . ls-tree: split up the "init" part of show_tree() + . ls-tree: use "size_t", not "int" for "struct strbuf"'s "len" + . ls-tree: use "enum object_type", not {blob,tree,commit}_type + . ls-tree: add missing braces to "else" arms + . ls-tree: remove commented-out code "git ls-tree" learns "--oid-only" option, similar to "--name-only". + + Expecting a reroll. + cf. <nycvar.QRO.7.76.6.2201041533540.7076@tvgsbejvaqbjf.bet> + cf. <nycvar.QRO.7.76.6.2201041615560.7076@tvgsbejvaqbjf.bet> source: <cover.1641043500.git.dyroneteng@gmail.com> @@ -909,50 +918,14 @@ Release tarballs are available at: source: <pull.1080.v4.git.1640182856.gitgitgadget@gmail.com> -* xw/am-empty (2021-12-15) 3 commits - (merged to 'next' on 2021-12-27 at 562e1552f6) - + am: support --allow-empty to record specific empty patches - + am: support --empty=<option> to handle empty patches - + doc: git-format-patch: describe the option --always - - "git am" learns "--empty=(stop|drop|keep)" option to tweak what is - done to a piece of e-mail without a patch in it. - - Will merge to 'master'. - source: <pull.1076.v19.git.1639034755.gitgitgadget@gmail.com> - - -* pw/diff-color-moved-fix (2021-12-09) 15 commits - (merged to 'next' on 2021-12-27 at 443dd9f97f) - + diff --color-moved: intern strings - + diff: use designated initializers for emitted_diff_symbol - + diff --color-moved-ws=allow-indentation-change: improve hash lookups - + diff --color-moved: stop clearing potential moved blocks - + diff --color-moved: shrink potential moved blocks as we go - + diff --color-moved: unify moved block growth functions - + diff --color-moved: call comparison function directly - + diff --color-moved-ws=allow-indentation-change: simplify and optimize - + diff: simplify allow-indentation-change delta calculation - + diff --color-moved: avoid false short line matches and bad zebra coloring - + diff --color-moved=zebra: fix alternate coloring - + diff --color-moved: rewind when discarding pmb - + diff --color-moved: factor out function - + diff --color-moved: clear all flags on blocks that are too short - + diff --color-moved: add perf tests - - Correctness and performance update to "diff --color-moved" feature. - - Will merge to 'master'. - source: <pull.981.v5.git.1639045809.gitgitgadget@gmail.com> - - * jc/doc-submitting-patches-choice-of-base (2021-12-30) 1 commit - - SubmittingPatchs: clarify choice of base and testing + (merged to 'next' on 2022-01-05 at eb97c01c24) + + SubmittingPatchs: clarify choice of base and testing Extend the guidance to choose the base commit to build your work on, and hint/nudge contributors to read others' changes. - Will merge to 'next'. + Will merge to 'master'. source: <xmqqh7apsv6s.fsf_-_@gitster.g>