From: Junio C Hamano Date: Tue, 6 Sep 2022 01:47:52 +0000 (-0700) Subject: What's cooking (2022/09 #01) X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5c7ace1a74174fb862db0517b64de9f224d1fc0d;p=thirdparty%2Fgit.git What's cooking (2022/09 #01) --- diff --git a/whats-cooking.txt b/whats-cooking.txt index 4f2a88fe71..10bc5806a4 100644 --- a/whats-cooking.txt +++ b/whats-cooking.txt @@ -1,9 +1,9 @@ To: git@vger.kernel.org -Subject: What's cooking in git.git (Aug 2022, #10; Tue, 30) -X-master-at: d42b38dfb5edf1a7fddd9542d722f91038407819 -X-next-at: 179cf4a1993382e88ddca40c073b2b2f5899be0d +Subject: What's cooking in git.git (Sep 2022, #01; Mon, 5) +X-master-at: 79f2338b3746d23454308648b2491e5beba4beff +X-next-at: 6a6ce2da067c0f93245427725e5f14352452ea04 -What's cooking in git.git (Aug 2022, #10; Tue, 30) +What's cooking in git.git (Sep 2022, #01; Mon, 5) -------------------------------------------------- Here are the topics that have been cooking in my tree. Commits @@ -13,9 +13,10 @@ release). Commits prefixed with '-' are only in 'seen', and aren't considered "accepted" at all. A topic without enough support may be discarded after a long period of no activity. -We are in the middle of week #8 in a 12-week cycle toward Git 2.38 -(tinyurl.com/gitCal). As we have accumulated enough material on -the 'maint' branch, Git 2.37.3 has been tagged. +We just started week #9 in a 12-week cycle toward Git 2.38 +(tinyurl.com/gitCal), but since Monday was a holiday in US, we may +see only four days worth of new patches, which is less work for our +reviewers pool ;-) 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 @@ -48,222 +49,370 @@ Release tarballs are available at: -------------------------------------------------- [Graduated to 'master'] -* ad/preload-plug-memleak (2022-08-22) 1 commit - (merged to 'next' on 2022-08-24 at 1cad371f1c) - + preload-index: fix memleak +* ac/bitmap-lookup-table (2022-08-28) 7 commits + (merged to 'next' on 2022-08-29 at 05d2d2c8bd) + + pack-bitmap-write: drop unused pack_idx_entry parameters + (merged to 'next' on 2022-08-26 at 7914c141eb) + + bitmap-lookup-table: add performance tests for lookup table + + pack-bitmap: prepare to read lookup table extension + + pack-bitmap-write: learn pack.writeBitmapLookupTable and add tests + + pack-bitmap-write.c: write lookup table extension + + bitmap: move `get commit positions` code to `bitmap_writer_finish` + + Documentation/technical: describe bitmap lookup table extension - The preload-index codepath made copies of pathspec to give to - multiple threads, which were left leaked. - source: <20220822211507.8693-2-anthony.2lannoy@gmail.com> + The pack bitmap file gained a bitmap-lookup table to speed up + locating the necessary bitmap for a given commit. + source: -* ds/decorate-filter-tweak (2022-08-05) 11 commits - (merged to 'next' on 2022-08-19 at 064b9daa85) - + fetch: use ref_namespaces during prefetch - + maintenance: stop writing log.excludeDecoration - + log: create log.initialDecorationSet=all - + log: add --clear-decorations option - + log: add default decoration filter - + log-tree: use ref_namespaces instead of if/else-if - + refs: use ref_namespaces for replace refs base - + refs: add array of ref namespaces - + t4207: test coloring of grafted decorations - + t4207: modernize test - + refs: allow "HEAD" as decoration filter +* bc/gc-crontab-fix (2022-08-28) 1 commit + (merged to 'next' on 2022-08-30 at a7a240a4da) + + gc: use temporary file for editing crontab + (this branch is used by jk/test-crontab-fixes.) + + FreeBSD portability fix for "git maintenance" that spawns "crontab" + to schedule tasks. + source: <20220828214143.754759-1-sandals@crustytoothpaste.net> + + +* ds/bundle-uri-clone (2022-08-24) 6 commits + (merged to 'next' on 2022-08-25 at 14754922fa) + + clone: warn on failure to repo_init() + (merged to 'next' on 2022-08-18 at 5e8a3ec71e) + + clone: --bundle-uri cannot be combined with --depth + + bundle-uri: add support for http(s):// and file:// + + clone: add --bundle-uri option + + bundle-uri: create basic file-copy logic + + remote-curl: add 'get' capability + (this branch is used by ds/bundle-uri-3.) - The namespaces used by "log --decorate" from "refs/" hierarchy by - default has been tightened. - source: + Implement "git clone --bundle-uri". + source: + source: <5229519b-3af2-a023-8996-43343b130722@github.com> -* ds/github-actions-use-newer-ubuntu (2022-08-24) 1 commit - (merged to 'next' on 2022-08-24 at 55a76348b2) - + ci: update 'static-analysis' to Ubuntu 22.04 +* en/merge-multi-strategies (2022-08-24) 2 commits + (merged to 'next' on 2022-08-25 at 420e2eae66) + + merge: small code readability improvement + + merge: cleanup confusing logic for handling successful merges - Update the version of Ubuntu used for GitHub Actions CI from 18.04 - to 22.04. - source: + The code that implements multi-strategy support in "git merge" has + been clean-up a bit. + source: -* en/ancestry-path-in-a-range (2022-08-19) 3 commits - (merged to 'next' on 2022-08-19 at 4fce3015b3) - + revision: allow --ancestry-path to take an argument - + t6019: modernize tests with helper - + rev-list-options.txt: fix simple typo +* en/merge-unstash-only-on-clean-merge (2022-08-24) 1 commit + (merged to 'next' on 2022-08-25 at a144bdf6cb) + + merge: only apply autostash when appropriate - "git rev-list --ancestry-path=C A..B" is a natural extension of - "git rev-list A..B"; instead of choosing a subset of A..B to those - that have ancestry relationship with A, it lets a subset with - ancestry relationship with C. - source: + The auto-stashed local changes created by "git merge --autostash" + was mixed into a conflicted state left in the working tree, which + has been corrected. + source: <610b8d089db97bf1a37dbf230f51ecafe3086254.1661222541.git.gitgitgadget@gmail.com> -* en/ort-unused-code-removal (2022-08-19) 1 commit - (merged to 'next' on 2022-08-22 at f09dbeeca3) - + merge-ort: remove code obsoleted by other changes +* en/t4301-more-merge-tree-tests (2022-08-24) 1 commit + (merged to 'next' on 2022-08-25 at c7abf60ff4) + + t4301: add more interesting merge-tree testcases + (this branch is used by es/t4301-sed-portability-fix.) - Code clean-up. - source: + More tests to protect the current behaviour of "merge-tree" before + it gets further updated. + source: + + +* en/test-without-test-create-repo (2022-08-26) 1 commit + (merged to 'next' on 2022-08-30 at 4f80f48e27) + + t64xx: convert 'test_create_repo' to 'git init' + + Test clean-up. + source: -* es/fix-chained-tests (2022-08-24) 4 commits - (merged to 'next' on 2022-08-24 at 6266835a6e) - + t5329: notice a failure within a loop - (merged to 'next' on 2022-08-22 at 3774cfdaf4) - + t: detect and signal failure within loop - + t1092: fix buggy sparse "blame" test - + t2407: fix broken &&-chains in compound statement +* es/t4301-sed-portability-fix (2022-08-29) 4 commits + (merged to 'next' on 2022-08-30 at eec0ceef0a) + + t4301: emit blank line in more idiomatic fashion + + t4301: fix broken &&-chains and add missing loop termination + + t4301: account for behavior differences between sed implementations + + Merge branch 'en/t4301-more-merge-tree-tests' into es/t4301-sed-portability-fix + + Test clean-up. + source: + + +* jk/test-crontab-fixes (2022-08-30) 1 commit + (merged to 'next' on 2022-09-02 at d5113b5be3) + + test-crontab: minor memory and error handling fixes + (this branch uses bc/gc-crontab-fix.) + + Test helper fix. + source: <20220823010120.25388-1-sandals@crustytoothpaste.net> + + +* rs/tempfile-cleanup-race-fix (2022-08-27) 1 commit + (merged to 'next' on 2022-08-30 at 158dd1c910) + + tempfile: avoid directory cleanup race + (this branch is used by jk/tempfile-active-flag-cleanup.) + + The clean-up of temporary files created via mks_tempfile_dt() was + racy and attempted to unlink() the leading directory when signals + are involved, which has been corrected. + source: <526a174e-b179-c284-a21c-7afe0a0b4df2@web.de> - Fix broken "&&-" chains and failures in early iterations of a loop. - source: +* rs/test-mergesort (2022-08-28) 2 commits + (merged to 'next' on 2022-08-30 at 4905149886) + + test-mergesort: use mem_pool for sort input + + test-mergesort: read sort input all at once -* jd/prompt-show-conflict (2022-08-19) 1 commit - (merged to 'next' on 2022-08-19 at 83af487823) - + git-prompt: show presence of unresolved conflicts at command prompt + Optimization of a test-helper command. + source: <128f0fb8-d29b-8622-0cfe-2ecadc999db5@web.de> - The bash prompt (in contrib/) learned to optionally indicate when - the index is unmerged. - source: +* sg/parse-options-subcommand (2022-08-25) 23 commits + (merged to 'next' on 2022-08-25 at dab6bf1439) + + remote: run "remote rm" argv through parse_options() + + maintenance: add parse-options boilerplate for subcommands + + pass subcommand "prefix" arguments to parse_options() + (merged to 'next' on 2022-08-22 at 09d07c2271) + + builtin/worktree.c: let parse-options parse subcommands + + builtin/stash.c: let parse-options parse subcommands + + builtin/sparse-checkout.c: let parse-options parse subcommands + + builtin/remote.c: let parse-options parse subcommands + + builtin/reflog.c: let parse-options parse subcommands + + builtin/notes.c: let parse-options parse subcommands + + builtin/multi-pack-index.c: let parse-options parse subcommands + + builtin/hook.c: let parse-options parse subcommands + + builtin/gc.c: let parse-options parse 'git maintenance's subcommands + + builtin/commit-graph.c: let parse-options parse subcommands + + builtin/bundle.c: let parse-options parse subcommands + + parse-options: add support for parsing subcommands + + parse-options: drop leading space from '--git-completion-helper' output + + parse-options: clarify the limitations of PARSE_OPT_NODASH + + parse-options: PARSE_OPT_KEEP_UNKNOWN only applies to --options + + api-parse-options.txt: fix description of OPT_CMDMODE + + t0040-parse-options: test parse_options() with various 'parse_opt_flags' + + t5505-remote.sh: check the behavior without a subcommand + + t3301-notes.sh: check that default operation mode doesn't take arguments + + git.c: update NO_PARSEOPT markings + (this branch is used by js/bisect-in-c.) -* jk/unused-fixes (2022-08-20) 7 commits - (merged to 'next' on 2022-08-22 at 2fe4de2aed) - + xdiff: drop unused mmfile parameters from xdl_do_patience_diff() - + reflog: assert PARSE_OPT_NONEG in parse-options callbacks - + reftable: drop unused parameter from reader_seek_linear() - + verify_one_sparse(): drop unused parameters - + match_pathname(): drop unused "flags" parameter - + log-tree: drop unused commit param in remerge_diff() - + xdiff: drop unused mmfile parameters from xdl_do_histogram_diff() + Introduce the "subcommand" mode to parse-options API and update the + command line parser of Git commands with subcommands. + source: <20220819160411.1791200-1-szeder.dev@gmail.com> + source: - Code clean-up to remove unused function parameters. - source: - source: +* tb/midx-with-changing-preferred-pack-fix (2022-08-22) 7 commits + (merged to 'next' on 2022-08-26 at 305a9d3323) + + midx.c: avoid adding preferred objects twice + + midx.c: include preferred pack correctly with existing MIDX + + midx.c: extract `midx_fanout_add_pack_fanout()` + + midx.c: extract `midx_fanout_add_midx_fanout()` + + midx.c: extract `struct midx_fanout` + + t/lib-bitmap.sh: avoid silencing stderr + + t5326: demonstrate potential bitmap corruption -* mg/sequencer-untranslate-reflog (2022-08-19) 3 commits - (merged to 'next' on 2022-08-22 at 75aadeb865) - + sequencer: do not translate command names - + sequencer: do not translate parameters to error_resolve_conflict() - + sequencer: do not translate reflog messages + Multi-pack index got corrupted when preferred pack changed from one + pack to another in a certain way, which has been corrected. + source: - The sequencer machinery translated messages left in the reflog by - mistake, which has been corrected. - source: -* mt/rot13-in-c (2022-08-14) 4 commits - (merged to 'next' on 2022-08-19 at 22152a150c) - + tests: use the new C rot13-filter helper to avoid PERL prereq - + t0021: implementation the rot13-filter.pl script in C - + t0021: avoid grepping for a Perl-specific string at filter output - + Merge branch 'mt/checkout-count-fix' into mt/rot13-in-c +-------------------------------------------------- +[Stalled] - Test portability improvements. - source: +* es/mark-gc-cruft-as-experimental (2022-08-03) 2 commits + - config: let feature.experimental imply gc.cruftPacks=true + - gc: add tests for --cruft and friends + Enable gc.cruftpacks by default for those who opt into + feature.experimental setting. -* sg/xcalloc-cocci-fix (2022-08-24) 1 commit - (merged to 'next' on 2022-08-24 at 84c05819d3) - + promisor-remote: fix xcalloc() argument order + Expecting a reroll. + cf. <220804.86a68ke9d5.gmgdl@evledraar.gmail.com> + cf. <6803b725-526e-a1c8-f15c-a9ed4a144d4c@github.com> + source: <20220803205721.3686361-1-emilyshaffer@google.com> - xcalloc(), imitating calloc(), takes "number of elements of the - array", and "size of a single element", in this order. A call that - does not follow this ordering has been corrected. - source: <20220823095733.58685-1-szeder.dev@gmail.com> +* es/doc-creation-factor-fix (2022-07-28) 2 commits + - range-diff: clarify --creation-factor= + - format-patch: clarify --creation-factor= -* tl/trace2-config-scope (2022-08-11) 2 commits - (merged to 'next' on 2022-08-22 at 75a09c7a34) - + tr2: shows scope unconditionally in addition to key-value pair - + api-trace2.txt: print config key-value pair + Expecting a reroll by somebody more familiar with the logic + cf. + source: <7229p500-p2r4-on87-6802-8o90s36rr3s4@tzk.qr> - Tweak trace2 output about configuration variables. - source: +* cw/remote-object-info (2022-08-13) 7 commits + - SQUASH??? + - cat-file: add remote-object-info to batch-command + - transport: add client support for object-info + - serve: advertise object-info feature + - protocol-caps: initialization bug fix + - fetch-pack: move fetch initialization + - fetch-pack: refactor packet writing -* vd/fix-perf-tests (2022-08-19) 2 commits - (merged to 'next' on 2022-08-22 at e68356e624) - + p0006: fix 'read-tree' argument ordering - + p0004: fix prereq declaration + A client component to talk with the object-info endpoint. - Rather trivial perf-test code fixes. - source: + Expecting a reroll. + cf. <20220728230210.2952731-1-calvinwan@google.com> + cf. + source: <20220728230210.2952731-1-calvinwan@google.com> -* vd/scalar-enables-fsmonitor (2022-08-18) 8 commits - (merged to 'next' on 2022-08-19 at 1e172e5647) - + scalar: update technical doc roadmap with FSMonitor support - + scalar unregister: stop FSMonitor daemon - + scalar: enable built-in FSMonitor on `register` - + scalar: move config setting logic into its own function - + scalar-delete: do not 'die()' in 'delete_enlistment()' - + scalar-[un]register: clearly indicate source of error - + scalar-unregister: handle error codes greater than 0 - + scalar: constrain enlistment search - "scalar" now enables built-in fsmonitor on enlisted repositories, - when able. - source: -------------------------------------------------- [New Topics] -* rs/tempfile-cleanup-race-fix (2022-08-27) 1 commit - (merged to 'next' on 2022-08-30 at 158dd1c910) - + tempfile: avoid directory cleanup race +* ab/unused-annotation (2022-09-01) 2 commits + - git-compat-util.h: use "deprecated" for UNUSED variables + - git-compat-util.h: use "UNUSED", not "UNUSED(var)" + (this branch uses jk/unused-annotation.) - The clean-up of temporary files created via mks_tempfile_dt() was - racy and attempted to unlink() the leading directory when signals - are involved, which has been corrected. + Undoes 'jk/unused-annotation' topic and redoes it to work around + Coccinelle rules misfiring false positives in unrelated codepaths. - Will merge to 'master'. - source: <526a174e-b179-c284-a21c-7afe0a0b4df2@web.de> + Will merge to 'next'? + source: -* tb/diffstat-with-utf8-strwidth (2022-08-27) 1 commit - - diff.c: use utf8_strwidth() when appropriate +* ab/coccicheck-incremental (2022-08-31) 9 commits + - spatchcache: add a ccache-alike for "spatch" + - cocci: optimistically use COMPUTE_HEADER_DEPENDENCIES + - cocci: make "coccicheck" rule incremental + - cocci: split off "--all-includes" from SPATCH_FLAGS + - cocci: split off include-less "tests" from SPATCH_FLAGS + - Makefile: split off SPATCH_BATCH_SIZE comment from "cocci" heading + - Makefile: have "coccicheck" re-run if flags change + - Makefile: add ability to TAB-complete cocci *.patch rules + - cocci rules: remove unused "F" metavariable from pending rule - "git diff --stat" etc. were invented back when everything was ASCII - and strlen() was a way to measure the display width of a string; - adjust them to compute the display width assuming UTF-8 pathnames. - source: <20220827085007.20030-1-tboegi@web.de> + source: -* bc/gc-crontab-fix (2022-08-28) 1 commit - (merged to 'next' on 2022-08-30 at a7a240a4da) - + gc: use temporary file for editing crontab +* ab/retire-ppc-sha1 (2022-08-31) 2 commits + (merged to 'next' on 2022-09-05 at 480da6ef06) + + Makefile: use $(OBJECTS) instead of $(C_OBJ) + + Makefile + hash.h: remove PPC_SHA1 implementation - FreeBSD portability fix for "git maintenance" that spawns "crontab" - to schedule tasks. + Remove the assembly version of SHA-1 implementation for PPC. Will merge to 'master'. - source: <20220828214143.754759-1-sandals@crustytoothpaste.net> + source: + + +* en/remerge-diff-fixes (2022-09-02) 3 commits + - diff: fix filtering of merge commits under --remerge-diff + - diff: fix filtering of additional headers under --remerge-diff + - diff: have submodule_format logic avoid additional diff headers + + Fix a few "git log --remerge-diff" bugs. + + Will probably need to rebase to make it mergeable to 'maint'. + source: + + +* es/chainlint (2022-09-01) 18 commits + - t: retire unused chainlint.sed + - t/Makefile: teach `make test` and `make prove` to run chainlint.pl + - test-lib: replace chainlint.sed with chainlint.pl + - test-lib: retire "lint harder" optimization hack + - t/chainlint: add more chainlint.pl self-tests + - chainlint.pl: allow `|| echo` to signal failure upstream of a pipe + - chainlint.pl: complain about loops lacking explicit failure handling + - chainlint.pl: don't flag broken &&-chain if failure indicated explicitly + - chainlint.pl: don't flag broken &&-chain if `$?` handled explicitly + - chainlint.pl: don't require `&` background command to end with `&&` + - t/Makefile: apply chainlint.pl to existing self-tests + - chainlint.pl: don't require `return|exit|continue` to end with `&&` + - chainlint.pl: validate test scripts in parallel + - chainlint.pl: add parser to identify test definitions + - chainlint.pl: add parser to validate tests + - chainlint.pl: add POSIX shell parser + - chainlint.pl: add POSIX shell lexical analyzer + - t: add skeleton chainlint.pl + + Revamp chainlint script for our tests. + source: + + +* jk/tempfile-active-flag-cleanup (2022-08-30) 3 commits + (merged to 'next' on 2022-09-05 at 43ed4656b3) + + tempfile: update comment describing state transitions + + tempfile: drop active flag + + Merge branch 'rs/tempfile-cleanup-race-fix' into jk/tempfile-active-flag-cleanup + Code clean-up. -* en/test-without-test-create-repo (2022-08-26) 1 commit - (merged to 'next' on 2022-08-30 at 4f80f48e27) - + t64xx: convert 'test_create_repo' to 'git init' + Will merge to 'master'. + source: - Test clean-up. - Will merge to 'master'. - source: +* vd/scalar-to-main (2022-09-02) 9 commits + - Documentation/technical: include Scalar technical doc + - t/perf: add 'GIT_PERF_USE_SCALAR' run option + - t/perf: add Scalar performance tests + - scalar-clone: add test coverage + - scalar: add to 'git help -a' command list + - scalar: implement the `help` subcommand + - git help: special-case `scalar` + - scalar: include in standard Git build & installation + - scalar: fix command documentation section header + Hoist the remainder of "scalar" out of contrib/ to the main part of + the codebase. + source: -* es/t4301-sed-portability-fix (2022-08-29) 4 commits - (merged to 'next' on 2022-08-30 at eec0ceef0a) - + t4301: emit blank line in more idiomatic fashion - + t4301: fix broken &&-chains and add missing loop termination - + t4301: account for behavior differences between sed implementations - + Merge branch 'en/t4301-more-merge-tree-tests' into es/t4301-sed-portability-fix - (this branch uses en/t4301-more-merge-tree-tests.) - Test clean-up. +* ad/t1800-cygwin (2022-09-01) 1 commit + - t1800: correct test to handle Cygwin + + Test fix. + + Expecting a reroll. + cf. + source: <20220901173942.abolcr4aa5gixncm@lucy.dinwoodie.org> + + +* jc/diff-no-index-unleak (2022-09-02) 1 commit + - diff --no-index: unleak paths[] elements + + Plug a leak or two in "git diff --no-index". + source: + + +* ow/rev-parse-parseopt-fix (2022-09-02) 1 commit + - rev-parse --parseopt: detect missing opt-spec + + The parser in the script interface to parse-options in "git + rev-parse" has been updated to diagnose a bogus input correctly. + + Will merge to 'next'? + source: <20220902175902.22346-1-oystwa@gmail.com> + + +* vd/sparse-reset-checkout-fixes (2022-09-02) 1 commit + (merged to 'next' on 2022-09-05 at 8c59ace003) + + unpack-trees: fix sparse directory recursion check + + Segfault fix-up to an earlier fix to the topic to teach "git reset" + and "git checkout" work better in a sparse checkout. Will merge to 'master'. - source: + source: + +-------------------------------------------------- +[Cooking] + +* tb/diffstat-with-utf8-strwidth (2022-08-27) 1 commit + - diff.c: use utf8_strwidth() when appropriate + + "git diff --stat" etc. were invented back when everything was ASCII + and strlen() was a way to measure the display width of a string; + adjust them to compute the display width assuming UTF-8 pathnames. + source: <20220827085007.20030-1-tboegi@web.de> * gc/submodule-propagate-branches (2022-08-29) 6 commits @@ -281,40 +430,35 @@ Release tarballs are available at: source: -* rs/test-mergesort (2022-08-28) 2 commits - (merged to 'next' on 2022-08-30 at 4905149886) - + test-mergesort: use mem_pool for sort input - + test-mergesort: read sort input all at once - - Optimization of a test-helper command. - - Will merge to 'master'. - source: <128f0fb8-d29b-8622-0cfe-2ecadc999db5@web.de> - - * jc/format-patch-force-in-body-from (2022-08-29) 3 commits - - format-patch: learn format.forceInBodyFrom configuration variable - - format-patch: allow forcing the use of in-body From: header - - pretty: separate out the logic to decide the use of in-body from + (merged to 'next' on 2022-09-05 at cecaaad60e) + + format-patch: learn format.forceInBodyFrom configuration variable + + format-patch: allow forcing the use of in-body From: header + + pretty: separate out the logic to decide the use of in-body from "git format-patch --from=" can be told to add an in-body "From:" line even for commits that are authored by the given with "--force-in-body-from"option. - Will merge to 'next'? + Will merge to 'master'. source: <20220829213837.13849-1-gitster@pobox.com> -* sy/sparse-grep (2022-08-29) 2 commits +* sy/sparse-grep (2022-09-02) 3 commits + - builtin/grep.c: walking tree instead of expanding index with --sparse - builtin/grep.c: integrate with sparse index - builtin/grep.c: add --sparse option - source: <20220829232843.183711-1-shaoxuan.yuan02@gmail.com> + source: <20220903003623.64750-1-shaoxuan.yuan02@gmail.com> * cc/doc-trailer-whitespace-rules (2022-08-30) 1 commit - - Documentation: clarify whitespace rules for trailers + (merged to 'next' on 2022-09-05 at 4c018a3ab7) + + Documentation: clarify whitespace rules for trailers + Doc update. + + Will merge to 'master'. source: <20220830105046.324041-1-christian.couder@gmail.com> @@ -323,10 +467,11 @@ Release tarballs are available at: - t3701: test the built-in `add -i` regardless of NO_PERL - add -p: avoid ambiguous signed/unsigned comparison + More fixes to "add -p" + + Will merge to 'next'? source: --------------------------------------------------- -[Cooking] * ds/use-platform-regex-on-macos (2022-08-26) 1 commit - grep: fix multibyte regex handling under macOS @@ -347,7 +492,6 @@ Release tarballs are available at: - bundle-uri: create base key-value pair parsing - bundle-uri: create bundle_list struct and helpers - Merge branch 'ds/bundle-uri-clone' into ds/bundle-uri-3 - (this branch uses ds/bundle-uri-clone.) Define the logical elements of a "bundle list", data structure to store them in-core, format to transfer them, and code to parse @@ -357,54 +501,18 @@ Release tarballs are available at: source: -* en/merge-unstash-only-on-clean-merge (2022-08-24) 1 commit - (merged to 'next' on 2022-08-25 at a144bdf6cb) - + merge: only apply autostash when appropriate - - The auto-stashed local changes created by "git merge --autostash" - was mixed into a conflicted state left in the working tree, which - has been corrected. - - Will merge to 'master'. - source: <610b8d089db97bf1a37dbf230f51ecafe3086254.1661222541.git.gitgitgadget@gmail.com> - - -* en/merge-multi-strategies (2022-08-24) 2 commits - (merged to 'next' on 2022-08-25 at 420e2eae66) - + merge: small code readability improvement - + merge: cleanup confusing logic for handling successful merges - - The code that implements multi-strategy support in "git merge" has - been clean-up a bit. - - Will merge to 'master'. - source: - - -* en/t4301-more-merge-tree-tests (2022-08-24) 1 commit - (merged to 'next' on 2022-08-25 at c7abf60ff4) - + t4301: add more interesting merge-tree testcases - (this branch is used by es/t4301-sed-portability-fix.) - - More tests to protect the current behaviour of "merge-tree" before - it gets further updated. - - Will merge to 'master'. - source: - - -* js/add-p-diff-parsing-fix (2022-08-29) 5 commits - - add -p: ignore dirty submodules - - add -p: handle `diff-so-fancy`'s hunk headers better - - add -p: insert space in colored hunk header as needed - - add -p: gracefully ignore unparseable hunk headers in colored diffs - - t3701: redefine what is "bogus" output of a diff filter +* js/add-p-diff-parsing-fix (2022-09-01) 3 commits + (merged to 'next' on 2022-09-02 at 1545e0898d) + + add -p: ignore dirty submodules + + add -p: gracefully handle unparseable hunk headers in colored diffs + + add -p: detect more mismatches between plain vs colored diffs Those who use diff-so-fancy as the diff-filter noticed a regression - or two in the reimplemented "add -p", which has been corrected. + or two in the code that parses the diff output in the built-in + version of "add -p", which has been corrected. - Will merge to 'next'? - source: + Will merge to 'master'. + source: * js/cmake-updates (2022-08-24) 5 commits @@ -421,13 +529,14 @@ Release tarballs are available at: * js/range-diff-with-pathspec (2022-08-26) 3 commits - - range-diff: optionally accept pathspecs - - range-diff: consistently validate the arguments - - range-diff: reorder argument handling + (merged to 'next' on 2022-09-05 at c027222552) + + range-diff: optionally accept pathspecs + + range-diff: consistently validate the arguments + + range-diff: reorder argument handling Allow passing a pathspec to "git range-diff". - Will merge to 'next'? + Will merge to 'master'. source: @@ -444,37 +553,23 @@ Release tarballs are available at: + refs: mark unused reflog callback parameters + refs: mark unused each_ref_fn parameters + git-compat-util: add UNUSED macro + (this branch is used by ab/unused-annotation.) Annotate function parameters that are not used (but cannot be removed for structural reasons), to prepare us to later compile with -Wunused warning turned on. - Will revert; coccinelle cannot even parse the annotation correctly. + Will keep but 'ab/unused-annotation' will undo/redo the whole thing. cf. cf. source: -* tb/midx-with-changing-preferred-pack-fix (2022-08-22) 7 commits - (merged to 'next' on 2022-08-26 at 305a9d3323) - + midx.c: avoid adding preferred objects twice - + midx.c: include preferred pack correctly with existing MIDX - + midx.c: extract `midx_fanout_add_pack_fanout()` - + midx.c: extract `midx_fanout_add_midx_fanout()` - + midx.c: extract `struct midx_fanout` - + t/lib-bitmap.sh: avoid silencing stderr - + t5326: demonstrate potential bitmap corruption - - Multi-pack index got corrupted when preferred pack changed from one - pack to another in a certain way, which has been corrected. - - Will merge to 'master'. - source: - - -* ed/fsmonitor-on-network-disk (2022-08-24) 3 commits - - Check working directory and Unix domain socket file for compatability - - fsmonitor: macOS: allow fsmonitor to run against network-mounted repos +* ed/fsmonitor-on-network-disk (2022-08-31) 5 commits + - fsmonitor: normalize FSEvents event paths to the real path + - fsmonitor: ensure filesystem and unix socket filesystem are compatible + - fsmonitor: generate unique Unix socket file name in the desired location + - fsmonitor: add two new config options, allowRemote and socketDir (merged to 'next' on 2022-08-14 at 637d458d9c) + fsmonitor: option to allow fsmonitor to run against network-mounted repos @@ -484,7 +579,7 @@ Release tarballs are available at: Needs review. source: - source: + source: * pw/rebase-keep-base-fixes (2022-08-18) 5 commits @@ -551,129 +646,55 @@ Release tarballs are available at: source: <20220809120910.2021413-1-shaoxuan.yuan02@gmail.com> -* es/mark-gc-cruft-as-experimental (2022-08-03) 2 commits - - config: let feature.experimental imply gc.cruftPacks=true - - gc: add tests for --cruft and friends - - Enable gc.cruftpacks by default for those who opt into - feature.experimental setting. - - Expecting a reroll. - cf. <220804.86a68ke9d5.gmgdl@evledraar.gmail.com> - cf. <6803b725-526e-a1c8-f15c-a9ed4a144d4c@github.com> - source: <20220803205721.3686361-1-emilyshaffer@google.com> - - -* sg/parse-options-subcommand (2022-08-25) 23 commits - (merged to 'next' on 2022-08-25 at dab6bf1439) - + remote: run "remote rm" argv through parse_options() - + maintenance: add parse-options boilerplate for subcommands - + pass subcommand "prefix" arguments to parse_options() - (merged to 'next' on 2022-08-22 at 09d07c2271) - + builtin/worktree.c: let parse-options parse subcommands - + builtin/stash.c: let parse-options parse subcommands - + builtin/sparse-checkout.c: let parse-options parse subcommands - + builtin/remote.c: let parse-options parse subcommands - + builtin/reflog.c: let parse-options parse subcommands - + builtin/notes.c: let parse-options parse subcommands - + builtin/multi-pack-index.c: let parse-options parse subcommands - + builtin/hook.c: let parse-options parse subcommands - + builtin/gc.c: let parse-options parse 'git maintenance's subcommands - + builtin/commit-graph.c: let parse-options parse subcommands - + builtin/bundle.c: let parse-options parse subcommands - + parse-options: add support for parsing subcommands - + parse-options: drop leading space from '--git-completion-helper' output - + parse-options: clarify the limitations of PARSE_OPT_NODASH - + parse-options: PARSE_OPT_KEEP_UNKNOWN only applies to --options - + api-parse-options.txt: fix description of OPT_CMDMODE - + t0040-parse-options: test parse_options() with various 'parse_opt_flags' - + t5505-remote.sh: check the behavior without a subcommand - + t3301-notes.sh: check that default operation mode doesn't take arguments - + git.c: update NO_PARSEOPT markings - (this branch is used by js/bisect-in-c.) - - Introduce the "subcommand" mode to parse-options API and update the - command line parser of Git commands with subcommands. - - Will merge to 'master'. - source: <20220819160411.1791200-1-szeder.dev@gmail.com> - source: - - -* ds/bundle-uri-clone (2022-08-24) 6 commits - (merged to 'next' on 2022-08-25 at 14754922fa) - + clone: warn on failure to repo_init() - (merged to 'next' on 2022-08-18 at 5e8a3ec71e) - + clone: --bundle-uri cannot be combined with --depth - + bundle-uri: add support for http(s):// and file:// - + clone: add --bundle-uri option - + bundle-uri: create basic file-copy logic - + remote-curl: add 'get' capability - (this branch is used by ds/bundle-uri-3.) - - Implement "git clone --bundle-uri". - - Will merge to 'master'. - source: - source: <5229519b-3af2-a023-8996-43343b130722@github.com> - - -* es/doc-creation-factor-fix (2022-07-28) 2 commits - - range-diff: clarify --creation-factor= - - format-patch: clarify --creation-factor= - - Expecting a reroll by somebody more familiar with the logic - cf. - source: <7229p500-p2r4-on87-6802-8o90s36rr3s4@tzk.qr> - - -* ab/submodule-helper-prep (2022-08-22) 32 commits - - submodule--helper: fix bad config API usage - - submodule--helper: libify even more "die" paths for module_update() - - submodule--helper: libify more "die" paths for module_update() - - submodule--helper: check repo{_submodule,}_init() return values - - submodule--helper: libify "must_die_on_failure" code paths (for die) - - submodule--helper update: don't override 'checkout' exit code - - submodule--helper: libify "must_die_on_failure" code paths - - submodule--helper: libify determine_submodule_update_strategy() - - submodule--helper: don't exit() on failure, return - - submodule--helper: use "code" in run_update_command() - - submodule API: don't handle SM_..{UNSPECIFIED,COMMAND} in to_string() - - submodule--helper: don't call submodule_strategy_to_string() in BUG() - - submodule--helper: add missing braces to "else" arm - - submodule--helper: return "ret", not "1" from update_submodule() - - submodule--helper: rename "int res" to "int ret" - - submodule--helper: don't redundantly check "else if (res)" - - submodule--helper: refactor "errmsg_str" to be a "struct strbuf" - - submodule--helper: add "const" to copy of "update_data" - - submodule--helper: add "const" to passed "module_clone_data" - - submodule--helper: move "sb" in clone_submodule() to its own scope - - submodule--helper: use xstrfmt() in clone_submodule() - - submodule--helper: replace memset() with { 0 }-initialization - - submodule--helper style: add \n\n after variable declarations - - submodule--helper style: don't separate declared variables with \n\n - - submodule--helper: move "resolve-relative-url-test" to a test-tool - - submodule--helper: move "check-name" to a test-tool - - submodule--helper: move "is-active" to a test-tool - - test-tool submodule-config: remove unused "--url" handling - - submodule--helper: remove unused "list" helper - - submodule--helper: remove unused "name" helper - - submodule tests: test for "add " - - submodule tests: test usage behavior +* ab/submodule-helper-prep (2022-09-02) 33 commits + (merged to 'next' on 2022-09-05 at b0d1b6ada7) + + submodule--helper: fix bad config API usage + + submodule--helper: libify even more "die" paths for module_update() + + submodule--helper: libify more "die" paths for module_update() + + submodule--helper: check repo{_submodule,}_init() return values + + submodule--helper: libify "must_die_on_failure" code paths (for die) + + submodule--helper update: don't override 'checkout' exit code + + submodule--helper: libify "must_die_on_failure" code paths + + submodule--helper: libify determine_submodule_update_strategy() + + submodule--helper: don't exit() on failure, return + + submodule--helper: use "code" in run_update_command() + + submodule API: don't handle SM_..{UNSPECIFIED,COMMAND} in to_string() + + submodule--helper: don't call submodule_strategy_to_string() in BUG() + + submodule--helper: add missing braces to "else" arm + + submodule--helper: return "ret", not "1" from update_submodule() + + submodule--helper: rename "int res" to "int ret" + + submodule--helper: don't redundantly check "else if (res)" + + submodule--helper: refactor "errmsg_str" to be a "struct strbuf" + + submodule--helper: add "const" to passed "struct update_data" + + submodule--helper: add "const" to copy of "update_data" + + submodule--helper: add "const" to passed "module_clone_data" + + submodule--helper: move "sb" in clone_submodule() to its own scope + + submodule--helper: use xstrfmt() in clone_submodule() + + submodule--helper: replace memset() with { 0 }-initialization + + submodule--helper style: add \n\n after variable declarations + + submodule--helper style: don't separate declared variables with \n\n + + submodule--helper: move "resolve-relative-url-test" to a test-tool + + submodule--helper: move "check-name" to a test-tool + + submodule--helper: move "is-active" to a test-tool + + test-tool submodule-config: remove unused "--url" handling + + submodule--helper: remove unused "list" helper + + submodule--helper: remove unused "name" helper + + submodule tests: test for "add " + + submodule tests: test usage behavior (this branch is used by ab/submodule-helper-leakfix.) Code clean-up of "git submodule--helper". - Under review. - source: + Will merge to 'master'. + source: -* ab/dedup-config-and-command-docs (2022-07-29) 9 commits +* ab/dedup-config-and-command-docs (2022-08-31) 9 commits - docs: add CONFIGURATION sections that fuzzy map to built-ins - docs: add CONFIGURATION sections that map to a built-in - log docs: de-duplicate configuration sections - difftool docs: de-duplicate configuration sections - - notes docs: de-duplicate configuration sections + - notes docs: de-duplicate and combine configuration sections - apply docs: de-duplicate configuration sections - send-email docs: de-duplicate configuration sections - grep docs: de-duplicate configuration sections @@ -681,32 +702,10 @@ Release tarballs are available at: Share the text used to explain configuration variables used by "git " in "git help " with the text from "git help config". + source: - Expecting a reroll. - cf. - cf. - cf. - source: - - -* cw/remote-object-info (2022-08-13) 7 commits - - SQUASH??? - - cat-file: add remote-object-info to batch-command - - transport: add client support for object-info - - serve: advertise object-info feature - - protocol-caps: initialization bug fix - - fetch-pack: move fetch initialization - - fetch-pack: refactor packet writing - A client component to talk with the object-info endpoint. - - Expecting a reroll. - cf. <20220728230210.2952731-1-calvinwan@google.com> - cf. - source: <20220728230210.2952731-1-calvinwan@google.com> - - -* ab/submodule-helper-leakfix (2022-08-22) 18 commits +* ab/submodule-helper-leakfix (2022-09-02) 18 commits - submodule--helper: fix a configure_added_submodule() leak - submodule--helper: free rest of "displaypath" in "struct update_data" - submodule--helper: free some "displaypath" in "struct update_data" @@ -729,8 +728,8 @@ Release tarballs are available at: Plugging leaks in submodule--helper. - Waiting for the "prep" step. - source: + Will merge to 'next'? + source: * po/glossary-around-traversal (2022-07-09) 3 commits @@ -746,25 +745,7 @@ Release tarballs are available at: source: -* ac/bitmap-lookup-table (2022-08-28) 7 commits - (merged to 'next' on 2022-08-29 at 05d2d2c8bd) - + pack-bitmap-write: drop unused pack_idx_entry parameters - (merged to 'next' on 2022-08-26 at 7914c141eb) - + bitmap-lookup-table: add performance tests for lookup table - + pack-bitmap: prepare to read lookup table extension - + pack-bitmap-write: learn pack.writeBitmapLookupTable and add tests - + pack-bitmap-write.c: write lookup table extension - + bitmap: move `get commit positions` code to `bitmap_writer_finish` - + Documentation/technical: describe bitmap lookup table extension - - The pack bitmap file gained a bitmap-lookup table to speed up - locating the necessary bitmap for a given commit. - - Will merge to 'master'. - source: - - -* js/bisect-in-c (2022-08-27) 17 commits +* js/bisect-in-c (2022-08-30) 17 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 @@ -782,51 +763,6 @@ Release tarballs are available at: - bisect--helper: really retire --bisect-next-check - bisect--helper: retire the --no-log option - Merge branch 'sg/parse-options-subcommand' into js/bisect-in-c - (this branch uses sg/parse-options-subcommand.) Final bits of "git bisect.sh" have been rewritten in C. - - Expecting a (hopefully final) reroll. - cf. <20627.86ilolhnnn.gmgdl@evledraar.gmail.com> - source: - --------------------------------------------------- -[Discarded] - -* jt/connected-show-missing-from-which-side (2022-06-10) 1 commit - . fetch,fetch-pack: clarify connectivity check error - - We may find an object missing after a "git fetch" stores the - objects it obtained from the other side, but it is not necessarily - because the remote failed to send necessary objects. Reword the - messages in an attempt to help users explore other possibilities - when they hit this error. - - In stalled state for too long. - Also it seems to break t5326 with sha256. - source: <20220610195247.1177549-1-jonathantanmy@google.com> - - -* js/merge-tree-without-munging-filenames (2022-08-19) 3 commits - . t4301: add a test case involving a rename, type change & modification - . merge-tree: show the original file names in the conflict output - . merge-tree -z: always show the original file name first - - "git merge-tree" output was improved to help "merging without - working tree" usecase better in a few ways. - - Retracted for now. - cf. <9p08998o-n88r-2nno-8703-s99o5qpn9o35@tzk.qr> - source: - - -* tb/show-ref-count (2022-06-06) 2 commits - . builtin/show-ref.c: limit output with `--count` - . builtin/show-ref.c: rename `found_match` to `matches_nr` - - "git show-ref" learned to stop after emitting N refs with the new - "--count=N" option. - - Retracted for now. - cf. - source: + source: