{"thread":{"id":"58947","subject":"What's cooking in git.git (Dec 2022, #05; Wed, 14)","startedAt":"2022-12-14T09:59:56Z","lastAt":"2022-12-16T22:55:10Z","messageCount":21,"participants":["Junio C Hamano","Derrick Stolee","Jeff Hostetler","Taylor Blau","Ævar Arnfjörð Bjarmason","Sean Allred","Phillip Wood"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"469007","messageId":"xmqqiliewbje.fsf@gitster.g","threadId":"58947","inReplyTo":null,"subject":"What's cooking in git.git (Dec 2022, #05; Wed, 14)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2022-12-14T09:59:49Z","receivedAt":"2022-12-14T09:59:56Z","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\nThe first batch of topics have graduated from 'next' to 'master'.\n\nIn the past, I tried to re-examine all the topics in 'next' myself\nto pick and choose the ones to be kept before rewinding and\nrebuilding 'next' after each release, which took me a while.  This\ntime, to share the burden to expedite the process, I'll reset 'next'\nto 'master' without any topics merged, and rely on input from list\nparticipants.\n\nThe topics that used to be in 'next' are all marked as \"Will merge\nback to 'next'\", but people can tell me to give them a chance to\nreboot their topics, instead of piling \"oops, that was wrong\" fixes\non top, while I wait for such an input for the coming days.\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[Graduated to 'master']\n\n* ab/various-leak-fixes (2022-11-21) 16 commits\n  (merged to 'next' on 2022-11-21 at eff484a27c)\n + built-ins: use free() not UNLEAK() if trivial, rm dead code\n + revert: fix parse_options_concat() leak\n + cherry-pick: free \"struct replay_opts\" members\n + rebase: don't leak on \"--abort\"\n + connected.c: free the \"struct packed_git\"\n + sequencer.c: fix \"opts->strategy\" leak in read_strategy_opts()\n + ls-files: fix a --with-tree memory leak\n + revision API: call graph_clear() in release_revisions()\n + unpack-file: fix ancient leak in create_temp_file()\n + built-ins & libs & helpers: add/move destructors, fix leaks\n + dir.c: free \"ident\" and \"exclude_per_dir\" in \"struct untracked_cache\"\n + read-cache.c: clear and free \"sparse_checkout_patterns\"\n + commit: discard partial cache before (re-)reading it\n + {reset,merge}: call discard_index() before returning\n + tests: mark tests as passing with SANITIZE=leak\n + Merge branch 'pw/rebase-no-reflog-action' into ab/various-leak-fixes\n\n Various leak fixes.\n source: <cover-v2-00.15-00000000000-20221108T172650Z-avarab@gmail.com>\n\n\n* dd/git-bisect-builtin (2022-11-15) 13 commits\n  (merged to 'next' on 2022-11-15 at e16e754058)\n + bisect; remove unused \"git-bisect.sh\" and \".gitignore\" entry\n  (merged to 'next' on 2022-11-14 at fc304fb52f)\n + Turn `git bisect` into a full built-in\n + bisect--helper: log: allow arbitrary number of arguments\n + bisect--helper: handle states directly\n + bisect--helper: emit usage for \"git bisect\"\n + bisect test: test exit codes on bad usage\n + bisect--helper: identify as bisect when report error\n + bisect-run: verify_good: account for non-negative exit status\n + bisect run: keep some of the post-v2.30.0 output\n + bisect: fix output regressions in v2.30.0\n + bisect: refactor bisect_run() to match CodingGuidelines\n + bisect tests: test for v2.30.0 \"bisect run\" regressions\n + Merge branch 'dd/bisect-helper-subcommand' into dd/git-bisect-builtin\n\n `git bisect` becomes a builtin.\n source: <cover.1668097962.git.congdanhqx@gmail.com>\n\n\n* js/t0021-windows-pwd (2022-12-07) 1 commit\n  (merged to 'next' on 2022-12-08 at 63bc7701e8)\n + t0021: use Windows-friendly `pwd`\n (this branch is used by js/drop-mingw-test-cmp.)\n\n Test fix.\n source: <b38b8fb5a85e10d6189d68b6633adf23fca7b65d.1670339267.git.gitgitgadget@gmail.com>\n\n\n* kz/merge-tree-merge-base (2022-11-25) 3 commits\n  (merged to 'next' on 2022-11-25 at 298ca8e2e8)\n + docs: fix description of the `--merge-base` option\n  (merged to 'next' on 2022-11-14 at 76d48ae21f)\n + merge-tree.c: allow specifying the merge-base when --stdin is passed\n + merge-tree.c: add --merge-base=<commit> option\n\n \"merge-tree\" learns a new `--merge-base` option.\n source: <pull.1397.v7.git.1668210314.gitgitgadget@gmail.com>\n source: <c21466d1db0e7f7fcd7308b61aa1e3cd4e3d67c4.1669261026.git.gitgitgadget@gmail.com>\n\n\n* rs/multi-filter-args (2022-11-30) 5 commits\n  (merged to 'next' on 2022-12-01 at 5848d16bb6)\n + list-objects-filter: remove OPT_PARSE_LIST_OBJECTS_FILTER_INIT()\n + pack-objects: simplify --filter handling\n + pack-objects: fix handling of multiple --filter options\n + t5317: demonstrate failure to handle multiple --filter options\n + t5317: stop losing return codes of git ls-files\n\n Fix a bug where `pack-objects` would not respect multiple `--filter`\n arguments when invoked directly.\n source: <c2d3e7a3-599f-dae5-8dde-dc969df39f02@web.de>\n\n\n* sa/git-var-empty (2022-11-27) 2 commits\n  (merged to 'next' on 2022-12-01 at 3b81dcb382)\n + var: allow GIT_EDITOR to return null\n + var: do not print usage() with a correct invocation\n\n \"git var UNKNOWN_VARIABLE\" and \"git var VARIABLE\" with the variable\n given an empty value used to behave identically.  Now the latter\n just gives an empty output, while the former still gives an error\n message.\n source: <pull.1434.v3.git.1669472277.gitgitgadget@gmail.com>\n\n\n* tl/pack-bitmap-absolute-paths (2022-11-29) 4 commits\n  (merged to 'next' on 2022-11-30 at cb5d17ee40)\n + pack-bitmap.c: trace bitmap ignore logs when midx-bitmap is found\n + pack-bitmap.c: break out of the bitmap loop early if not tracing\n  (merged to 'next' on 2022-11-14 at 34eb0ea05a)\n + pack-bitmap.c: avoid exposing absolute paths\n + pack-bitmap.c: remove unnecessary \"open_pack_index()\" calls\n\n The pack-bitmap machinery is taught to log the paths of redundant\n bitmap(s) to trace2 instead of stderr.\n source: <cover.1669644101.git.dyroneteng@gmail.com>\n\n\n* yn/git-jump-emacs (2022-11-27) 3 commits\n  (merged to 'next' on 2022-11-29 at d0960938a0)\n + git-jump: invoke emacs/emacsclient\n + git-jump: move valid-mode check earlier\n + git-jump: add an optional argument '--stdout'\n\n \"git jump\" (in contrib/) learned to present the \"quickfix list\" to\n its standard output (instead of letting it consumed by the editor\n it invokes), and learned to also drive emacs/emacsclient.\n source: <pull.1423.v8.git.1669511933.gitgitgadget@gmail.com>\n\n--------------------------------------------------\n[New Topics]\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 (this branch uses ds/bundle-uri-4.)\n\n Incremental fixes on ds/bundle-uri-4 topic.\n\n Will merge to 'next'?\n source: <pull.1443.git.1670866407.gitgitgadget@gmail.com>\n\n\n* ds/omit-trailing-hash-in-index (2022-12-13) 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 Will merge to 'next'.\n source: <pull.1439.v2.git.1670862677.gitgitgadget@gmail.com>\n\n\n* jk/server-supports-v2-cleanup (2022-12-13) 1 commit\n - server_supports_v2(): use a separate function for die_on_error\n\n Code clean-up.\n\n Will merge to 'next'.\n source: <Y5hZirNRGLQUZfOZ@coredump.intra.peff.net>\n\n\n* jk/unused-post-2.39 (2022-12-13) 9 commits\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\n Will merge to 'next'.\n source: <Y5hdvpbLpXySHFRz@coredump.intra.peff.net>\n\n\n* jt/http-fetch-trace2-report-name (2022-12-13) 1 commit\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\n Will merge to 'next'.\n source: <20221212224630.2553391-1-jonathantanmy@google.com>\n\n\n* rs/am-parse-options-cleanup (2022-12-13) 1 commit\n - am: don't pass strvec to apply_parse_options()\n\n Will merge to 'next'.\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 - object-file: inline write_buffer()\n\n Code clean-up.\n\n Will merge to 'next'.\n source: <94dff140-489c-40b2-7212-201ed3b7d008@web.de>\n\n\n* rs/clear-commit-marks-cleanup (2022-12-13) 1 commit\n - commit: skip already cleared parents in clear_commit_marks_1()\n\n Code clean-up.\n\n Will merge to 'next'.\n source: <7cf2ea1f-8dbf-5639-3874-86de391ae20a@web.de>\n\n\n* rs/reflog-expiry-cleanup (2022-12-13) 1 commit\n - reflog: clear leftovers in reflog_expiry_cleanup()\n\n Code clean-up.\n\n Will merge to 'next'.\n source: <a53d4df3-4b2c-585a-e8ad-2a9b9017fb8c@web.de>\n\n\n* sg/help-autocorrect-config-fix (2022-12-13) 1 commit\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\n Will merge to 'next'.\n source: <pull.1373.v2.git.git.1667073374852.gitgitgadget@gmail.com>\n\n--------------------------------------------------\n[Stalled]\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[Cooking]\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* rs/t3920-crlf-eating-grep-fix (2022-12-07) 1 commit\n - t3920: support CR-eating grep\n (this branch uses js/t3920-shell-and-or-fix.)\n\n Test fix.\n\n Will merge back to 'next'.\n source: <cbe88abc-c1fb-cb50-6057-47ff27f7a12d@web.de>\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* ab/t4023-avoid-losing-exit-status-of-diff (2022-12-05) 1 commit\n - t4023: fix ignored exit codes of git\n\n Test fix.\n\n Will merge back to 'next'.\n source: <patch-v2-3.8-c5feef1c808-20221202T000227Z-avarab@gmail.com>\n\n\n* jh/t7527-unflake-by-forcing-cookie (2022-12-02) 1 commit\n - fsmonitor: fix race seen in t7527\n\n Make fsmonitor more robust to avoid the flakiness seen in t7527.\n\n Will merge back to 'next'.\n source: <pull.1437.git.1669937534944.gitgitgadget@gmail.com>\n\n\n* rs/plug-pattern-list-leak-in-lof (2022-12-02) 1 commit\n - list-objects-filter: plug pattern_list leak\n\n Leak fix.\n\n Will merge back to 'next'.\n source: <b4361c3e-852b-e30c-f240-86c34bc9c474@web.de>\n\n\n* rs/t4205-do-not-exit-in-test-script (2022-12-02) 1 commit\n - t4205: don't exit test script on failure\n\n Test fix.\n\n Will merge back to 'next'.\n source: <c5b4d091-23c1-5a75-a255-99ec83973d8d@web.de>\n\n\n* ab/t5314-avoid-losing-exit-status (2022-12-02) 1 commit\n - t5314: check exit code of \"git\"\n\n Test fix.\n\n Will merge back to 'next'.\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 - t7600: don't ignore \"rev-parse\" exit code in helper\n\n Test fix.\n\n Will merge back to 'next'.\n source: <patch-v3-1.8-64dfec31fb3-20221202T114733Z-avarab@gmail.com>\n\n\n* jh/fsmonitor-darwin-modernize (2022-12-05) 1 commit\n - fsmonitor: eliminate call to deprecated FSEventStream function\n\n Stop using deprecated macOS API in fsmonitor.\n\n Will merge back to 'next'.\n source: <pull.1436.git.1669991072393.gitgitgadget@gmail.com>\n\n\n* js/t3920-shell-and-or-fix (2022-12-05) 1 commit\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\n Will merge back to 'next'.\n source: <febcfb0a-c410-fb71-cff9-92acfcb269e2@kdbg.org>\n\n\n* sx/pthread-error-check-fix (2022-12-05) 1 commit\n - maintenance: compare output of pthread functions for inequality with 0\n\n Correct pthread API usage.\n\n Will merge back to 'next'.\n source: <pull.1389.git.git.1670000578395.gitgitgadget@gmail.com>\n\n\n* jk/avoid-redef-system-functions (2022-12-05) 3 commits\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 Will merge back to 'next'.\n\n\n* jk/avoid-redef-system-functions-2.30 (2022-12-05) 2 commits\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\n Will merge back to 'next'.\n source: <Y4fH4rhcSztHwKvK@coredump.intra.peff.net>\n source: <Y4RAr04vS/TOM5uh@coredump.intra.peff.net>\n\n\n* jt/avoid-lazy-fetch-commits (2022-12-13) 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.1670885252.git.jonathantanmy@google.com>\n\n\n* rs/diff-parseopts (2022-12-02) 3 commits\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\n Will merge back to 'next'.\n source: <19325420-5630-87bb-0c2c-362151214b36@web.de>\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-11-30) 6 commits\n - SQUASH??? cocci fix\n - diff-merges: issue warning on lone '-m' option\n - diff-merges: support list of values for --diff-merges\n - diff-merges: implement log.diffMergesForce config\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\n Seems to break CI.\n Cocci complains about \"if (func_ptr != NULL)\"\n cf. https://github.com/git/git/actions/runs/3583592108/jobs/6029213624\n source: <20221127093721.31012-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-02) 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 source: <20221201155504.320461-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* rj/branch-copy-and-rename (2022-11-17) 1 commit\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\n Will merge back to 'next'.\n source: <f0b2d46c-2e9c-2630-2870-8ed550dd1606@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-11-14) 1 commit\n - format-patch: add --mboxrd alias for --pretty=mboxrd\n\n Teach `format-patch` a convenient alias for `--pretty=mboxrd`.\n\n Waiting for discussion to settle.\n source: <20221114094114.18986-1-e@80x24.org>\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 Waiting for review response.\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* aw/complete-case-insensitive (2022-11-30) 2 commits\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\n Will merge back to 'next'.\n source: <pull.1374.v2.git.git.1668990419.gitgitgadget@gmail.com>\n\n\n* ja/worktree-orphan (2022-11-10) 2 commits\n - worktree add: add --orphan flag\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\n Expecting another round?\n source: <20221110233137.10414-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-06) 11 commits\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 (this branch is used by ds/bundle-uri-4-fixup.)\n\n Bundle URIs part 4.\n\n Will merge back to 'next'?\n source: <pull.1400.v3.git.1670262639.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* rr/status-untracked-advice (2022-12-01) 1 commit\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\n Will merge back to 'next'.\n source: <pull.1384.v9.git.1669769536707.gitgitgadget@gmail.com>\n\n\n* cc/filtered-repack (2022-11-23) 2 commits\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\n Needs review.\n Seems to break CI.\n cf. https://github.com/git/git/actions/runs/3560918726\n source: <20221122175150.366828-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 Needs review.\n source: <pull.1352.v4.git.1670880984.gitgitgadget@gmail.com>\n\n--------------------------------------------------\n[Discarded]\n\n* gc/submodule-clone-update-with-branches (2022-10-30) 8 commits\n . clone, submodule update: create and check out branches\n . submodule--helper: remove update_data.suboid\n . submodule update: refactor update targets\n . submodule: return target of submodule symref\n . t5617: drop references to remote-tracking branches\n . submodule--helper clone: create named branch\n . repo-settings: add submodule_propagate_branches\n . clone: teach --detach option\n\n \"git clone --recurse-submodules\" and \"git submodule update\" learns\n to honor the \"propagete branches\" option.\n\n Retracted.\n cf. <xmqqedtl14xr.fsf@gitster.g>\n source: <pull.1321.v3.git.git.1666988096.gitgitgadget@gmail.com>\n\n\n* ab/remove--super-prefix (2022-11-21) 12 commits\n . fetch: rename \"--submodule-prefix\" to \"--super-prefix\"\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 . Merge branch 'ab/submodule-no-abspath' into ab/remove--super-prefix\n . submodule--helper absorbgitdirs: no abspaths in \"Migrating git...\"\n . Merge branch 'ab/submodule-helper-prep-only' into ab/remove--super-prefix\n\n Remove the top-level `--super-prefix` option.\n Will discard.\n cf. the thread leading to <xmqqmt86stm3.fsf@gitster.g>\n source: <cover-v3-0.9-00000000000-20221119T122853Z-avarab@gmail.com>\n\n\n* ab/submodule-no-abspath (2022-11-23) 2 commits\n . submodule absorbgitdirs: use relative <from> and <to> paths\n . submodule--helper absorbgitdirs: no abspaths in \"Migrating git...\"\n\n Remove an absolute path in the \"Migrating git directory\" message.\n\n Revert out of 'next'.\n cf. the thread leading to <xmqqmt86stm3.fsf@gitster.g>\n source: <patch-1.1-34b54fdd9bb-20221109T020347Z-avarab@gmail.com>\n\n\n* ab/cmake-nix-and-ci (2022-11-04) 14 commits\n . CI: add a \"linux-cmake-test\" to run cmake & ctest on linux\n . cmake: copy over git-p4.py for t983[56] perforce test\n . cmake: only look for \"sh\" in \"C:/Program Files\" on Windows\n . cmake: increase test timeout on Windows only\n . cmake: support GIT_TEST_OPTS, abstract away WIN32 defaults\n . Makefile + cmake: use environment, not GIT-BUILD-DIR\n . test-lib.sh: support a \"GIT_TEST_BUILD_DIR\"\n . cmake: set \"USE_LIBPCRE2\" in \"GIT-BUILD-OPTIONS\" for test-lib.sh\n . cmake & test-lib.sh: add a $GIT_SOURCE_DIR variable\n . cmake: chmod +x the bin-wrappers/* & SCRIPT_{SH,PERL} & git-p4\n . cmake: don't copy chainlint.pl to build directory\n . cmake: update instructions for portable CMakeLists.txt\n . cmake: use \"-S\" and \"-B\" to specify source and build directories\n . cmake: don't invoke msgfmt with --statistics\n\n Fix assorted issues with CTest on *nix machines.\n\n Revert out of 'next'.\n cf. <xmqq5yeuspam.fsf@gitster.g>\n source: <cover-v4-00.14-00000000000-20221103T160255Z-avarab@gmail.com>\n\n\n* ms/sendemail-validate-headers (2022-11-11) 1 commit\n . Expose header information to git-send-email's sendemail-validate hook\n\n Expecting a reroll.\n Appears to break t9001 completely?\n source: <20221111194223.644845-2-michael.strawbridge@amd.com>\n\n\n* hl/archive-recursive (2022-10-19) 10 commits\n . fixup! archive: add tests for git archive --recurse-submodules\n . archive: add tests for git archive --recurse-submodules\n . archive: add --recurse-submodules to git-archive command\n . archive: remove global repository from archive_args\n . archive: pass repo objects to write_archive handlers\n . tree: add repository parameter to read_tree_fn_t\n . tree: handle submodule case for read_tree_at properly\n . tree: increase test coverage for tree.c\n . tree: update cases to use repo_ tree methods\n . tree: do not use the_repository for tree traversal methods.\n\n \"git archive\" has been taught \"--recurse-submodules\" option to\n create a tarball that includes contents from submodules.\n\n Expecting a reroll.\n Seems to break win+VS test(8).\n cf. https://github.com/git/git/actions/runs/3293333066 whose only\n difference from https://github.com/git/git/actions/runs/3293553109\n is the inclusion of this topic.\n source: <pull.1359.v3.git.git.1665973401.gitgitgadget@gmail.com>\n\n\n* js/bisect-in-c (2022-08-30) 17 commits\n . bisect: no longer try to clean up left-over `.git/head-name` files\n . bisect: remove Cogito-related code\n . Turn `git bisect` into a full built-in\n . bisect: move even the command-line parsing to `bisect--helper`\n . bisect--helper: make `state` optional\n . bisect--helper: calling `bisect_state()` without an argument is a bug\n . bisect: avoid double-quoting when printing the failed command\n . bisect run: fix the error message\n . bisect: verify that a bogus option won't try to start a bisection\n . bisect--helper: migrate to OPT_SUBCOMMAND()\n . bisect--helper: make the order consistently `argc, argv`\n . bisect--helper: make `terms` an explicit singleton\n . bisect--helper: simplify exit code computation\n . bisect--helper: really retire `--bisect-autostart`\n . bisect--helper: really retire --bisect-next-check\n . bisect--helper: retire the --no-log option\n . Merge branch 'sg/parse-options-subcommand' into js/bisect-in-c\n\n Final bits of \"git bisect.sh\" have been rewritten in C.\n\n Tired of waiting for too long.\n source: <pull.1132.v6.git.1661885419.gitgitgadget@gmail.com>\n\n\n* ag/merge-strategies-in-c (2022-08-10) 14 commits\n . sequencer: use the \"octopus\" strategy without forking\n . sequencer: use the \"resolve\" strategy without forking\n . merge: use the \"octopus\" strategy without forking\n . merge: use the \"resolve\" strategy without forking\n . merge-octopus: rewrite in C\n . merge-recursive: move better_branch_name() to merge.c\n . merge-resolve: rewrite in C\n . merge-one-file: rewrite in C\n . update-index: move add_cacheinfo() to read-cache.c\n . merge-index: add a new way to invoke `git-merge-one-file'\n . merge-index: drop the index\n . merge-index: libify merge_one_path() and merge_all()\n . t6060: add tests for removed files\n . t6060: modify multiple files to expose a possible issue with merge-index\n\n An attempt to rewrite remaining merge strategies from shell to C.\n\n Tired of waiting for too long.\n source: <20220809185429.20098-1-alban.gruin@gmail.com>\n\n\n* cw/remote-object-info (2022-08-13) 7 commits\n . SQUASH???\n . cat-file: add remote-object-info to batch-command\n . transport: add client support for object-info\n . serve: advertise object-info feature\n . protocol-caps: initialization bug fix\n . fetch-pack: move fetch initialization\n . fetch-pack: refactor packet writing\n\n A client component to talk with the object-info endpoint.\n\n Tired of waiting for too long.\n Under SANITIZE=address, t1006-cat-file.sh finds a breakage.\n cf. <20220728230210.2952731-1-calvinwan@google.com>\n cf. <CAFySSZDvgwbbHCHfyuaqX3tKsr-GjJ9iihygg6rNNe46Ys7_EA@mail.gmail.com>\n source: <20220728230210.2952731-1-calvinwan@google.com>\n\n\n* tl/ls-tree--pattern (2022-11-17) 6 commits\n . ls-tree: introduce '--pattern' option\n . ls-tree: introduce 'match_pattern()' function\n . ls-tree: improving cohension in the print code\n . ls-tree: optimize params of 'show_tree_common_default_long()'\n . t3104: remove shift code in 'test_ls_tree_format'\n . ls-tree: cleanup the redundant SPACE\n\n A synonym for \"ls-tree | grep <pattern>\", \"ls-tree\n --pattern=<pattern>\" was introduced.\n\n No upsides.\n cf. <xmqqbko6y2q5.fsf@gitster.g>\n source: <20221117113023.65865-1-tenglong.tl@alibaba-inc.com>\n\n\n* ds/packed-refs-v2 (2022-11-07) 30 commits\n . refs: skip hashing when writing packed-refs v2\n . p1401: create performance test for ref operations\n . ci: run GIT_TEST_PACKED_REFS_VERSION=2 in some builds\n . t*: skip packed-refs v2 over http tests\n . t3210: require packed-refs v1 for some tests\n . t5502: add PACKED_REFS_V1 prerequisite\n . t5312: allow packed-refs v2 format\n . t1409: test with packed-refs v2\n . packed-backend: create GIT_TEST_PACKED_REFS_VERSION\n . packed-refs: write prefix chunks\n . packed-refs: read optional prefix chunks\n . packed-refs: read file format v2\n . packed-refs: write file format version 2\n . packed-backend: create shell of v2 writes\n . config: add config values for packed-refs v2\n . packed-backend: create abstraction for writing refs\n . packed-backend: extract iterator/updates merge\n . packed-backend: extract add_write_error()\n . refs: extract packfile format to new file\n . chunk-format: parse trailing table of contents\n . chunk-format: allow trailing table of contents\n . chunk-format: store chunk offset during write\n . chunk-format: document trailing table of contents\n . chunk-format: number of chunks is optional\n . refs: allow loose files without packed-refs\n . repository: wire ref extensions to ref backends\n . config: fix multi-level bulleted list\n . extensions: add refFormat extension\n . read-cache: add index.computeHash config option\n . hashfile: allow skipping the hash function\n\n Retracted.\n\n\n* ab/make-bin-wrappers (2022-10-31) 4 commits\n . Makefile: simplify $(test_bindir_programs) rule by splitting it up\n . Makefile: rename \"test_bindir_programs\" variable, pre-declare\n . Makefile: define \"TEST_{PROGRAM,OBJS}\" variables earlier\n . Makefile: factor sed-powered '#!/bin/sh' munging into a variable\n\n Resolve issues with the bin-wrappers/% rules where \"make\n bin-wrappers/git\" would generate the script but not \"git\" itself.\n ((that is not an issue but doing the right thing))\n\n Bad idea.\n source: <cover-v3-0.4-00000000000-20221031T222249Z-avarab@gmail.com>\n"},{"id":"469010","messageId":"xmqq7cyuw9h4.fsf@gitster.g","threadId":"58947","inReplyTo":"xmqqiliewbje.fsf@gitster.g","subject":"Re: What's cooking in git.git (Dec 2022, #05; Wed, 14)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2022-12-14T10:44:23Z","receivedAt":"2022-12-14T10:44:29Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Junio C Hamano <gitster@pobox.com> writes:\n\n> In the past, I tried to re-examine all the topics in 'next' myself\n> to pick and choose the ones to be kept before rewinding and\n> rebuilding 'next' after each release, which took me a while.  This\n> time, to share the burden to expedite the process, I'll reset 'next'\n> to 'master' without any topics merged, and rely on input from list\n> participants.\n>\n> The topics that used to be in 'next' are all marked as \"Will merge\n> back to 'next'\", but people can tell me to give them a chance to\n> reboot their topics, instead of piling \"oops, that was wrong\" fixes\n> on top, while I wait for such an input for the coming days.\n\nWhat is involved in \"re-examine to pick and choose the ones to be\nkept\" was to go to the original thread (which should not be too\nhard, as Taylor has maintained the \"source:\" line in the report well\nduring my absense) see general consensus and the reason behind the\nconsensus back then still applies today.  So another way people can\nhelp the process is to say something like \"After re-reading the\nhttps://lore.kernel.org/git/$THIS thread, and particularly reading\n$THAT message from $TRUSTWORTHY_REVIEWER, what the $TOPIC wants to\ndo and how it does it are both sensible.\"\n\nNo self promotion, though ;-)\n"},{"id":"469015","messageId":"b712fa19-96b8-80db-5aa7-f823bed687e4@github.com","threadId":"58947","inReplyTo":"xmqqiliewbje.fsf@gitster.g","subject":"Re: What's cooking in git.git (Dec 2022, #05; Wed, 14)","fromName":"Derrick Stolee","fromEmail":"derrickstolee@github.com","sentAt":"2022-12-14T15:09:38Z","receivedAt":"2022-12-14T15:09:49Z","isPatch":false,"sender":{"key":"stolee@gmail.com","avatar":"https://avatars.githubusercontent.com/u/570044?v=4"},"body":"On 12/14/2022 4:59 AM, Junio C Hamano wrote:\n\n> * ds/omit-trailing-hash-in-index (2022-12-13) 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>  Will merge to 'next'.\n>  source: <pull.1439.v2.git.1670862677.gitgitgadget@gmail.com>\n\nThere are some outstanding comments on expanding the documentation\nand commit messages, so I'm intending to send a v3 later this week.\nPlease hold off from merging to 'next' until then.\n\nThanks,\n-Stolee\n"},{"id":"469026","messageId":"3fc9fa4f-9904-61a5-2b06-465e184d7c15@jeffhostetler.com","threadId":"58947","inReplyTo":"xmqqiliewbje.fsf@gitster.g","subject":"Re: What's cooking in git.git (Dec 2022, #05; Wed, 14)","fromName":"Jeff Hostetler","fromEmail":"git@jeffhostetler.com","sentAt":"2022-12-14T19:09:26Z","receivedAt":"2022-12-14T19:09:34Z","isPatch":false,"sender":{"key":"git@jeffhostetler.com","avatar":null},"body":"\n\nOn 12/14/22 4:59 AM, Junio C Hamano wrote:\n> * jh/fsmonitor-darwin-modernize (2022-12-05) 1 commit\n>   - fsmonitor: eliminate call to deprecated FSEventStream function\n> \n>   Stop using deprecated macOS API in fsmonitor.\n> \n>   Will merge back to 'next'.\n>   source:<pull.1436.git.1669991072393.gitgitgadget@gmail.com>\n\n\nStefan Sundin noticed a typo in my commit message:\n >Typo here, MacOS 13 is Ventura not Ventana.\n\nI'll send a V2 shortly (and it will include your paragraph\nabout Apple and deprecated APIs).\n\nThanks,\nJeff\n"},{"id":"469033","messageId":"aedc0911-5538-603e-b0e0-71435039545e@jeffhostetler.com","threadId":"58947","inReplyTo":"xmqqiliewbje.fsf@gitster.g","subject":"Re: What's cooking in git.git (Dec 2022, #05; Wed, 14)","fromName":"Jeff Hostetler","fromEmail":"git@jeffhostetler.com","sentAt":"2022-12-14T19:18:01Z","receivedAt":"2022-12-14T19:19:01Z","isPatch":false,"sender":{"key":"git@jeffhostetler.com","avatar":null},"body":"\n\nOn 12/14/22 4:59 AM, Junio C Hamano wrote:\n> * jh/t7527-unflake-by-forcing-cookie (2022-12-02) 1 commit\n>   - fsmonitor: fix race seen in t7527\n> \n>   Make fsmonitor more robust to avoid the flakiness seen in t7527.\n> \n>   Will merge back to 'next'.\n>   source:<pull.1437.git.1669937534944.gitgitgadget@gmail.com>\n> \n\nThere was no discussion on this item and nothing needs to be\nrevisited, so it could go as is.\n\nThanks,\nJeff\n"},{"id":"469034","messageId":"Y5ooJJLqPP0R2SAS@nand.local","threadId":"58947","inReplyTo":"xmqq7cyuw9h4.fsf@gitster.g","subject":"Re: What's cooking in git.git (Dec 2022, #05; Wed, 14)","fromName":"Taylor Blau","fromEmail":"me@ttaylorr.com","sentAt":"2022-12-14T19:46:44Z","receivedAt":"2022-12-14T19:46:58Z","isPatch":false,"sender":{"key":"me@ttaylorr.com","avatar":"https://avatars.githubusercontent.com/u/301000140?v=4"},"body":"On Wed, Dec 14, 2022 at 07:44:23PM +0900, Junio C Hamano wrote:\n> Junio C Hamano <gitster@pobox.com> writes:\n>\n> > In the past, I tried to re-examine all the topics in 'next' myself\n> > to pick and choose the ones to be kept before rewinding and\n> > rebuilding 'next' after each release, which took me a while.  This\n> > time, to share the burden to expedite the process, I'll reset 'next'\n> > to 'master' without any topics merged, and rely on input from list\n> > participants.\n> >\n> > The topics that used to be in 'next' are all marked as \"Will merge\n> > back to 'next'\", but people can tell me to give them a chance to\n> > reboot their topics, instead of piling \"oops, that was wrong\" fixes\n> > on top, while I wait for such an input for the coming days.\n>\n> What is involved in \"re-examine to pick and choose the ones to be\n> kept\" was to go to the original thread (which should not be too\n> hard, as Taylor has maintained the \"source:\" line in the report well\n> during my absense) see general consensus and the reason behind the\n> consensus back then still applies today.\n\nSince it wasn't obvious to me, I figure it is worth mentioning that the\neffort to maintain these source lines can be done via the \"amlog\" notes,\nwhich are automatically filled in when applying new patches from the\nlist via your post-applypatch hook.\n\nThe relevant parts being:\n\n  message_id=\"$(...)\"\n  if test -n \"$message_id\" && head=$(git rev-parse --verify HEAD 2>/dev/null)\n  then\n    echo \"$head $message_id\" >>\"$GIT_DIR\"/am.log &&\n    (\n      GIT_NOTES_REF=refs/notes/amlog\n      export GIT_NOTES_REF\n      git notes add -f -m \"Message-Id: $message_id\" \"$head\"\n    )\n  fi\n\nI just made sure to push `refs/notes/amlog` up when doing new push-outs.\nThe rest (including the \"source:\" lines in the WC reports) was made easy\nby your Meta/cook script.\n\nThanks,\nTaylor\n"},{"id":"469059","messageId":"xmqqa63pv93r.fsf@gitster.g","threadId":"58947","inReplyTo":"b712fa19-96b8-80db-5aa7-f823bed687e4@github.com","subject":"Re: What's cooking in git.git (Dec 2022, #05; Wed, 14)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2022-12-14T23:50:00Z","receivedAt":"2022-12-14T23:50:06Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Derrick Stolee <derrickstolee@github.com> writes:\n\n> On 12/14/2022 4:59 AM, Junio C Hamano wrote:\n>\n>> * ds/omit-trailing-hash-in-index (2022-12-13) 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>>  Will merge to 'next'.\n>>  source: <pull.1439.v2.git.1670862677.gitgitgadget@gmail.com>\n>\n> There are some outstanding comments on expanding the documentation\n> and commit messages, so I'm intending to send a v3 later this week.\n> Please hold off from merging to 'next' until then.\n\nThanks, will comply.\n\n"},{"id":"469060","messageId":"xmqq359hv93f.fsf@gitster.g","threadId":"58947","inReplyTo":"3fc9fa4f-9904-61a5-2b06-465e184d7c15@jeffhostetler.com","subject":"Re: What's cooking in git.git (Dec 2022, #05; Wed, 14)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2022-12-14T23:50:12Z","receivedAt":"2022-12-14T23:50:20Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Jeff Hostetler <git@jeffhostetler.com> writes:\n\n> On 12/14/22 4:59 AM, Junio C Hamano wrote:\n>> * jh/fsmonitor-darwin-modernize (2022-12-05) 1 commit\n>>   - fsmonitor: eliminate call to deprecated FSEventStream function\n>>   Stop using deprecated macOS API in fsmonitor.\n>>   Will merge back to 'next'.\n>>   source:<pull.1436.git.1669991072393.gitgitgadget@gmail.com>\n>\n>\n> Stefan Sundin noticed a typo in my commit message:\n>>Typo here, MacOS 13 is Ventura not Ventana.\n>\n> I'll send a V2 shortly (and it will include your paragraph\n> about Apple and deprecated APIs).\n\nThanks, will hold.\n\n"},{"id":"469087","messageId":"221215.865yed3tzv.gmgdl@evledraar.gmail.com","threadId":"58947","inReplyTo":"xmqqiliewbje.fsf@gitster.g","subject":"ag/merge-strategies-in-c (was: What's cooking in git.git (Dec 2022, #05; Wed, 14))","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2022-12-15T09:14:20Z","receivedAt":"2022-12-15T09:18:35Z","isPatch":false,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"\nOn Wed, Dec 14 2022, Junio C Hamano wrote:\n\n> * ag/merge-strategies-in-c (2022-08-10) 14 commits\n>  . sequencer: use the \"octopus\" strategy without forking\n>  . sequencer: use the \"resolve\" strategy without forking\n>  . merge: use the \"octopus\" strategy without forking\n>  . merge: use the \"resolve\" strategy without forking\n>  . merge-octopus: rewrite in C\n>  . merge-recursive: move better_branch_name() to merge.c\n>  . merge-resolve: rewrite in C\n>  . merge-one-file: rewrite in C\n>  . update-index: move add_cacheinfo() to read-cache.c\n>  . merge-index: add a new way to invoke `git-merge-one-file'\n>  . merge-index: drop the index\n>  . merge-index: libify merge_one_path() and merge_all()\n>  . t6060: add tests for removed files\n>  . t6060: modify multiple files to expose a possible issue with merge-index\n>\n>  An attempt to rewrite remaining merge strategies from shell to C.\n>\n>  Tired of waiting for too long.\n>  source: <20220809185429.20098-1-alban.gruin@gmail.com>\n\nI submitted a v9 of this during Taylor's maintainership, but it fell\nbetween the cracks. I've submitted a rebased-on-master v10 now (there\nwere some conflicts):\nhttps://lore.kernel.org/git/cover-v10-00.12-00000000000-20221215T084803Z-avarab@gmail.com/\n\nIt's just the \"prep\" patches, the real meaty part is converting the\nmerge drivers, which will come after. Some of the performance numbers\nfor those are really impressive...\n"},{"id":"469099","messageId":"221215.86r0x12en6.gmgdl@evledraar.gmail.com","threadId":"58947","inReplyTo":"xmqqiliewbje.fsf@gitster.g","subject":"ab/remove--super-prefix & ab/submodule-no-abspath (was: What's cooking in git.git (Dec 2022, #05; Wed, 14))","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2022-12-15T09:33:40Z","receivedAt":"2022-12-15T09:35:49Z","isPatch":false,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"\nOn Wed, Dec 14 2022, Junio C Hamano wrote:\n\n> * ab/remove--super-prefix (2022-11-21) 12 commits\n>  . fetch: rename \"--submodule-prefix\" to \"--super-prefix\"\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>  . Merge branch 'ab/submodule-no-abspath' into ab/remove--super-prefix\n>  . submodule--helper absorbgitdirs: no abspaths in \"Migrating git...\"\n>  . Merge branch 'ab/submodule-helper-prep-only' into ab/remove--super-prefix\n>\n>  Remove the top-level `--super-prefix` option.\n>  Will discard.\n>  cf. the thread leading to <xmqqmt86stm3.fsf@gitster.g>\n>  source: <cover-v3-0.9-00000000000-20221119T122853Z-avarab@gmail.com>\n>\n>\n> * ab/submodule-no-abspath (2022-11-23) 2 commits\n>  . submodule absorbgitdirs: use relative <from> and <to> paths\n>  . submodule--helper absorbgitdirs: no abspaths in \"Migrating git...\"\n>\n>  Remove an absolute path in the \"Migrating git directory\" message.\n>\n>  Revert out of 'next'.\n>  cf. the thread leading to <xmqqmt86stm3.fsf@gitster.g>\n>  source: <patch-1.1-34b54fdd9bb-20221109T020347Z-avarab@gmail.com>\n\nThis stranded on the question of whether the \"absorbgitdirs\" message\nshould show relative paths or not.\n\nI've re-rolled this post-release just now at\nhttps://lore.kernel.org/git/cover-v4-0.9-00000000000-20221215T083502Z-avarab@gmail.com/;\nthis time around there's no changes to the output.\n"},{"id":"469107","messageId":"221215.86mt7p2dx4.gmgdl@evledraar.gmail.com","threadId":"58947","inReplyTo":"xmqqiliewbje.fsf@gitster.g","subject":"js/bisect-in-c (was: What's cooking in git.git (Dec 2022, #05; Wed, 14))","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2022-12-15T09:49:44Z","receivedAt":"2022-12-15T09:52:08Z","isPatch":false,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"\nOn Wed, Dec 14 2022, Junio C Hamano wrote:\n\n> * js/bisect-in-c (2022-08-30) 17 commits\n>  . bisect: no longer try to clean up left-over `.git/head-name` files\n>  . bisect: remove Cogito-related code\n>  . Turn `git bisect` into a full built-in\n>  . bisect: move even the command-line parsing to `bisect--helper`\n>  . bisect--helper: make `state` optional\n>  . bisect--helper: calling `bisect_state()` without an argument is a bug\n>  . bisect: avoid double-quoting when printing the failed command\n>  . bisect run: fix the error message\n>  . bisect: verify that a bogus option won't try to start a bisection\n>  . bisect--helper: migrate to OPT_SUBCOMMAND()\n>  . bisect--helper: make the order consistently `argc, argv`\n>  . bisect--helper: make `terms` an explicit singleton\n>  . bisect--helper: simplify exit code computation\n>  . bisect--helper: really retire `--bisect-autostart`\n>  . bisect--helper: really retire --bisect-next-check\n>  . bisect--helper: retire the --no-log option\n>  . Merge branch 'sg/parse-options-subcommand' into js/bisect-in-c\n>\n>  Final bits of \"git bisect.sh\" have been rewritten in C.\n>\n>  Tired of waiting for too long.\n>  source: <pull.1132.v6.git.1661885419.gitgitgadget@gmail.com>\n\nI submitted\nhttps://lore.kernel.org/git/cover-0.6-00000000000-20221215T094038Z-avarab@gmail.com/\njust now, which cherry-picks the various small fixes from this topic.\n"},{"id":"469119","messageId":"87k02svpgy.fsf@gmail.com","threadId":"58947","inReplyTo":"xmqqiliewbje.fsf@gitster.g","subject":"Re: What's cooking in git.git (Dec 2022, #05; Wed, 14)","fromName":"Sean Allred","fromEmail":"allred.sean@gmail.com","sentAt":"2022-12-15T11:55:39Z","receivedAt":"2022-12-15T12:08:52Z","isPatch":false,"sender":{"key":"allred.sean@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2082195?v=4"},"body":"\n> * sa/git-var-empty (2022-11-27) 2 commits\n>   (merged to 'next' on 2022-12-01 at 3b81dcb382)\n>  + var: allow GIT_EDITOR to return null\n>  + var: do not print usage() with a correct invocation\n>\n>  \"git var UNKNOWN_VARIABLE\" and \"git var VARIABLE\" with the variable\n>  given an empty value used to behave identically.  Now the latter\n>  just gives an empty output, while the former still gives an error\n>  message.\n>  source: <pull.1434.v3.git.1669472277.gitgitgadget@gmail.com>\n\nAfter reading gitworkflows.txt and maintaingit.txt, I take it 'next' is\na proving ground for the larger community to have a chance to suss out\nany bugs/regressions. I'm going to assume no further input is needed\nfrom me regarding this topic (unless of course I've got a bug!), but let\nme know if I'm mistaken :-) (and thanks to all the folks who've already\nprovided review!)\n\nIs now a good time to resume the conversation of exposing\nGIT_SEQUENCE_EDITOR variable within git-var [1]? I expect the patch to\nbe mostly the same, but instead following the now-corrected pattern laid\nout for GIT_EDITOR (and updated to use the new test helper functions).\nShould I then base my branch on 'next' or upon 'sa/git-var-empty'\nspecifically (now merged to 'next')?\n\n[1]: https://lore.kernel.org/git/pull.1424.git.1668972017089.gitgitgadget@gmail.com/T/#u\n\n--\nSean Allred\n"},{"id":"469122","messageId":"c9c2c979-82b3-8be1-1edb-343661cf4b32@dunelm.org.uk","threadId":"58947","inReplyTo":"221215.865yed3tzv.gmgdl@evledraar.gmail.com","subject":"Re: ag/merge-strategies-in-c (was: What's cooking in git.git (Dec 2022, #05; Wed, 14))","fromName":"Phillip Wood","fromEmail":"phillip.wood123@gmail.com","sentAt":"2022-12-15T12:55:34Z","receivedAt":"2022-12-15T12:55:42Z","isPatch":false,"sender":{"key":"phillip.wood@dunelm.org.uk","avatar":null},"body":"\n\nOn 15/12/2022 09:14, Ævar Arnfjörð Bjarmason wrote:\n> \n> On Wed, Dec 14 2022, Junio C Hamano wrote:\n> \n>> * ag/merge-strategies-in-c (2022-08-10) 14 commits\n>>   . sequencer: use the \"octopus\" strategy without forking\n>>   . sequencer: use the \"resolve\" strategy without forking\n>>   . merge: use the \"octopus\" strategy without forking\n>>   . merge: use the \"resolve\" strategy without forking\n>>   . merge-octopus: rewrite in C\n>>   . merge-recursive: move better_branch_name() to merge.c\n>>   . merge-resolve: rewrite in C\n>>   . merge-one-file: rewrite in C\n>>   . update-index: move add_cacheinfo() to read-cache.c\n>>   . merge-index: add a new way to invoke `git-merge-one-file'\n>>   . merge-index: drop the index\n>>   . merge-index: libify merge_one_path() and merge_all()\n>>   . t6060: add tests for removed files\n>>   . t6060: modify multiple files to expose a possible issue with merge-index\n>>\n>>   An attempt to rewrite remaining merge strategies from shell to C.\n>>\n>>   Tired of waiting for too long.\n>>   source: <20220809185429.20098-1-alban.gruin@gmail.com>\n> \n> I submitted a v9 of this during Taylor's maintainership, but it fell\n> between the cracks. I've submitted a rebased-on-master v10 now (there\n> were some conflicts):\n> https://lore.kernel.org/git/cover-v10-00.12-00000000000-20221215T084803Z-avarab@gmail.com/\n> \n> It's just the \"prep\" patches, the real meaty part is converting the\n> merge drivers, which will come after. Some of the performance numbers\n> for those are really impressive...\n\nI think splitting this in two is a good idea as there were only a couple \nof outstanding issues with the first half of Alban's V8. When you posted \nV9 I looked at the range-diff hoping to see a couple of localized \nchanges addressing those issues. Instead it looks like you've rewritten \nmost of the patches that people have already spent a considerable time \nreviewing. I don't think it is a good use of reviewers' time to \nessentially start reviewing again from scratch.\n\nBest Wishes\n\nPhillip\n"},{"id":"469131","messageId":"221215.86a63o3c0i.gmgdl@evledraar.gmail.com","threadId":"58947","inReplyTo":"c9c2c979-82b3-8be1-1edb-343661cf4b32@dunelm.org.uk","subject":"Re: ag/merge-strategies-in-c (was: What's cooking in git.git (Dec 2022, #05; Wed, 14))","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2022-12-15T15:32:48Z","receivedAt":"2022-12-15T15:47:02Z","isPatch":false,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"\nOn Thu, Dec 15 2022, Phillip Wood wrote:\n\n> On 15/12/2022 09:14, Ævar Arnfjörð Bjarmason wrote:\n>> On Wed, Dec 14 2022, Junio C Hamano wrote:\n>> \n>>> * ag/merge-strategies-in-c (2022-08-10) 14 commits\n>>>   . sequencer: use the \"octopus\" strategy without forking\n>>>   . sequencer: use the \"resolve\" strategy without forking\n>>>   . merge: use the \"octopus\" strategy without forking\n>>>   . merge: use the \"resolve\" strategy without forking\n>>>   . merge-octopus: rewrite in C\n>>>   . merge-recursive: move better_branch_name() to merge.c\n>>>   . merge-resolve: rewrite in C\n>>>   . merge-one-file: rewrite in C\n>>>   . update-index: move add_cacheinfo() to read-cache.c\n>>>   . merge-index: add a new way to invoke `git-merge-one-file'\n>>>   . merge-index: drop the index\n>>>   . merge-index: libify merge_one_path() and merge_all()\n>>>   . t6060: add tests for removed files\n>>>   . t6060: modify multiple files to expose a possible issue with merge-index\n>>>\n>>>   An attempt to rewrite remaining merge strategies from shell to C.\n>>>\n>>>   Tired of waiting for too long.\n>>>   source: <20220809185429.20098-1-alban.gruin@gmail.com>\n>> I submitted a v9 of this during Taylor's maintainership, but it fell\n>> between the cracks. I've submitted a rebased-on-master v10 now (there\n>> were some conflicts):\n>> https://lore.kernel.org/git/cover-v10-00.12-00000000000-20221215T084803Z-avarab@gmail.com/\n>> It's just the \"prep\" patches, the real meaty part is converting the\n>> merge drivers, which will come after. Some of the performance numbers\n>> for those are really impressive...\n>\n> I think splitting this in two is a good idea as there were only a\n> couple of outstanding issues with the first half of Alban's V8. When\n> you posted V9 I looked at the range-diff hoping to see a couple of\n> localized changes addressing those issues. Instead it looks like\n> you've rewritten most of the patches that people have already spent a\n> considerable time reviewing. I don't think it is a good use of\n> reviewers' time to essentially start reviewing again from scratch.\n\nWhat do you consider a good way to turn this comment into something\nactionable?\n\nTo have a minimal re-submission of the v8 which simply fixes the\nsemnatic & textual merge conflicts we've had on \"master\" in the interim?\n\nI think such a re-submission would need to address the issues I noted in\nthe v9 CL[1]. E.g. that in over-libifying merge-index its behavior was\nchanged, e.g. emitting N error() instead of die()-ing on the 1st\none. Addressing that is going to need to require around the same code\nchanges.\n\nThis is also a case where the range-diff looks overly scary, aside from\nsuch specific fixes the end result is substantially the same, but I did\nsplit up (and mostly not rewrite) the existing patches to:\n\n* Cleanly separate those bits that were changing behavior, from those\n  that were not (and precede them with tests to assert that)\n\n* Make the eventual libification change as small as possible, now it\n  really benefits from the diff rename detection.\n\nIf you have some more specific suggestions for how to move forward I'm\nall ears.\n\n1. https://lore.kernel.org/git/cover-v9-00.12-00000000000-20221118T110058Z-avarab@gmail.com/\n"},{"id":"469135","messageId":"e7da3e4c-e87d-0282-0b8a-2fa2fee371aa@dunelm.org.uk","threadId":"58947","inReplyTo":"221215.86a63o3c0i.gmgdl@evledraar.gmail.com","subject":"Re: ag/merge-strategies-in-c (was: What's cooking in git.git (Dec 2022, #05; Wed, 14))","fromName":"Phillip Wood","fromEmail":"phillip.wood123@gmail.com","sentAt":"2022-12-15T16:27:50Z","receivedAt":"2022-12-15T16:28:55Z","isPatch":false,"sender":{"key":"phillip.wood@dunelm.org.uk","avatar":null},"body":"Hi Ævar\n\nOn 15/12/2022 15:32, Ævar Arnfjörð Bjarmason wrote:\n> \n> On Thu, Dec 15 2022, Phillip Wood wrote:\n> \n>> On 15/12/2022 09:14, Ævar Arnfjörð Bjarmason wrote:\n>>> On Wed, Dec 14 2022, Junio C Hamano wrote:\n>>>\n>>>> * ag/merge-strategies-in-c (2022-08-10) 14 commits\n>>>>    . sequencer: use the \"octopus\" strategy without forking\n>>>>    . sequencer: use the \"resolve\" strategy without forking\n>>>>    . merge: use the \"octopus\" strategy without forking\n>>>>    . merge: use the \"resolve\" strategy without forking\n>>>>    . merge-octopus: rewrite in C\n>>>>    . merge-recursive: move better_branch_name() to merge.c\n>>>>    . merge-resolve: rewrite in C\n>>>>    . merge-one-file: rewrite in C\n>>>>    . update-index: move add_cacheinfo() to read-cache.c\n>>>>    . merge-index: add a new way to invoke `git-merge-one-file'\n>>>>    . merge-index: drop the index\n>>>>    . merge-index: libify merge_one_path() and merge_all()\n>>>>    . t6060: add tests for removed files\n>>>>    . t6060: modify multiple files to expose a possible issue with merge-index\n>>>>\n>>>>    An attempt to rewrite remaining merge strategies from shell to C.\n>>>>\n>>>>    Tired of waiting for too long.\n>>>>    source: <20220809185429.20098-1-alban.gruin@gmail.com>\n>>> I submitted a v9 of this during Taylor's maintainership, but it fell\n>>> between the cracks. I've submitted a rebased-on-master v10 now (there\n>>> were some conflicts):\n>>> https://lore.kernel.org/git/cover-v10-00.12-00000000000-20221215T084803Z-avarab@gmail.com/\n>>> It's just the \"prep\" patches, the real meaty part is converting the\n>>> merge drivers, which will come after. Some of the performance numbers\n>>> for those are really impressive...\n>>\n>> I think splitting this in two is a good idea as there were only a\n>> couple of outstanding issues with the first half of Alban's V8. When\n>> you posted V9 I looked at the range-diff hoping to see a couple of\n>> localized changes addressing those issues. Instead it looks like\n>> you've rewritten most of the patches that people have already spent a\n>> considerable time reviewing. I don't think it is a good use of\n>> reviewers' time to essentially start reviewing again from scratch.\n> \n> What do you consider a good way to turn this comment into something\n> actionable?\n\nTo address the issues noted in [1-3] by tweaking patches 3, 5 & 7 of v8 \nand not rewrite all the other patches. Note that the sequencer cannot \ndie() while merging so we need to be careful when fixing patch 3 - it \nshould bail out early rather than dying when there is an error.\n\nBest Wishes\n\nPhillip\n\n[1] https://lore.kernel.org/git/220817.86lernaa9i.gmgdl@evledraar.gmail.com\n[2] https://lore.kernel.org/git/o759r3qn-nqn9-oq22-p90o-2nrn24085n80@tzk.qr\n[3] https://lore.kernel.org/git/2r992r19-or36-733r-1139-4575n9o6o23s@tzk.qr\n\n> To have a minimal re-submission of the v8 which simply fixes the\n> semnatic & textual merge conflicts we've had on \"master\" in the interim?\n> \n> I think such a re-submission would need to address the issues I noted in\n> the v9 CL[1]. E.g. that in over-libifying merge-index its behavior was\n> changed, e.g. emitting N error() instead of die()-ing on the 1st\n> one. Addressing that is going to need to require around the same code\n> changes.\n> \n> This is also a case where the range-diff looks overly scary, aside from\n> such specific fixes the end result is substantially the same, but I did\n> split up (and mostly not rewrite) the existing patches to:\n> \n> * Cleanly separate those bits that were changing behavior, from those\n>    that were not (and precede them with tests to assert that)\n> \n> * Make the eventual libification change as small as possible, now it\n>    really benefits from the diff rename detection.\n> \n> If you have some more specific suggestions for how to move forward I'm\n> all ears.\n> \n> 1. https://lore.kernel.org/git/cover-v9-00.12-00000000000-20221118T110058Z-avarab@gmail.com/\n"},{"id":"469136","messageId":"221215.86wn6s1v9k.gmgdl@evledraar.gmail.com","threadId":"58947","inReplyTo":"e7da3e4c-e87d-0282-0b8a-2fa2fee371aa@dunelm.org.uk","subject":"Re: ag/merge-strategies-in-c (was: What's cooking in git.git (Dec 2022, #05; Wed, 14))","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2022-12-15T16:29:57Z","receivedAt":"2022-12-15T16:34:06Z","isPatch":false,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"\nOn Thu, Dec 15 2022, Phillip Wood wrote:\n\n> Hi Ævar\n>\n> On 15/12/2022 15:32, Ævar Arnfjörð Bjarmason wrote:\n>> On Thu, Dec 15 2022, Phillip Wood wrote:\n>> \n>>> On 15/12/2022 09:14, Ævar Arnfjörð Bjarmason wrote:\n>>>> On Wed, Dec 14 2022, Junio C Hamano wrote:\n>>>>\n>>>>> * ag/merge-strategies-in-c (2022-08-10) 14 commits\n>>>>>    . sequencer: use the \"octopus\" strategy without forking\n>>>>>    . sequencer: use the \"resolve\" strategy without forking\n>>>>>    . merge: use the \"octopus\" strategy without forking\n>>>>>    . merge: use the \"resolve\" strategy without forking\n>>>>>    . merge-octopus: rewrite in C\n>>>>>    . merge-recursive: move better_branch_name() to merge.c\n>>>>>    . merge-resolve: rewrite in C\n>>>>>    . merge-one-file: rewrite in C\n>>>>>    . update-index: move add_cacheinfo() to read-cache.c\n>>>>>    . merge-index: add a new way to invoke `git-merge-one-file'\n>>>>>    . merge-index: drop the index\n>>>>>    . merge-index: libify merge_one_path() and merge_all()\n>>>>>    . t6060: add tests for removed files\n>>>>>    . t6060: modify multiple files to expose a possible issue with merge-index\n>>>>>\n>>>>>    An attempt to rewrite remaining merge strategies from shell to C.\n>>>>>\n>>>>>    Tired of waiting for too long.\n>>>>>    source: <20220809185429.20098-1-alban.gruin@gmail.com>\n>>>> I submitted a v9 of this during Taylor's maintainership, but it fell\n>>>> between the cracks. I've submitted a rebased-on-master v10 now (there\n>>>> were some conflicts):\n>>>> https://lore.kernel.org/git/cover-v10-00.12-00000000000-20221215T084803Z-avarab@gmail.com/\n>>>> It's just the \"prep\" patches, the real meaty part is converting the\n>>>> merge drivers, which will come after. Some of the performance numbers\n>>>> for those are really impressive...\n>>>\n>>> I think splitting this in two is a good idea as there were only a\n>>> couple of outstanding issues with the first half of Alban's V8. When\n>>> you posted V9 I looked at the range-diff hoping to see a couple of\n>>> localized changes addressing those issues. Instead it looks like\n>>> you've rewritten most of the patches that people have already spent a\n>>> considerable time reviewing. I don't think it is a good use of\n>>> reviewers' time to essentially start reviewing again from scratch.\n>> What do you consider a good way to turn this comment into something\n>> actionable?\n>\n> To address the issues noted in [1-3] by tweaking patches 3, 5 & 7 of\n> v8 and not rewrite all the other patches. \n>\n> Best Wishes\n>\n> Phillip\n>\n> [1] https://lore.kernel.org/git/220817.86lernaa9i.gmgdl@evledraar.gmail.com\n> [2] https://lore.kernel.org/git/o759r3qn-nqn9-oq22-p90o-2nrn24085n80@tzk.qr\n> [3] https://lore.kernel.org/git/2r992r19-or36-733r-1139-4575n9o6o23s@tzk.qr\n\nThat seems to implicitly assume that the outstanding feedback on the v8\nwas the last word on outstanding issues with the series.\n\nThe v9..v10 combines addressing those, with issues that I discovered\nalong the way. I had not reviewed this series in any detail before.\n\nSo, I could submit such a v8.5, and then comment on it, and address\nthose comments, and then we'd be back to the same v9 in the end?\n\nSince I didn't see the point of doing that I submitted the v9 directly.\n\n> Note that the sequencer cannot die() while merging so we need to be\n> careful when fixing patch 3 - it should bail out early rather than\n> dying when there is an error.\n\nYes, part 2 will address that, i.e. there are callers that need to not\ndie() in the same process, but the v8 took the approach of changing the\nentirety of the API to error(), but as it turns out the surface where we\nneeded to error() or die() is much smaller than that in the end.\n\n>> To have a minimal re-submission of the v8 which simply fixes the\n>> semnatic & textual merge conflicts we've had on \"master\" in the interim?\n>> I think such a re-submission would need to address the issues I\n>> noted in\n>> the v9 CL[1]. E.g. that in over-libifying merge-index its behavior was\n>> changed, e.g. emitting N error() instead of die()-ing on the 1st\n>> one. Addressing that is going to need to require around the same code\n>> changes.\n>> This is also a case where the range-diff looks overly scary, aside\n>> from\n>> such specific fixes the end result is substantially the same, but I did\n>> split up (and mostly not rewrite) the existing patches to:\n>> * Cleanly separate those bits that were changing behavior, from\n>> those\n>>    that were not (and precede them with tests to assert that)\n>> * Make the eventual libification change as small as possible, now it\n>>    really benefits from the diff rename detection.\n>> If you have some more specific suggestions for how to move forward\n>> I'm\n>> all ears.\n>> 1. https://lore.kernel.org/git/cover-v9-00.12-00000000000-20221118T110058Z-avarab@gmail.com/\n\n"},{"id":"469146","messageId":"xmqqfsdgqonk.fsf@gitster.g","threadId":"58947","inReplyTo":"aedc0911-5538-603e-b0e0-71435039545e@jeffhostetler.com","subject":"Re: What's cooking in git.git (Dec 2022, #05; Wed, 14)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2022-12-15T22:37:35Z","receivedAt":"2022-12-15T22:37:52Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Jeff Hostetler <git@jeffhostetler.com> writes:\n\n> On 12/14/22 4:59 AM, Junio C Hamano wrote:\n>> * jh/t7527-unflake-by-forcing-cookie (2022-12-02) 1 commit\n>>   - fsmonitor: fix race seen in t7527\n>>   Make fsmonitor more robust to avoid the flakiness seen in t7527.\n>>   Will merge back to 'next'.\n>>   source:<pull.1437.git.1669937534944.gitgitgadget@gmail.com>\n>> \n>\n> There was no discussion on this item and nothing needs to be\n> revisited, so it could go as is.\n\nNo discussion is not a good news, though.\n\nAlways using cookie files means we no longer sometimes use them and\nsometimes not---which means fewer variations to think about and in\ngeneral is a good thing.\n\nAs you explain in the last paragraph of the proposed log message, if\nthe test caught a bug introduced by a premature optimization that\nwas not-well-thought-out, the test served its purpose very well.\nGood.\n\nLet's mark it as \"Will merge to 'next'\" again.\n\nThanks.\n\n"},{"id":"469147","messageId":"xmqq359gqoal.fsf@gitster.g","threadId":"58947","inReplyTo":"xmqqiliewbje.fsf@gitster.g","subject":"Re: What's cooking in git.git (Dec 2022, #05; Wed, 14)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2022-12-15T22:45:22Z","receivedAt":"2022-12-15T22:45:30Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Junio C Hamano <gitster@pobox.com> writes:\n\nLet's mark the following to \"Will merge to 'next'\" again.\n\n> * rs/t3920-crlf-eating-grep-fix (2022-12-07) 1 commit\n>  - t3920: support CR-eating grep\n>  (this branch uses js/t3920-shell-and-or-fix.)\n>\n>  Test fix.\n>\n>  Will merge back to 'next'.\n>  source: <cbe88abc-c1fb-cb50-6057-47ff27f7a12d@web.de>\n\nWith reviews by Philippe and Eric, this one still looks reasonable.\n\n> * ab/t4023-avoid-losing-exit-status-of-diff (2022-12-05) 1 commit\n>  - t4023: fix ignored exit codes of git\n>\n>  Test fix.\n>\n>  Will merge back to 'next'.\n>  source: <patch-v2-3.8-c5feef1c808-20221202T000227Z-avarab@gmail.com>\n\nSimple, obvious and trivially correct.\n\n> * jh/t7527-unflake-by-forcing-cookie (2022-12-02) 1 commit\n>  - fsmonitor: fix race seen in t7527\n>\n>  Make fsmonitor more robust to avoid the flakiness seen in t7527.\n>\n>  Will merge back to 'next'.\n>  source: <pull.1437.git.1669937534944.gitgitgadget@gmail.com>\n\n<xmqqfsdgqonk.fsf@gitster.g>.\n\n> * rs/plug-pattern-list-leak-in-lof (2022-12-02) 1 commit\n>  - list-objects-filter: plug pattern_list leak\n>\n>  Leak fix.\n>\n>  Will merge back to 'next'.\n>  source: <b4361c3e-852b-e30c-f240-86c34bc9c474@web.de>\n\nSimple, obvious and trivially correct.\n\n> * rs/t4205-do-not-exit-in-test-script (2022-12-02) 1 commit\n>  - t4205: don't exit test script on failure\n>\n>  Test fix.\n>\n>  Will merge back to 'next'.\n>  source: <c5b4d091-23c1-5a75-a255-99ec83973d8d@web.de>\n\nDitto.\n\n> * ab/t5314-avoid-losing-exit-status (2022-12-02) 1 commit\n>  - t5314: check exit code of \"git\"\n>\n>  Test fix.\n>\n>  Will merge back to 'next'.\n>  source: <patch-v2-1.1-ca77a7249e6-20221128T141818Z-avarab@gmail.com>\n\nDitto.\n\n> * ab/t7600-avoid-losing-exit-status-of-git (2022-12-05) 1 commit\n>  - t7600: don't ignore \"rev-parse\" exit code in helper\n>\n>  Test fix.\n>\n>  Will merge back to 'next'.\n>  source: <patch-v3-1.8-64dfec31fb3-20221202T114733Z-avarab@gmail.com>\n\nDitto.\n\n> * jh/fsmonitor-darwin-modernize (2022-12-05) 1 commit\n>  - fsmonitor: eliminate call to deprecated FSEventStream function\n>\n>  Stop using deprecated macOS API in fsmonitor.\n>\n>  Will merge back to 'next'.\n>  source: <pull.1436.git.1669991072393.gitgitgadget@gmail.com>\n\nThis one was updated <pull.1436.v2.git.1671045153981.gitgitgadget@gmail.com>\n"},{"id":"469148","messageId":"xmqq7cysp8mr.fsf@gitster.g","threadId":"58947","inReplyTo":"xmqqiliewbje.fsf@gitster.g","subject":"Re: What's cooking in git.git (Dec 2022, #05; Wed, 14)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2022-12-15T23:09:00Z","receivedAt":"2022-12-15T23:09:17Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Junio C Hamano <gitster@pobox.com> writes:\n\nContinuing from the previous one.\n\n> * js/t3920-shell-and-or-fix (2022-12-05) 1 commit\n> * sx/pthread-error-check-fix (2022-12-05) 1 commit\n> * jk/avoid-redef-system-functions (2022-12-05) 3 commits\n> * jk/avoid-redef-system-functions-2.30 (2022-12-05) 2 commits\n> * aw/complete-case-insensitive (2022-11-30) 2 commits\n\nThese are all simple, obvious and trivially correct.\n\n> * rs/diff-parseopts (2022-12-02) 3 commits\n\nNot exactly trivial but very well explained and easy to follow.\n"},{"id":"469180","messageId":"4b4d5c18-dee3-76c6-8c72-db8ac05a046e@github.com","threadId":"58947","inReplyTo":"xmqqiliewbje.fsf@gitster.g","subject":"ds/bundle-uri-4* (was Re: What's cooking in git.git (Dec 2022, #05; Wed, 14))","fromName":"Derrick Stolee","fromEmail":"derrickstolee@github.com","sentAt":"2022-12-16T15:33:15Z","receivedAt":"2022-12-16T15:33:21Z","isPatch":false,"sender":{"key":"stolee@gmail.com","avatar":"https://avatars.githubusercontent.com/u/570044?v=4"},"body":"On 12/14/2022 4:59 AM, Junio C Hamano wrote:\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>  (this branch uses ds/bundle-uri-4.)\n> \n>  Incremental fixes on ds/bundle-uri-4 topic.\n> \n>  Will merge to 'next'?\n>  source: <pull.1443.git.1670866407.gitgitgadget@gmail.com>\n\n> * ds/bundle-uri-4 (2022-12-06) 11 commits\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>  (this branch is used by ds/bundle-uri-4-fixup.)\n> \n>  Bundle URIs part 4.\n> \n>  Will merge back to 'next'?\n>  source: <pull.1400.v3.git.1670262639.gitgitgadget@gmail.com>\n\nPlease do merge these to 'next'. Things have been stable\nsince ds/bundle-uri-4-fixup was submitted and I'm currently\npolishing part 5 on top of that branch.\n\nThanks,\n-Stolee\n\n"},{"id":"469191","messageId":"xmqqy1r7klh3.fsf@gitster.g","threadId":"58947","inReplyTo":"4b4d5c18-dee3-76c6-8c72-db8ac05a046e@github.com","subject":"Re: ds/bundle-uri-4* (was Re: What's cooking in git.git (Dec 2022, #05; Wed, 14))","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2022-12-16T22:55:04Z","receivedAt":"2022-12-16T22:55:10Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Derrick Stolee <derrickstolee@github.com> writes:\n\n> On 12/14/2022 4:59 AM, Junio C Hamano wrote:\n>\n>> * ds/bundle-uri-4-fixup (2022-12-13) 3 commits\n>>  ...\n>>  Will merge to 'next'?\n>>  source: <pull.1443.git.1670866407.gitgitgadget@gmail.com>\n>\n>> * ds/bundle-uri-4 (2022-12-06) 11 commits\n>>  ...\n>>  Will merge back to 'next'?\n>>  source: <pull.1400.v3.git.1670262639.gitgitgadget@gmail.com>\n>\n> Please do merge these to 'next'.\n\nHeh, these question marks were meant to invite \"wow, now we have\nboth of these outside 'next', we can fold the 'oops that was wrong'\nfix-up patches and redo the base series; thanks for the opportunity\nto clean up the history\" ;-).\n\n> Things have been stable since ds/bundle-uri-4-fixup was submitted\n> and I'm currently polishing part 5 on top of that branch.\n\nOK.\n\nThanks.\n"}]}