{"thread":{"id":"59003","subject":"What's cooking in git.git (Dec 2022, #07; Mon, 26)","startedAt":"2022-12-26T03:38:16Z","lastAt":"2022-12-28T08:43:49Z","messageCount":6,"participants":["Junio C Hamano","Ævar Arnfjörð Bjarmason"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"469536","messageId":"xmqqcz86n8bn.fsf@gitster.g","threadId":"59003","inReplyTo":null,"subject":"What's cooking in git.git (Dec 2022, #07; Mon, 26)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2022-12-26T03:38:04Z","receivedAt":"2022-12-26T03:38:16Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Here are the topics that have been cooking in my tree.  Commits\nprefixed with '+' are in 'next' (being in 'next' is a sign that a\ntopic is stable enough to be used and are candidate to be in a future\nrelease).  Commits prefixed with '-' are only in 'seen', and aren't\nconsidered \"accepted\" at all.  A topic without enough support may be\ndiscarded after a long period of no activity.\n\nCopies of the source code to Git live in many repositories, and the\nfollowing is a list of the ones I push into or their mirrors.  Some\nrepositories have only a subset of branches.\n\nWith maint, master, next, seen, todo:\n\n\tgit://git.kernel.org/pub/scm/git/git.git/\n\tgit://repo.or.cz/alt-git.git/\n\thttps://kernel.googlesource.com/pub/scm/git/git/\n\thttps://github.com/git/git/\n\thttps://gitlab.com/git-vcs/git/\n\nWith all the integration branches and topics broken out:\n\n\thttps://github.com/gitster/git/\n\nEven though the preformatted documentation in HTML and man format\nare not sources, they are published in these repositories for\nconvenience (replace \"htmldocs\" with \"manpages\" for the manual\npages):\n\n\tgit://git.kernel.org/pub/scm/git/git-htmldocs.git/\n\thttps://github.com/gitster/git-htmldocs.git/\n\nRelease tarballs are available at:\n\n\thttps://www.kernel.org/pub/software/scm/git/\n\n--------------------------------------------------\n[New Topics]\n\n* ab/avoid-losing-exit-codes-in-tests (2022-12-20) 6 commits\n - tests: don't lose misc \"git\" exit codes\n - tests: don't lose \"git\" exit codes in \"! ( git ... | grep )\"\n - tests: don't lose exit status with \"test <op> $(git ...)\"\n - tests: don't lose exit status with \"(cd ...; test <op> $(git ...))\"\n - t/lib-patch-mode.sh: fix ignored exit codes\n - auto-crlf tests: don't lose exit code in loops and outside tests\n\n Test clean-up.\n\n Will merge to 'next'?\n source: <cover-v4-0.6-00000000000-20221219T101240Z-avarab@gmail.com>\n\n\n* cw/ci-whitespace (2022-12-20) 3 commits\n - ci (check-whitespace): move to actions/checkout@v3\n - ci (check-whitespace): add links to job output\n - ci (check-whitespace): suggest fixes for errors\n\n CI updates.\n\n Will merge to 'next'?\n source: <pull.1444.v2.git.1671496548.gitgitgadget@gmail.com>\n\n\n* dh/mingw-ownership-check-typofix (2022-12-20) 1 commit\n - mingw: fix typo in an error message from ownership check\n\n Error message typofix.\n\n Will merge to 'next'?\n source: <pull.1393.git.git.1671416810927.gitgitgadget@gmail.com>\n\n\n* js/ci-disable-cmake-by-default (2022-12-20) 1 commit\n - ci: only run win+VS build & tests in Git for Windows' fork\n\n Stop running win+VS build by default.\n\n Will merge to 'next'?\n source: <pull.1445.git.1671461414191.gitgitgadget@gmail.com>\n\n\n* sg/test-oid-wo-incomplete-line (2022-12-19) 1 commit\n - tests: make 'test_oid' print trailing newline\n\n Test helper updates.\n\n Will merge to 'next'?\n source: <20221218162905.3508164-1-szeder.dev@gmail.com>\n\n\n* ab/bundle-wo-args (2022-12-25) 1 commit\n  (merged to 'next' on 2022-12-26 at b086677fd0)\n + bundle: don't segfault on \"git bundle <subcmd>\"\n\n Fix to a small regression in 2.38 days.\n\n Will merge to 'master'.\n source: <patch-1.1-2319eb2ddbd-20221220T133941Z-avarab@gmail.com>\n\n\n* ad/test-record-count-when-harness-is-in-use (2022-12-25) 1 commit\n - test-lib: allow storing counts with test harnesses\n\n Allow summary results from tests to be written to t/test-results\n directory even when a test harness like 'prove' is in use.\n\n Comments?\n source: <20221224225200.1027806-1-adam@dinwoodie.org>\n\n\n* ps/fsync-refs-fix (2022-12-25) 1 commit\n  (merged to 'next' on 2022-12-26 at 6358875b39)\n + refs: fix corruption by not correctly syncing packed-refs to disk\n\n Fix the sequence to fsync $GIT_DIR/packed-refs file that forgot to\n flush its output to the disk..\n\n Will merge to 'master'.\n source: <8c8ecf8e3718cbca049ee7a283edd7b7887e464e.1671547905.git.ps@pks.im>\n\n\n* sk/win32-pthread-exit-fix (2022-12-25) 1 commit\n  (merged to 'next' on 2022-12-26 at ebcb1fef4c)\n + win32: use _endthreadex to terminate threads, not ExitThread\n\n An API emulation fix.\n\n Will merge to 'master'.\n source: <pull.1414.v2.git.git.1671932510529.gitgitgadget@gmail.com>\n\n\n* sk/win32-close-handle-upon-pthread-join (2022-12-26) 2 commits\n - win32: close handles of threads that have been joined\n - win32-pthread: prepare pthread.c for change by formatting\n\n source: <pull.1406.v12.git.git.1671932405.gitgitgadget@gmail.com>\n\n--------------------------------------------------\n[Graduated to 'master']\n\n* ab/darwin-default-to-sha1dc (2022-12-16) 1 commit\n  (merged to 'next' on 2022-12-16 at 31fb33b832)\n + Makefile: use sha1collisiondetection by default on OSX and Darwin\n\n Use the SHA1DC implementation on macOS, just like other platforms,\n by default.\n source: <patch-v2-1.1-3de7cdbd260-20221215T084129Z-avarab@gmail.com>\n\n\n* ab/t4023-avoid-losing-exit-status-of-diff (2022-12-05) 1 commit\n  (merged to 'next' on 2022-12-16 at 75c7a06930)\n + t4023: fix ignored exit codes of git\n\n Test fix.\n source: <patch-v2-3.8-c5feef1c808-20221202T000227Z-avarab@gmail.com>\n\n\n* ab/t5314-avoid-losing-exit-status (2022-12-02) 1 commit\n  (merged to 'next' on 2022-12-16 at 40f3acd249)\n + t5314: check exit code of \"git\"\n\n Test fix.\n source: <patch-v2-1.1-ca77a7249e6-20221128T141818Z-avarab@gmail.com>\n\n\n* ab/t7600-avoid-losing-exit-status-of-git (2022-12-05) 1 commit\n  (merged to 'next' on 2022-12-16 at ef89e4f2d1)\n + t7600: don't ignore \"rev-parse\" exit code in helper\n\n Test fix.\n source: <patch-v3-1.8-64dfec31fb3-20221202T114733Z-avarab@gmail.com>\n\n\n* aw/complete-case-insensitive (2022-11-30) 2 commits\n  (merged to 'next' on 2022-12-16 at 341974c2bb)\n + completion: add case-insensitive match of pseudorefs\n + completion: add optional ignore-case when matching refs\n\n Introduce a case insensitive mode to the Bash completion helpers.\n source: <pull.1374.v2.git.git.1668990419.gitgitgadget@gmail.com>\n\n\n* jh/fsmonitor-darwin-modernize (2022-12-15) 1 commit\n  (merged to 'next' on 2022-12-16 at 197e1f8c43)\n + fsmonitor: eliminate call to deprecated FSEventStream function\n\n Stop using deprecated macOS API in fsmonitor.\n source: <pull.1436.v2.git.1671045153981.gitgitgadget@gmail.com>\n\n\n* jh/t7527-unflake-by-forcing-cookie (2022-12-02) 1 commit\n  (merged to 'next' on 2022-12-16 at d64198c6c3)\n + fsmonitor: fix race seen in t7527\n\n Make fsmonitor more robust to avoid the flakiness seen in t7527.\n source: <pull.1437.git.1669937534944.gitgitgadget@gmail.com>\n\n\n* jk/avoid-redef-system-functions (2022-12-05) 3 commits\n  (merged to 'next' on 2022-12-16 at 55f7102dba)\n + Merge branch 'jk/avoid-redef-system-functions-2.30' into jk/avoid-redef-system-functions\n + Merge branch 'jk/avoid-redef-system-functions-2.30'\n + Merge branch 'jk/avoid-redef-system-functions-2.30' into maint\n (this branch uses jk/avoid-redef-system-functions-2.30.)\n\n The jk/avoid-redef-system-functions-2.30 topic pre-merged for more\n recent codebase.\n\n\n* jk/avoid-redef-system-functions-2.30 (2022-12-05) 2 commits\n  (merged to 'next' on 2022-12-16 at aa101dfc0c)\n + git-compat-util: undefine system names before redeclaring them\n + git-compat-util: avoid redefining system function names\n (this branch is used by jk/avoid-redef-system-functions.)\n\n Redefining system functions for a few functions did not follow our\n usual \"implement git_foo() and #define foo(args) git_foo(args)\"\n pattern, which has broken build for some folks.\n source: <Y4fH4rhcSztHwKvK@coredump.intra.peff.net>\n\n\n* jk/ref-filter-error-reporting-fix (2022-12-15) 5 commits\n  (merged to 'next' on 2022-12-16 at 8135d51462)\n + ref-filter: convert email atom parser to use err_bad_arg()\n + ref-filter: truncate atom names in error messages\n + ref-filter: factor out \"unrecognized %(foo) arg\" errors\n + ref-filter: factor out \"%(foo) does not take arguments\" errors\n + ref-filter: reject arguments to %(HEAD)\n\n Clean-ups in error messages produced by \"git for-each-ref\" and friends.\n source: <Y5n3S7cnD7s/AIRL@coredump.intra.peff.net>\n\n\n* jk/server-supports-v2-cleanup (2022-12-13) 1 commit\n  (merged to 'next' on 2022-12-16 at 9b995dc263)\n + server_supports_v2(): use a separate function for die_on_error\n\n Code clean-up.\n source: <Y5hZirNRGLQUZfOZ@coredump.intra.peff.net>\n\n\n* jk/unused-post-2.39 (2022-12-13) 9 commits\n  (merged to 'next' on 2022-12-16 at 4ce4a868e5)\n + userdiff: mark unused parameter in internal callback\n + list-objects-filter: mark unused parameters in virtual functions\n + diff: mark unused parameters in callbacks\n + xdiff: mark unused parameter in xdl_call_hunk_func()\n + xdiff: drop unused parameter in def_ff()\n + ws: drop unused parameter from ws_blank_line()\n + list-objects: drop process_gitlink() function\n + blob: drop unused parts of parse_blob_buffer()\n + ls-refs: use repository parameter to iterate refs\n\n Code clean-up around unused function parameters.\n source: <Y5hdvpbLpXySHFRz@coredump.intra.peff.net>\n\n\n* js/t3920-shell-and-or-fix (2022-12-05) 1 commit\n  (merged to 'next' on 2022-12-16 at 59536ed758)\n + t3920: don't ignore errors of more than one command with `|| true`\n (this branch is used by rs/t3920-crlf-eating-grep-fix.)\n\n Test fix.\n source: <febcfb0a-c410-fb71-cff9-92acfcb269e2@kdbg.org>\n\n\n* jt/http-fetch-trace2-report-name (2022-12-13) 1 commit\n  (merged to 'next' on 2022-12-16 at b26e38cdb2)\n + http-fetch: invoke trace2_cmd_name()\n\n \"git http-fetch\" (which is rarely used) forgot to identify itself\n in the trace2 output.\n source: <20221212224630.2553391-1-jonathantanmy@google.com>\n\n\n* pg/diff-stat-unmerged-regression-fix (2022-12-15) 1 commit\n  (merged to 'next' on 2022-12-16 at 2a61376847)\n + diff: fix regression with --stat and unmerged file\n\n The output from \"git diff --stat\" on an unmerged path lost the\n terminating LF in Git 2.39, which has been corrected.\n source: <20221214174150.404821-1-pete@jpgrayson.net>\n\n\n* rj/branch-copy-and-rename (2022-11-17) 1 commit\n  (merged to 'next' on 2022-12-16 at b88fa41a8a)\n + branch: force-copy a branch to itself via @{-1} is a no-op\n\n Fix a pair of bugs in 'git branch'.\n source: <f0b2d46c-2e9c-2630-2870-8ed550dd1606@gmail.com>\n\n\n* rr/status-untracked-advice (2022-12-01) 1 commit\n  (merged to 'next' on 2022-12-16 at bed7d84d07)\n + status: modernize git-status \"slow untracked files\" advice\n\n The advice message given by \"git status\" when it takes long time to\n enumerate untracked paths has been updated.\n source: <pull.1384.v9.git.1669769536707.gitgitgadget@gmail.com>\n\n\n* rs/am-parse-options-cleanup (2022-12-13) 1 commit\n  (merged to 'next' on 2022-12-16 at 9013ff2a19)\n + am: don't pass strvec to apply_parse_options()\n\n Code clean-up.\n source: <baf93e4a-7f05-857c-e551-09675496c03c@web.de>\n\n\n* rs/clarify-error-in-write-loose-object (2022-12-14) 1 commit\n  (merged to 'next' on 2022-12-16 at 8ef4588405)\n + object-file: inline write_buffer()\n\n Code clean-up.\n source: <94dff140-489c-40b2-7212-201ed3b7d008@web.de>\n\n\n* rs/clear-commit-marks-cleanup (2022-12-13) 1 commit\n  (merged to 'next' on 2022-12-16 at a9e52a7cef)\n + commit: skip already cleared parents in clear_commit_marks_1()\n\n Code clean-up.\n source: <7cf2ea1f-8dbf-5639-3874-86de391ae20a@web.de>\n\n\n* rs/diff-parseopts (2022-12-02) 3 commits\n  (merged to 'next' on 2022-12-16 at 6fdfd67cb9)\n + diff: remove parseopts member from struct diff_options\n + diff: use add_diff_options() in diff_opt_parse()\n + diff: factor out add_diff_options()\n\n The way the diff machinery prepares the options array for the\n parse_options API has been refactored to avoid resource leaks.\n source: <19325420-5630-87bb-0c2c-362151214b36@web.de>\n\n\n* rs/plug-pattern-list-leak-in-lof (2022-12-02) 1 commit\n  (merged to 'next' on 2022-12-16 at 5cc6d4165a)\n + list-objects-filter: plug pattern_list leak\n\n Leak fix.\n source: <b4361c3e-852b-e30c-f240-86c34bc9c474@web.de>\n\n\n* rs/reflog-expiry-cleanup (2022-12-13) 1 commit\n  (merged to 'next' on 2022-12-16 at 8165a625dd)\n + reflog: clear leftovers in reflog_expiry_cleanup()\n\n Code clean-up.\n source: <a53d4df3-4b2c-585a-e8ad-2a9b9017fb8c@web.de>\n\n\n* rs/t3920-crlf-eating-grep-fix (2022-12-07) 1 commit\n  (merged to 'next' on 2022-12-16 at 56ff27beaa)\n + t3920: support CR-eating grep\n (this branch uses js/t3920-shell-and-or-fix.)\n\n Test fix.\n source: <cbe88abc-c1fb-cb50-6057-47ff27f7a12d@web.de>\n\n\n* rs/t4205-do-not-exit-in-test-script (2022-12-02) 1 commit\n  (merged to 'next' on 2022-12-16 at 71b4de7729)\n + t4205: don't exit test script on failure\n\n Test fix.\n source: <c5b4d091-23c1-5a75-a255-99ec83973d8d@web.de>\n\n\n* sg/help-autocorrect-config-fix (2022-12-13) 1 commit\n  (merged to 'next' on 2022-12-16 at edcf99f34c)\n + help.c: fix autocorrect in work tree for bare repository\n\n The code to auto-correct a misspelt subcommand unnecessarily called\n into git_default_config() from the early config codepath, which was\n a no-no.  This has bee corrected.\n source: <pull.1373.v2.git.git.1667073374852.gitgitgadget@gmail.com>\n\n\n* sk/remove-duplicate-includes (2022-12-15) 1 commit\n  (merged to 'next' on 2022-12-16 at 846bc84e59)\n + git: remove duplicate includes\n\n Code clean-up.\n source: <pull.1394.git.git.1671036743272.gitgitgadget@gmail.com>\n\n\n* sx/pthread-error-check-fix (2022-12-05) 1 commit\n  (merged to 'next' on 2022-12-16 at 60848153fe)\n + maintenance: compare output of pthread functions for inequality with 0\n\n Correct pthread API usage.\n source: <pull.1389.git.git.1670000578395.gitgitgadget@gmail.com>\n\n--------------------------------------------------\n[Cooking]\n\n* ab/no-more-git-global-super-prefix (2022-12-26) 9 commits\n - read-tree: add \"--super-prefix\" option, eliminate global\n - submodule--helper: convert \"{update,clone}\" to their own \"--super-prefix\"\n - submodule--helper: convert \"status\" to its own \"--super-prefix\"\n - submodule--helper: convert \"sync\" to its own \"--super-prefix\"\n - submodule--helper: convert \"foreach\" to its own \"--super-prefix\"\n - submodule--helper: don't use global --super-prefix in \"absorbgitdirs\"\n - submodule.c & submodule--helper: pass along \"super_prefix\" param\n - read-tree + fetch tests: test failing \"--super-prefix\" interaction\n - submodule absorbgitdirs tests: add missing \"Migrating git...\" tests\n\n Stop using \"git --super-prefix\" and narrow the scope of its use to\n the submodule--helper.\n\n Will merge to 'next'.\n source: <cover-v5-0.9-00000000000-20221220T104519Z-avarab@gmail.com>\n\n\n* cb/grep-fallback-failing-jit (2022-12-17) 1 commit\n - grep: fall back to interpreter mode if JIT fails\n\n In an environment where dynamically generated code is prohibited to\n run (e.g. SELinux), failure to JIT pcre patterns is expected.  Fall\n back to interpreted execution in such a case.\n\n Expecting a reroll.\n cf. <62a06c5b-9646-17f8-b4d5-39823d3cc25a@grsecurity.net>\n source: <20221216121557.30714-1-minipli@grsecurity.net>\n\n\n* jc/spell-id-in-both-caps-in-message-id (2022-12-17) 1 commit\n - e-mail workflow: Message-ID is spelled with ID in both capital letters\n\n Consistently spell \"Message-ID\" as such, not \"Message-Id\".\n\n Comments?\n source: <xmqqsfhgnmqg.fsf@gitster.g>\n\n\n* lk/line-range-parsing-fix (2022-12-20) 1 commit\n  (merged to 'next' on 2022-12-26 at 216226a6e2)\n + line-range: fix infinite loop bug with '$' regex\n\n When given a pattern that matches an empty string at the end of a\n line, the code to parse the \"git diff\" line-ranges fell into an\n infinite loop, which has been corrected.\n\n Will merge to 'master'.\n source: <20221219224850.2703967-1-lars@oddbit.com>\n\n\n* sa/git-var-sequence-editor (2022-12-18) 1 commit\n  (merged to 'next' on 2022-12-20 at a5737674b6)\n + var: add GIT_SEQUENCE_EDITOR variable\n\n Just like \"git var GIT_EDITOR\" abstracts the complex logic to\n choose which editor gets used behind it, \"git var\" now give support\n to GIT_SEQUENCE_EDITOR.\n\n Will merge to 'master'.\n source: <pull.1424.v2.git.1671318599482.gitgitgadget@gmail.com>\n\n\n* ss/pull-v-recurse-fix (2022-12-18) 1 commit\n  (merged to 'next' on 2022-12-20 at 21f91dc75d)\n + submodule: accept -v for the update command\n\n \"git pull -v --recurse-submodules\" attempted to pass \"-v\" down to\n underlying \"git submodule update\", which did not understand the\n request and barfed, which has been corrected.\n\n Will merge to 'master'.\n source: <f805f2da-a7e1-9fde-cc0a-04a30f79c9af@cs-ware.de>\n\n\n* ds/omit-trailing-hash-in-index (2022-12-17) 4 commits\n - features: feature.manyFiles implies fast index writes\n - test-lib-functions: add helper for trailing hash\n - read-cache: add index.skipHash config option\n - hashfile: allow skipping the hash function\n\n Introduce an optional configuration to allow the trailing hash that\n protects the index file from bit flipping.\n\n cf. <221216.86sfhf1gbc.gmgdl@evledraar.gmail.com>\n source: <pull.1439.v4.git.1671204678.gitgitgadget@gmail.com>\n\n\n* ed/fsmonitor-inotify (2022-12-13) 6 commits\n - fsmonitor: update doc for Linux\n - fsmonitor: test updates\n - fsmonitor: enable fsmonitor for Linux\n - fsmonitor: implement filesystem change listener for Linux\n - fsmonitor: determine if filesystem is local or remote\n - fsmonitor: prepare to share code between Mac OS and Linux\n\n Bundled fsmonitor for Linux using inotify API.\n\n Needs review on the updated round.\n source: <pull.1352.v5.git.git.1670882286.gitgitgadget@gmail.com>\n\n\n* es/t1509-root-fixes (2022-12-09) 3 commits\n - t1509: facilitate repeated script invocations\n - t1509: make \"setup\" test more robust\n - t1509: fix failing \"root work tree\" test due to owner-check\n\n source: <pull.1425.git.1668999621.gitgitgadget@gmail.com>\n\n\n* jt/avoid-lazy-fetch-commits (2022-12-15) 4 commits\n - commit: don't lazy-fetch commits\n - object-file: emit corruption errors when detected\n - object-file: refactor map_loose_object_1()\n - object-file: remove OBJECT_INFO_IGNORE_LOOSE\n\n Even in a repository with promissor remote, it is useless to\n attempt to lazily attempt fetching an object that is expected to be\n commit, because no \"filter\" mode omits commit objects.  Take\n advantage of this assumption to fail fast on errors.\n\n Will merge to 'next'?\n source: <cover.1671045259.git.jonathantanmy@google.com>\n\n\n* jx/t1301-updates (2022-11-30) 3 commits\n - t1301: do not change $CWD in \"shared=all\" test case\n - t1301: use test_when_finished for cleanup\n - t1301: fix wrong template dir for git-init\n\n Test updates.\n source: <20221128130323.8914-1-worldhello.net@gmail.com>\n\n\n* km/send-email-with-v-reroll-count (2022-11-30) 2 commits\n - SQUASH???\n - send-email: relay '-v N' to format-patch\n\n \"git send-email -v 3\" used to be expanded to \"git send-email\n --validate 3\" when the user meant to pass them down to\n \"format-patch\", which has been corrected.\n\n Seems to break CI.\n source: <87edtp5uws.fsf@kyleam.com>\n\n\n* so/diff-merges-more (2022-12-18) 5 commits\n - diff-merges: improve --diff-merges documentation\n - diff-merges: issue warning on lone '-m' option\n - diff-merges: support list of values for --diff-merges\n - diff-merges: implement log.diffMerges-m-imply-p config\n - diff-merges: implement [no-]hide option and log.diffMergesHide config\n\n Assorted updates to \"--diff-merges=X\" option.\n source: <20221217132955.108542-1-sorganov@gmail.com>\n\n\n* ab/config-multi-and-nonbool (2022-11-27) 9 commits\n - for-each-repo: with bad config, don't conflate <path> and <cmd>\n - config API: add \"string\" version of *_value_multi(), fix segfaults\n - config API users: test for *_get_value_multi() segfaults\n - for-each-repo: error on bad --config\n - config API: have *_multi() return an \"int\" and take a \"dest\"\n - versioncmp.c: refactor config reading next commit\n - config tests: add \"NULL\" tests for *_get_value_multi()\n - config tests: cover blind spots in git_die_config() tests\n - for-each-repo tests: test bad --config keys\n\n Assorted config API updates.\n\n Waiting for review.\n source: <cover-v3-0.9-00000000000-20221125T093158Z-avarab@gmail.com>\n\n\n* sa/cat-file-mailmap--batch-check (2022-12-20) 2 commits\n - cat-file: add mailmap support to --batch-check option\n - cat-file: add mailmap support to -s option\n\n 'cat-file' gains mailmap support for its '--batch-check' and '-s'\n options.\n\n Will merge to 'next'.\n cf. <221220.865ye6xlmo.gmgdl@evledraar.gmail.com>\n source: <20221220060113.51010-1-siddharthasthana31@gmail.com>\n\n\n* ab/tag-object-type-errors (2022-11-22) 5 commits\n - tag: don't emit potentially incorrect \"object is a X, not a Y\"\n - tag: don't misreport type of tagged objects in errors\n - object tests: add test for unexpected objects in tags\n - object-file.c: free the \"t.tag\" in check_tag()\n - Merge branch 'jk/parse-object-type-mismatch' into ab/tag-object-type-errors\n\n Hardening checks around mismatched object types when one of those\n objects is a tag.\n\n Needs review.\n source: <cover-0.4-00000000000-20221118T113442Z-avarab@gmail.com>\n\n\n* js/range-diff-mbox (2022-11-23) 1 commit\n - range-diff: support reading mbox files\n\n 'git range-diff' gained support for reading either side from an .mbox\n file instead of a revision range.\n\n Expecting review responses.\n source: <pull.1420.v3.git.1669108102092.gitgitgadget@gmail.com>\n\n\n* tr/am--no-verify (2022-12-01) 2 commits\n - SQUASH???\n - am: allow passing --no-verify flag\n\n Conditionally skip the pre-applypatch and applypatch-msg hooks when\n applying patches with 'git am'.\n\n Expecting a (hopefully final) reroll.\n source: <20221130172833.2662751-1-thierry.reding@gmail.com>\n\n\n* ew/format-patch-mboxrd (2022-12-25) 1 commit\n  (merged to 'next' on 2022-12-26 at bb6cc9e207)\n + format-patch: support format.mboxrd with --stdout\n\n \"git format-patch\" learned to honor format.mboxrd even when sending\n patches to the standard output stream,\n\n Will merge to 'master'.\n source: <20221222201619.M435985@dcvr>\n\n\n* js/drop-mingw-test-cmp (2022-12-13) 1 commit\n - tests(mingw): avoid very slow `mingw_test_cmp`\n\n Use `git diff --no-index` as a test_cmp on Windows.\n\n Will merge to 'next'?\n source: <pull.1309.v5.git.1670339267.gitgitgadget@gmail.com>\n\n\n* mc/switch-advice (2022-11-09) 1 commit\n - po: use `switch` over `checkout` in error message\n\n Use 'switch' instead of 'checkout' in an error message.\n\n Waiting for review response.\n source: <pull.1308.git.git.1668018620148.gitgitgadget@gmail.com>\n\n\n* ja/worktree-orphan (2022-12-20) 4 commits\n - worktree add: add hint to use --orphan when bad ref\n - worktree add: add --orphan flag\n - worktree add: refactor opt exclusion tests\n - worktree add: include -B in usage docs\n\n 'git worktree add' learned how to create a worktree based on an\n orphaned branch with `--orphan`.\n source: <20221220023637.29042-1-jacobabel@nullpo.dev>\n\n\n* tb/ci-concurrency (2022-11-08) 1 commit\n - ci: avoid unnecessary builds\n\n Avoid unnecessary builds in CI, with settings configured in\n ci-config.\n\n Waiting for review.\n source: <ff172f1de982f6f79b598e4ac6d5b2964ca4a098.1667931937.git.me@ttaylorr.com>\n\n\n* tl/notes--blankline (2022-11-09) 5 commits\n - notes.c: introduce \"--no-blank-line\" option\n - notes.c: provide tips when target and append note are both empty\n - notes.c: drop unreachable code in 'append_edit()'\n - notes.c: cleanup for \"designated init\" and \"char ptr init\"\n - notes.c: cleanup 'strbuf_grow' call in 'append_edit'\n\n 'git notes append' was taught '--[no-]blank-line' to conditionally\n add a LF between a new and existing note.\n\n Waiting for review.\n source: <cover.1667980450.git.dyroneteng@gmail.com>\n\n\n* ds/bundle-uri-4 (2022-12-25) 11 commits\n  (merged to 'next' on 2022-12-26 at 6d7c21c44a)\n + clone: unbundle the advertised bundles\n + bundle-uri: download bundles from an advertised list\n + bundle-uri: allow relative URLs in bundle lists\n + strbuf: introduce strbuf_strip_file_from_path()\n + bundle-uri: serve bundle.* keys from config\n + bundle-uri client: add helper for testing server\n + transport: rename got_remote_heads\n + bundle-uri client: add boolean transfer.bundleURI setting\n + clone: request the 'bundle-uri' command when available\n + t: create test harness for 'bundle-uri' command\n + protocol v2: add server-side \"bundle-uri\" skeleton\n\n Bundle URIs part 4.\n\n Will merge to 'master'.\n source: <pull.1400.v4.git.1671722058.gitgitgadget@gmail.com>\n\n\n* po/pretty-hard-trunc (2022-11-13) 1 commit\n - pretty-formats: add hard truncation, without ellipsis, options\n\n Add a new pretty format which truncates without ellipsis.\n\n Waiting for review.\n source: <20221112143616.1429-1-philipoakley@iee.email>\n\n\n* cc/filtered-repack (2022-12-25) 3 commits\n - gc: add gc.repackFilter config option\n - repack: add --filter=<filter-spec> option\n - pack-objects: allow --filter without --stdout\n\n \"git repack\" learns to discard objects that ought to be retrievable\n again from the promissor remote.\n source: <20221221040446.2860985-1-christian.couder@gmail.com>\n\n\n* mc/credential-helper-auth-headers (2022-12-13) 8 commits\n - t5556: add HTTP authentication tests\n - test-http-server: add simple authentication\n - test-http-server: pass Git requests to http-backend\n - test-http-server: add HTTP request parsing\n - test-http-server: add HTTP error response function\n - test-http-server: add stub HTTP server test helper\n - credential: add WWW-Authenticate header to cred requests\n - http: read HTTP WWW-Authenticate response headers\n\n Extending credential helper protocol.\n\n Waiting for review responses (or a reroll).\n cf. <1dc44716-2550-47de-e666-9972b102905d@github.com>\n source: <pull.1352.v4.git.1670880984.gitgitgadget@gmail.com>\n\n--------------------------------------------------\n[Discarded]\n\n* pw/test-todo (2022-10-06) 3 commits\n . test_todo: allow [verbose] test as the command\n . test_todo: allow [!] grep as the command\n . tests: add test_todo() to mark known breakages\n\n RFC for test framework improvement.\n\n Needs review.\n source: <pull.1374.git.1665068476.gitgitgadget@gmail.com>\n\n\n* cw/submodule-status-in-parallel (2022-11-08) 6 commits\n . diff-lib: parallelize run_diff_files for submodules\n . diff-lib: refactor match_stat_with_submodule\n . submodule: move status parsing into function\n . submodule: strbuf variable rename\n . run-command: add duplicate_output_fn to run_processes_parallel_opts\n . Merge branch 'ab/run-hook-api-cleanup' into cw/submodule-status-in-parallel\n\n Allow the internal \"diff-files\" engine to run \"how has this\n submodule changed?\" in parallel to speed up \"git status\".\n\n Waiting for review.\n source: <20221020232532.1128326-1-calvinwan@google.com>\n\n\n* es/doc-creation-factor-fix (2022-07-28) 2 commits\n . range-diff: clarify --creation-factor=<factor>\n . format-patch: clarify --creation-factor=<factor>\n\n Expecting a reroll by somebody more familiar with the logic\n cf. <xmqqo7wfix7p.fsf@gitster.g>\n source: <7229p500-p2r4-on87-6802-8o90s36rr3s4@tzk.qr>\n\n\n* ds/bundle-uri-4-fixup (2022-12-13) 3 commits\n . bundle-uri: remove GIT_TEST_BUNDLE_URI env variable\n . bundle-uri: advertise based on repo config\n . bundle-uri: drop unused 'uri' parameter\n\n Incremental fixes on ds/bundle-uri-4 topic.\n\n Discarded.\n The base topic has been updated to make these \"oops\" fixes unneeded.\n source: <pull.1443.git.1670866407.gitgitgadget@gmail.com>\n"},{"id":"469538","messageId":"221226.86y1quv1gw.gmgdl@evledraar.gmail.com","threadId":"59003","inReplyTo":"xmqqcz86n8bn.fsf@gitster.g","subject":"cmake topics & js/ci-disable-cmake-by-default (was: What's cooking in git.git (Dec 2022, #07; Mon, 26))","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2022-12-26T10:52:43Z","receivedAt":"2022-12-26T11:39:01Z","isPatch":false,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"\nI split up the previously merged to \"next\" ab/cmake-nix-and-ci and\nsubmitted the uncontroversial parts of it as:\n\n\thttps://lore.kernel.org/git/patch-1.1-0fa41115261-20221219T102205Z-avarab@gmail.com\n\thttps://lore.kernel.org/git/cover-0.2-00000000000-20221219T102813Z-avarab@gmail.com\n\thttps://lore.kernel.org/git/cover-0.6-00000000000-20221219T183623Z-avarab@gmail.com\n\nI think whatever happens with js/ci-disable-cmake-by-default that it\nmakes sense to pick up & integrate those.\n\nIt's all narrow fixes for specific issues, none of which cover the\narea(s) that caused ab/cmake-nix-and-ci to be ejected from \"next\".\n\nOn Mon, Dec 26 2022, Junio C Hamano wrote:\n\n> * js/ci-disable-cmake-by-default (2022-12-20) 1 commit\n>  - ci: only run win+VS build & tests in Git for Windows' fork\n>\n>  Stop running win+VS build by default.\n>\n>  Will merge to 'next'?\n>  source: <pull.1445.git.1671461414191.gitgitgadget@gmail.com>\n\nPer my feedback there, I still think it would make sense to at least\nsplit up the \"should we build with MSVC?\" from the \"do we use cmake, and\nrun the re-run tests we already ran with GCC with MSVC too?\".\n\nBut I understand that Johannes disagreed with that, and didn't think\ntesting MSVC in addition to GCC & Clang was valuable.\n\nWhat I'd like clarification on if this moves forward is what the status\nof cmake in the tree is.\n\nThe reason I submitted ab/cmake-nix-and-ci was to make testing\ncmake+ctest on *nix trivial, so that if I and others made Makefile\nchanges we could change & test the cmake recipe as well.\n\nBut now we won't even run that in CI, and \"git-for-windows\" will have\nownership of it.\n\nDoes that mean that for such Makefile changes we should simply leave out\nthe cmake changes, and rely on git-for-windows to \"catch up\" with its\ncmake contrib component?\n\nUltimately I don't mind such an arrangement, but I think that\njs/ci-disable-cmake-by-default brings us to a weird in-between\nstate. Just removing it from the tree and having git-for-windows carry\nit would make sense.\n\nSo would IMO taking ab/cmake-nix-and-ci (or the restart of it above),\ni.e. to have cmake fixes accepted in git/git.\n\nBut now we're moving to a state where such patches aren't welcome, but\nwe'll still carry inevitably bitrotting code in-tree, which we're\nintentionally not testing anymore until it's merged to git-for-windows?\n\nThanks.\n"},{"id":"469544","messageId":"xmqqilhxv5eg.fsf@gitster.g","threadId":"59003","inReplyTo":"221226.86y1quv1gw.gmgdl@evledraar.gmail.com","subject":"Re: cmake topics & js/ci-disable-cmake-by-default","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2022-12-27T04:26:15Z","receivedAt":"2022-12-27T04:29:11Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Ævar Arnfjörð Bjarmason <avarab@gmail.com> writes:\n\n> I split up the previously merged to \"next\" ab/cmake-nix-and-ci and\n> submitted the uncontroversial parts of it as:\n\nNot gathering any interest by folks who will be affected is\ndifferent from being uncontroversial, though.  It may not have seen\nany controversy so far, but once it reappears in my tree and\nsufficiently advances to cause trouble to other people, it would.\n\nIn other words, I am saving time and energy of people by waiting for\npositive support on these changes.\n\n> I think whatever happens with js/ci-disable-cmake-by-default that it\n> makes sense to pick up & integrate those.\n\nI do not think so at all, at least judging by what little has been\nsaid so far on the list.  Comments on two among these three are\nnegative ones, and the other one had no traction.\n\n>> * js/ci-disable-cmake-by-default (2022-12-20) 1 commit\n>>  - ci: only run win+VS build & tests in Git for Windows' fork\n>>\n>>  Stop running win+VS build by default.\n>>\n>>  Will merge to 'next'?\n>>  source: <pull.1445.git.1671461414191.gitgitgadget@gmail.com>\n>\n> Per my feedback there, I still think it would make sense to at least\n> split up the \"should we build with MSVC?\" from the \"do we use cmake, and\n> run the re-run tests we already ran with GCC with MSVC too?\".\n\nDo you mean that in our primary CI jobs, you would, using Makefile,\nwant to keep building the win+VS artifacts with MSVC and running the\ntests, even though Windows folks want to drive the same build\nprocess via CMake, and their release binaries will come from the\nlatter?  \n\nI am not sure which extra corners, which matter to us, are covered\nby doing so.  What's the upside?\n\n> But now we won't even run that in CI, and \"git-for-windows\" will have\n> ownership of it.\n>\n> Does that mean that for such Makefile changes we should simply leave out\n> the cmake changes, and rely on git-for-windows to \"catch up\" with its\n> cmake contrib component?\n\nThat is the natural conclusion of what has been said on the list so\nfar.  We do not even \"rely on\"---it is up to them who chose to use\nCMake to keep it up to date or lag behind.  Among those who have\nmade significant contributions and works outside Windows, we found\nnobody whowants to touch CMake.\n\n> Ultimately I don't mind such an arrangement, but I think that\n> js/ci-disable-cmake-by-default brings us to a weird in-between\n> state. Just removing it from the tree and having git-for-windows carry\n> it would make sense.\n\nThat's fine by me personally, but somebody has to help coordinating\nsuch a move between two projects.\n"},{"id":"469551","messageId":"221227.86pmc4vrk3.gmgdl@evledraar.gmail.com","threadId":"59003","inReplyTo":"xmqqilhxv5eg.fsf@gitster.g","subject":"Re: cmake topics & js/ci-disable-cmake-by-default","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2022-12-27T13:59:20Z","receivedAt":"2022-12-27T14:40:04Z","isPatch":false,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"\nOn Tue, Dec 27 2022, Junio C Hamano wrote:\n\n> Ævar Arnfjörð Bjarmason <avarab@gmail.com> writes:\n>\n>> I split up the previously merged to \"next\" ab/cmake-nix-and-ci and\n>> submitted the uncontroversial parts of it as:\n>\n> Not gathering any interest by folks who will be affected is\n> different from being uncontroversial, though.  It may not have seen\n> any controversy so far, but once it reappears in my tree and\n> sufficiently advances to cause trouble to other people, it would.\n>\n> In other words, I am saving time and energy of people by waiting for\n> positive support on these changes.\n\nThese changes had made it to \"next\" already on the basis of the feedback\nthe topic already got.\n\nNow, that's not justification in itself that a re-roll & split-up\nbelongs there again, but it also strikes me as a bad use of time to just\nthrow them away at this point now that I've submitted a version that\naddresses the trouble it caused others (which I think the combined v6\nalso fixed, but as the topic is fairly large I think this split-up was\nprudent).\n\n>> I think whatever happens with js/ci-disable-cmake-by-default that it\n>> makes sense to pick up & integrate those.\n>\n> I do not think so at all, at least judging by what little has been\n> said so far on the list.  Comments on two among these three are\n> negative ones, and the other one had no traction.\n\nI'm assuming you're counting your own\nhttps://lore.kernel.org/git/xmqqcz8e29d5.fsf@gitster.g/ as negative\nhere, I just replied at\nhttps://lore.kernel.org/git/221227.86tu1huevt.gmgdl@evledraar.gmail.com/,\nbut maybe you're still not convinced.\n\nIn any case, that 1/3 topic could be discarded without the other 2/3\nbeing affected, even though it seems to me to be a trivially correct\nfix.\n\nIf you mean\nhttps://lore.kernel.org/git/f67e0281-8a14-669d-0d1c-ed0b1351a64a@dunelm.org.uk/\nI'm not sure what to do with that other than my reply at\nhttps://lore.kernel.org/git/221219.86h6xrzaxd.gmgdl@evledraar.gmail.com/.\n\nI don't see how I, having spent quite a bit of time untangling the\nplatform-specific parts of the CMake recipe, would be inherently\nunqualified to spot and clarify the CMake docs in such a way that they\nmake it clear what parts are the cross-platform parts, and which are the\nplatform-specific parts.\n\n>>> * js/ci-disable-cmake-by-default (2022-12-20) 1 commit\n>>>  - ci: only run win+VS build & tests in Git for Windows' fork\n>>>\n>>>  Stop running win+VS build by default.\n>>>\n>>>  Will merge to 'next'?\n>>>  source: <pull.1445.git.1671461414191.gitgitgadget@gmail.com>\n>>\n>> Per my feedback there, I still think it would make sense to at least\n>> split up the \"should we build with MSVC?\" from the \"do we use cmake, and\n>> run the re-run tests we already ran with GCC with MSVC too?\".\n>\n> Do you mean that in our primary CI jobs, you would, using Makefile,\n> want to keep building the win+VS artifacts with MSVC and running the\n> tests, even though Windows folks want to drive the same build\n> process via CMake, and their release binaries will come from the\n> latter?  \n\nI don't think \"running the tests\" is a good use of time, although we\nmight want to do so if some \"extended tests\" ci-config option is set,\nwhich e.g. \"next\" and/or \"master\" might want to turn on.\n\nSo just like we run tests on OSX for both the git built with gcc and\nclang (and yes, that isn't the only difference, we sneak in the \"no\nsha1dc\" there too) perhaps we'd like to run the tests for the MSVC-built\ngit too.\n\n> I am not sure which extra corners, which matter to us, are covered\n> by doing so.  What's the upside?\n\nDoing the *build* is relatively cheap when it comes to CI time, and\nwould catch some portability issues.\n\nIn any case, I'm not asserting here that js/ci-disable-cmake-by-default\nmust do what I'm suggesting in the last few paragraphs.\n\nBut rather that its commit message doesn't really cover what it's\nactually doing, and that at least adjusting that would be\nworthwhile. It's saying that it's disabling the \"build and test with\ncmake + MSVC\" entirely because the tests are slow, and that cmake isn't\nwanted in git/git.\n\nWhereas the more obvious conclusion IMO is to then undo the later change\nto that job to use \"cmake\" to build with \"MSVC\" (which was a later\ndevelopment) and/or don't run the test part.\n\n>> But now we won't even run that in CI, and \"git-for-windows\" will have\n>> ownership of it.\n>>\n>> Does that mean that for such Makefile changes we should simply leave out\n>> the cmake changes, and rely on git-for-windows to \"catch up\" with its\n>> cmake contrib component?\n>\n> That is the natural conclusion of what has been said on the list so\n> far.  We do not even \"rely on\"---it is up to them who chose to use\n> CMake to keep it up to date or lag behind.  Among those who have\n> made significant contributions and works outside Windows, we found\n> nobody whowants to touch CMake.\n\nThanks, that's pretty much the clarification I was looking for. I do\nthink it's going to result in more disruption than is strictly\nnecessary, but *shrug*.\n\nI do think it would be good to prominently note this at the top of\nCMakeLists.txt, i.e. that the version in git/git can be expected to be\nbroken or out of date, I could re-roll the \"cmake doc\" topic I have\noutstanding to add that, except...\n\n>> Ultimately I don't mind such an arrangement, but I think that\n>> js/ci-disable-cmake-by-default brings us to a weird in-between\n>> state. Just removing it from the tree and having git-for-windows carry\n>> it would make sense.\n>\n> That's fine by me personally, but somebody has to help coordinating\n> such a move between two projects.\n\n...(continuing from above). I'd be happy to do that, even though I'm\nstill surprised that this is the path Johannes seems to prefer going\nforward.\n\nAs it's surely more work for git-for-windows to deal with whatever we\nthrow over the wall at them, rather than have us take them into account\n(which would have been easy once we CI'd it on Ubuntu:\nhttps://lore.kernel.org/git/patch-v6-15.15-917a884eb65-20221206T001617Z-avarab@gmail.com/).\n\nBut *shrug*.\n\nI think if we're going down this path it would make sense to first start\nby removing the support for building with MSVC and generating the VS\nproject files from the Makefile.\n\nThere's more to it than this, but it's basically this & adjacent code\n(e.g. in config.mak.uname):\n\t\n\t$ wc -l $(git ls-files 'contrib/buildsystems/Generators*' 'compat/vcbuild/scripts*' compat/vcbuild/find_vs_env.bat)\n\t 168 compat/vcbuild/find_vs_env.bat\n\t 133 compat/vcbuild/scripts/clink.pl\n\t  26 compat/vcbuild/scripts/lib.pl\n\t  42 contrib/buildsystems/Generators.pm\n\t 189 contrib/buildsystems/Generators/QMake.pm\n\t 579 contrib/buildsystems/Generators/Vcproj.pm\n\t 402 contrib/buildsystems/Generators/Vcxproj.pm\n\t1539 total\n\nThis has all been bitrotting since 4c2c38e800f (ci: modification of\nmain.yml to use cmake for vs-build job, 2020-06-26), and it's been\nbroken since sometime in 2020 for DEVELOPER=1 builds at least (started\nfailing with new warnings, and then the C99 change in\ngit-compat-util.h).\n\nOne reason I thought keeping the CMake recipe up-to-date & in-tree is\nthat it's much easier to maintain it than e.g. the hack that is\ncompat/vcbuild/scripts/clink.pl, which we'd need (or something like it)\nif we're going to support building with MSVC with the Makefile.\n\nBut I don't see how it would make sense to have CMakeLists.txt\nbitrotting in-tree, and for git/git to pick up the maintenance of this\n\"build using MSVC with the Makefile\", which git-for-windows itself seems\nto have abandoned.\n\n(The actual release versions of GfW are, as I understand it, built with\nGCC, so the only \"cmake with MSVC\" users are those using some\nlightweight version of MS development tools)\n\nThen, as a follow-up to that, if improvements to\ncontrib/buildsystems/CMakeLists.txt aren't going to be accepted to\ngit/git.\n\nOr rather, if they would in principle, but are going to stall because\nthey might impact git-for-windows. As seems to be the case with my\nproposed, which have had no timely feedback from the git-for-windows\nfolks on \"upstreaming\" those (or rather, fixing \"upstream\").\n\nThen shouldn't we just:\n\n\tgit rm contrib/buildsystems/CMakeLists.txt\n\nAlong with the other bits in-tree which at that point would only be used\nfor CMake, e.g. compat/vcbuild/vcpkg_install.bat?\n\nI could submit all of that if you agree. This would not be my first\nchoice, but I don't think it's good to leave this in limbo in git/git\neither.\n\nThe \"git-for-windows\" project would then just revert the part that\nremoves contrib/buildsystems/CMakeLists.txt once it lands there, and\nproceed to maintain contrib/buildsystems/CMakeLists.txt only in that\nproject, along with the diverging part of main.yml etc.\n\nWhat do you think?\n"},{"id":"469568","messageId":"xmqq4jtgsazj.fsf@gitster.g","threadId":"59003","inReplyTo":"221227.86pmc4vrk3.gmgdl@evledraar.gmail.com","subject":"Re: cmake topics & js/ci-disable-cmake-by-default","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2022-12-27T23:06:08Z","receivedAt":"2022-12-27T23:07:38Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Ævar Arnfjörð Bjarmason <avarab@gmail.com> writes:\n\n> On Tue, Dec 27 2022, Junio C Hamano wrote:\n>\n>> Ævar Arnfjörð Bjarmason <avarab@gmail.com> writes:\n>>\n>>> I split up the previously merged to \"next\" ab/cmake-nix-and-ci and\n>>> submitted the uncontroversial parts of it as:\n>>\n>> Not gathering any interest by folks who will be affected is\n>> different from being uncontroversial, though.  It may not have seen\n>> any controversy so far, but once it reappears in my tree and\n>> sufficiently advances to cause trouble to other people, it would.\n>>\n>> In other words, I am saving time and energy of people by waiting for\n>> positive support on these changes.\n>\n> These changes had made it to \"next\" already on the basis of the feedback\n> the topic already got.\n\nAfter the topic turned out to be unwanted, I am not sure how much\nweight we want to give to the supportive opinions that initially\npushed it to 'next'.\n"},{"id":"469582","messageId":"221228.864jtfvs0q.gmgdl@evledraar.gmail.com","threadId":"59003","inReplyTo":"xmqqcz86n8bn.fsf@gitster.g","subject":"built-in-submodule & in-flight dependencies (was: What's cooking in git.git (Dec 2022, #07; Mon, 26))","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2022-12-28T08:36:43Z","receivedAt":"2022-12-28T08:43:49Z","isPatch":false,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"\nOn Mon, Dec 26 2022, Junio C Hamano wrote:\n\n> [...]\n> [Cooking]\n>\n> * ab/no-more-git-global-super-prefix (2022-12-26) 9 commits\n>  - read-tree: add \"--super-prefix\" option, eliminate global\n>  - submodule--helper: convert \"{update,clone}\" to their own \"--super-prefix\"\n>  - submodule--helper: convert \"status\" to its own \"--super-prefix\"\n>  - submodule--helper: convert \"sync\" to its own \"--super-prefix\"\n>  - submodule--helper: convert \"foreach\" to its own \"--super-prefix\"\n>  - submodule--helper: don't use global --super-prefix in \"absorbgitdirs\"\n>  - submodule.c & submodule--helper: pass along \"super_prefix\" param\n>  - read-tree + fetch tests: test failing \"--super-prefix\" interaction\n>  - submodule absorbgitdirs tests: add missing \"Migrating git...\" tests\n>\n>  Stop using \"git --super-prefix\" and narrow the scope of its use to\n>  the submodule--helper.\n>\n>  Will merge to 'next'.\n>  source: <cover-v5-0.9-00000000000-20221220T104519Z-avarab@gmail.com>\n> [...]\n> * ab/config-multi-and-nonbool (2022-11-27) 9 commits\n>  - for-each-repo: with bad config, don't conflate <path> and <cmd>\n>  - config API: add \"string\" version of *_value_multi(), fix segfaults\n>  - config API users: test for *_get_value_multi() segfaults\n>  - for-each-repo: error on bad --config\n>  - config API: have *_multi() return an \"int\" and take a \"dest\"\n>  - versioncmp.c: refactor config reading next commit\n>  - config tests: add \"NULL\" tests for *_get_value_multi()\n>  - config tests: cover blind spots in git_die_config() tests\n>  - for-each-repo tests: test bad --config keys\n>\n>  Assorted config API updates.\n>\n>  Waiting for review.\n>  source: <cover-v3-0.9-00000000000-20221125T093158Z-avarab@gmail.com>\n\nI see that ab/no-more-git-global-super-prefix has landed in \"next\", I\nwas planning to submit the built-in submodule topic after it, i.e. the\nchange to get rid of git-submodule.sh.\n\nBut the post-cleanup in that topic of moving the relevant code from\nbuiltin/submodule--helper.c to builtin/submodule.c would conflict with\nab/config-multi-and-nonbool, as some of it uses the *_multi() API.\n\nNow, it would be relatively easy to solve those conflicts, but I'd also\nlike to make it easier for you, Junio.\n\nSo more reviews on that topic would be most welcome. It fixes quite a\nfew segfaults we currently have in-tree, so I'm a bit surprised at the\nrelative lack of interest.\n"}]}