{"thread":{"id":"58465","subject":"What's cooking in git.git (Sep 2022, #05; Mon, 19)","startedAt":"2022-09-20T04:21:19Z","lastAt":"2022-09-20T04:21:19Z","messageCount":1,"participants":["Junio C Hamano"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"463271","messageId":"xmqq5yhi8ymi.fsf@gitster.g","threadId":"58465","inReplyTo":null,"subject":"What's cooking in git.git (Sep 2022, #05; Mon, 19)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2022-09-20T04:21:09Z","receivedAt":"2022-09-20T04:21:19Z","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\nA few more topics have been merged to the 'master' branch.  We plan\nto tag -rc1 in a few days (but expect no movement on 'master' or\n'next' tomorrow).  There are a few topics that are marked with the\n\"Merge to 'next'?\"  marker, which can use your help ;-)  After -rc1\ngets tagged, the 'master' branch will go in the \"regression fixes\nonly\" mode (cf. https://tinyurl.com/gitCal).\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* ad/t1800-cygwin (2022-09-15) 1 commit\n  (merged to 'next' on 2022-09-15 at 9667abb48c)\n + t1800: correct test to handle Cygwin\n\n Test fix.\n source: <20220915075717.425673-1-adam@dinwoodie.org>\n\n\n* es/chainlint (2022-09-12) 19 commits\n  (merged to 'next' on 2022-09-12 at 577e59143f)\n + chainlint: colorize problem annotations and test delimiters\n  (merged to 'next' on 2022-09-08 at eab3357b05)\n + t: retire unused chainlint.sed\n + t/Makefile: teach `make test` and `make prove` to run chainlint.pl\n + test-lib: replace chainlint.sed with chainlint.pl\n + test-lib: retire \"lint harder\" optimization hack\n + t/chainlint: add more chainlint.pl self-tests\n + chainlint.pl: allow `|| echo` to signal failure upstream of a pipe\n + chainlint.pl: complain about loops lacking explicit failure handling\n + chainlint.pl: don't flag broken &&-chain if failure indicated explicitly\n + chainlint.pl: don't flag broken &&-chain if `$?` handled explicitly\n + chainlint.pl: don't require `&` background command to end with `&&`\n + t/Makefile: apply chainlint.pl to existing self-tests\n + chainlint.pl: don't require `return|exit|continue` to end with `&&`\n + chainlint.pl: validate test scripts in parallel\n + chainlint.pl: add parser to identify test definitions\n + chainlint.pl: add parser to validate tests\n + chainlint.pl: add POSIX shell parser\n + chainlint.pl: add POSIX shell lexical analyzer\n + t: add skeleton chainlint.pl\n\n Revamp chainlint script for our tests.\n source: <pull.1322.git.git.1661992197.gitgitgadget@gmail.com>\n source: <pull.1324.git.git.1663023888412.gitgitgadget@gmail.com>\n\n\n* jk/list-objects-filter-cleanup (2022-09-12) 5 commits\n  (merged to 'next' on 2022-09-12 at 33cb79c924)\n + list-objects-filter: convert filter_spec to a strbuf\n + list-objects-filter: add and use initializers\n + list-objects-filter: handle null default filter spec\n + list-objects-filter: don't memset after releasing filter struct\n + Merge branch 'jk/plug-list-object-filter-leaks' into jk/list-objects-filter-cleanup\n\n A couple of bugfixes with code clean-up.\n source: <Yx1qwlpNbxGEiUgc@coredump.intra.peff.net>\n\n\n* sy/mv-out-of-cone (2022-09-09) 10 commits\n  (merged to 'next' on 2022-09-12 at 7cb7b41779)\n + builtin/mv.c: fix possible segfault in add_slash()\n  (merged to 'next' on 2022-08-17 at 2316d9ce4d)\n + mv: check overwrite for in-to-out move\n + advice.h: add advise_on_moving_dirty_path()\n + mv: cleanup empty WORKING_DIRECTORY\n + mv: from in-cone to out-of-cone\n + mv: remove BOTH from enum update_mode\n + mv: check if <destination> is a SKIP_WORKTREE_DIR\n + mv: free the with_slash in check_dir_in_index()\n + mv: rename check_dir_in_index() to empty_dir_has_sparse_contents()\n + t7002: add tests for moving from in-cone to out-of-cone\n\n \"git mv A B\" in a sparsely populated working tree can be asked to\n move a path from a directory that is \"in cone\" to another directory\n that is \"out of cone\".  Handling of such a case has been improved.\n source: <20220809120910.2021413-1-shaoxuan.yuan02@gmail.com>\n source: <20220909222736.279362-1-shaoxuan.yuan02@gmail.com>\n\n\n* vd/scalar-to-main (2022-09-02) 9 commits\n  (merged to 'next' on 2022-09-14 at 230bf89c01)\n + Documentation/technical: include Scalar technical doc\n + t/perf: add 'GIT_PERF_USE_SCALAR' run option\n + t/perf: add Scalar performance tests\n + scalar-clone: add test coverage\n + scalar: add to 'git help -a' command list\n + scalar: implement the `help` subcommand\n + git help: special-case `scalar`\n + scalar: include in standard Git build & installation\n + scalar: fix command documentation section header\n\n Hoist the remainder of \"scalar\" out of contrib/ to the main part of\n the codebase.\n source: <pull.1341.v2.git.1662134210.gitgitgadget@gmail.com>\n\n\n* zh/ls-files-format (2022-09-12) 1 commit\n  (merged to 'next' on 2022-09-12 at 91dda58387)\n + ls-files: fix black space in error message\n\n Typofix in the UI of a topic that has graduated to 'master'.\n source: <pull.1350.git.1662904997760.gitgitgadget@gmail.com>\n\n--------------------------------------------------\n[New Topics]\n\n* fz/help-doublofix (2022-09-16) 1 commit\n  (merged to 'next' on 2022-09-19 at 3ec5906f4e)\n + help: fix doubled words in explanation for developer interfaces\n\n Typofix for topic already in -rc0.\n\n Will merge to 'master'.\n source: <pull.1330.git.git.1663333529294.gitgitgadget@gmail.com>\n\n\n* so/diff-merges-cleanup (2022-09-16) 3 commits\n - diff-merges: clarify log.diffMerges documentation\n - diff-merges: cleanup set_diff_merges()\n - diff-merges: cleanup func_by_opt()\n\n Code clean-up.\n\n Will merge to 'next'?\n source: <20220914193102.5275-1-sorganov@gmail.com>\n\n\n* tz/tech-docs-to-help-fix (2022-09-16) 2 commits\n  (merged to 'next' on 2022-09-19 at 4a13143da1)\n + api docs: link to html version of api-trace2\n + docs: fix a few recently broken links\n\n Docfix for topic already in -rc0.\n\n Will merge to 'master'.\n source: <20220916062303.3736166-2-tmz@pobox.com>\n\n\n* ja/rebase-i-avoid-amending-self (2022-09-19) 1 commit\n - sequencer: avoid dropping fixup commit that targets self via commit-ish\n\n \"git rebase -i\" can mistakenly attempt to apply a fixup to a commit\n itself, which has been corrected.\n\n Will merge to 'next'?\n source: <20220918121053.880225-1-aclopte@gmail.com>\n\n\n* ml/commit-graph-expire-dir-leak-fix (2022-09-19) 1 commit\n  (merged to 'next' on 2022-09-19 at e3211e888e)\n + commit-graph: Fix missing closedir in expire_commit_graphs\n\n A result from opendir() was leaking in the commit-graph expiration\n codepath, which has been plugged.\n\n Will merge to 'master'.\n source: <20220919141441.5644-1-linmq006@gmail.com>\n\n\n* vd/scalar-generalize-diagnose (2022-09-19) 1 commit\n  (merged to 'next' on 2022-09-19 at e03e8a6e4a)\n + diagnose.c: refactor to safely use 'd_type'\n\n Portability fix.\n\n Will merge to 'master'.\n source: <pull.1354.git.1663438615413.gitgitgadget@gmail.com>\n\n\n* ac/fuzzers (2022-09-19) 1 commit\n - fuzz: reorganise the path for existing oss-fuzz fuzzers\n\n source: <pull.1353.v4.git.1663598215154.gitgitgadget@gmail.com>\n\n\n* hn/parse-worktree-ref (2022-09-19) 1 commit\n - refs: unify parse_worktree_ref() and ref_type()\n\n source: <pull.1325.v2.git.git.1663605291172.gitgitgadget@gmail.com>\n\n--------------------------------------------------\n[Stalled]\n\n* es/mark-gc-cruft-as-experimental (2022-08-03) 2 commits\n - config: let feature.experimental imply gc.cruftPacks=true\n - gc: add tests for --cruft and friends\n\n Enable gc.cruftpacks by default for those who opt into\n feature.experimental setting.\n\n Expecting a reroll.\n cf. <220804.86a68ke9d5.gmgdl@evledraar.gmail.com>\n cf. <6803b725-526e-a1c8-f15c-a9ed4a144d4c@github.com>\n source: <20220803205721.3686361-1-emilyshaffer@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* 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 Expecting a reroll.\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[Cooking]\n\n* ed/fsmonitor-on-networked-macos (2022-09-19) 5 commits\n - fsmonitor: add documentation for allowRemote and socketDir options\n - fsmonitor: deal with synthetic firmlinks on macOS\n - fsmonitor: avoid socket location check if using hook\n - fsmonitor: relocate socket file if .git directory is remote\n - fsmonitor: refactor filesystem checks to common interface\n\n By default, use of fsmonitor on a repository on networked\n filesystem is disabled. Add knobs to make it workable on macOS.\n\n Will merge to 'next'?\n source: <pull.1326.v8.git.1663377141.gitgitgadget@gmail.com>\n\n\n* rj/branch-edit-description-with-nth-checkout (2022-09-12) 2 commits\n - branch: support for shortcuts like @{-1} completed\n - branch: refactor \"edit_description\" code path\n\n \"git branch --edit-description @{-1}\" is now a way to edit branch\n description of the branch you were on before switching to the\n current branch.\n\n Needs review.\n source: <7abdb5a9-5707-7897-4196-8d2892beeb81@gmail.com>\n\n\n* mj/credential-helper-auth-headers (2022-09-13) 8 commits\n - http: set specific auth scheme depending on credential\n - http: move proactive auth to first slot creation\n - http: store all request headers on active_request_slot\n - credential: add WWW-Authenticate header to cred requests\n - http: read HTTP WWW-Authenticate response headers\n - osxkeychain: clarify that we ignore unknown lines\n - netrc: ignore unknown lines (do not die)\n - wincred: ignore unknown lines (do not die)\n\n RFC\n source: <pull.1352.git.1663097156.gitgitgadget@gmail.com>\n\n\n* ec/reftable-pass-pq-entry-by-reference (2022-09-15) 1 commit\n  (merged to 'next' on 2022-09-15 at 928e75c7d1)\n + reftable: use a pointer for pq_entry param\n\n Small code clean-up in reftable implementation.\n\n Will merge to 'master'.\n source: <1833f3928cb.acf3c97d869879.7909589521159235166@elijahpepe.com>\n\n\n* jc/environ-docs (2022-09-16) 5 commits\n - environ: GIT_INDEX_VERSION affects not just a new repository\n - environ: simplify description of GIT_INDEX_FILE\n - environ: GIT_FLUSH should be made a usual Boolean\n - environ: explain Boolean environment variables\n - environ: document GIT_SSL_NO_VERIFY\n\n Documentation on various Boolean GIT_* environment variables have\n been clarified.\n\n Will merge to 'next'?\n source: <20220915160659.126441-1-gitster@pobox.com>\n\n\n* rs/diff-caret-bang-with-parents (2022-09-15) 6 commits\n - revision: add parents after child for ^!\n - revision: rename add_parents_only() to add_nth_parent()\n - revision: factor out add_parents()\n - revision: factor out add_parent()\n - revision: factor out get_commit()\n - revision: use strtol_i() for exclude_parent\n\n \"git diff rev^!\" did not show combined diff to go to the rev from\n its parents.\n\n Needs review.\n source: <ba6eea28-fb3a-b376-2529-351727c02f1a@web.de>\n\n\n* ab/doc-synopsis-and-cmd-usage (2022-09-07) 34 commits\n - tests: start asserting that *.txt SYNOPSIS matches -h output\n - doc txt & -h consistency: make \"worktree\" consistent\n - worktree: define subcommand -h in terms of command -h\n - reflog doc: list real subcommands up-front\n - doc txt & -h consistency: make \"commit\" consistent\n - doc txt & -h consistency: make \"diff-tree\" consistent\n - doc txt & -h consistency: use \"[<label>...]\" for \"zero or more\"\n - doc txt & -h consistency: make \"annotate\" consistent\n - doc txt & -h consistency: make \"stash\" consistent\n - doc txt & -h consistency: add missing options\n - doc txt & -h consistency: use \"git foo\" form, not \"git-foo\"\n - doc txt & -h consistency: make \"bundle\" consistent\n - doc txt & -h consistency: make \"read-tree\" consistent\n - doc txt & -h consistency: make \"rerere\" consistent\n - doc txt & -h consistency: add missing options and labels\n - doc txt & -h consistency: make output order consistent\n - doc txt & -h consistency: add or fix optional \"--\" syntax\n - doc txt & -h consistency: fix mismatching labels\n - t/helper/test-proc-receive.c: use \"<options>\", not \"<options>...\"\n - doc txt & -h consistency: use \"<options>\", not \"<options>...\"\n - stash doc SYNOPSIS & -h: correct padding around \"[]()\"\n - doc txt & -h consistency: correct padding around \"[]()\"\n - doc txt & -h consistency: add missing \"]\" to bugreport \"-h\"\n - doc txt & -h consistency: add \"-z\" to cat-file \"-h\"\n - doc txt & -h consistency: fix incorrect alternates syntax\n - doc txt & -h consistency: word-wrap\n - built-ins: consistently add \"\\n\" between \"usage\" and options\n - doc SYNOPSIS & -h: fix incorrect alternates syntax\n - doc SYNOPSIS: consistently use ' for commands\n - doc SYNOPSIS: don't use ' for subcommands\n - blame: use a more detailed usage_msg_optf() error on bad -L\n - bundle: define subcommand -h in terms of command -h\n - builtin/bundle.c: use \\t, not fix indentation 2-SP indentation\n - CodingGuidelines: update and clarify command-line conventions\n\n The short-help text shown by \"git cmd -h\" and the synopsis text\n shown at the beginning of \"git help cmd\" have been made more\n consistent.\n\n Needs review.\n source: <cover-00.34-00000000000-20220902T092734Z-avarab@gmail.com>\n\n\n* vd/doc-reviewing-guidelines (2022-09-19) 1 commit\n - Documentation: add ReviewingGuidelines\n\n Just like we have coding guidelines, we now have guidelines for\n reviewers.\n\n Will merge to 'next' and then to 'master'.\n source: <pull.1348.v2.git.1663614767058.gitgitgadget@gmail.com>\n\n\n* ab/coccicheck-incremental (2022-08-31) 9 commits\n - spatchcache: add a ccache-alike for \"spatch\"\n - cocci: optimistically use COMPUTE_HEADER_DEPENDENCIES\n - cocci: make \"coccicheck\" rule incremental\n - cocci: split off \"--all-includes\" from SPATCH_FLAGS\n - cocci: split off include-less \"tests\" from SPATCH_FLAGS\n - Makefile: split off SPATCH_BATCH_SIZE comment from \"cocci\" heading\n - Makefile: have \"coccicheck\" re-run if flags change\n - Makefile: add ability to TAB-complete cocci *.patch rules\n - cocci rules: remove unused \"F\" metavariable from pending rule\n\n \"make coccicheck\" is time consuming. It has been made to run more\n incrementally.\n\n Needs review.\n source: <cover-v2-0.9-00000000000-20220831T205130Z-avarab@gmail.com>\n\n\n* tb/diffstat-with-utf8-strwidth (2022-09-14) 1 commit\n - diff.c: use utf8_strwidth() to count display width\n\n \"git diff --stat\" etc. were invented back when everything was ASCII\n and strlen() was a way to measure the display width of a string;\n adjust them to compute the display width assuming UTF-8 pathnames.\n\n Expecting a reroll.\n source: <20220914151333.3309-1-tboegi@web.de>\n\n\n* gc/submodule-clone-update-with-branches (2022-08-29) 6 commits\n - clone, submodule update: check out branches\n - submodule--helper: refactor up-to-date criterion\n - submodule: return target of submodule symref\n - t5617: drop references to remote-tracking branches\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 Expecting a reroll.\n cf. <20220901200047.515294-1-jonathantanmy@google.com> and others\n source: <pull.1321.git.git.1661806456.gitgitgadget@gmail.com>\n\n\n* sy/sparse-grep (2022-09-08) 3 commits\n - builtin/grep.c: walking tree instead of expanding index with --sparse\n - builtin/grep.c: integrate with sparse index\n - builtin/grep.c: add --sparse option\n\n \"git grep\" learned to work better in a sparse checkout.\n\n The design of \"--sparse\" feels iffy.\n cf. <093827ae-41ef-5f7c-7829-647536ce1305@github.com>\n cf. <CABPp-BF-z72=hY_Jf8h3g95s+wwZOsV_S=+dDNs_AVskQxoaTw@mail.gmail.com>\n source: <20220908001854.206789-1-shaoxuan.yuan02@gmail.com>\n\n\n* ds/use-platform-regex-on-macos (2022-08-26) 1 commit\n  (merged to 'next' on 2022-09-14 at 80905596d8)\n + grep: fix multibyte regex handling under macOS\n\n With a bit of header twiddling, use the native regexp library on\n macOS instead of the compat/ one.\n\n Will cook in 'next'.\n cf. <xmqqzgf389k9.fsf@gitster.g>\n source: <20220826085815.2771102-1-dds@aueb.gr>\n\n\n* ds/bundle-uri-3 (2022-09-09) 10 commits\n - bundle-uri: fetch a list of bundles\n - bundle-uri: limit recursion depth for bundle lists\n - bundle-uri: parse bundle list in config format\n - bundle-uri: unit test \"key=value\" parsing\n - bundle-uri: create \"key=value\" line parsing\n - bundle-uri: create base key-value pair parsing\n - bundle-uri: create bundle_list struct and helpers\n - bundle-uri: use plain string in find_temp_filename()\n - bundle-uri: short-circuit capability parsing\n - Merge branch 'ds/bundle-uri-clone' into ds/bundle-uri-3\n\n Define the logical elements of a \"bundle list\", data structure to\n store them in-core, format to transfer them, and code to parse\n them.\n\n Needs review.\n source: <pull.1333.v2.git.1662734015.gitgitgadget@gmail.com>\n\n\n* js/cmake-updates (2022-08-24) 5 commits\n - cmake: increase time-out for a long-running test\n - cmake: avoid editing t/test-lib.sh\n - add -p: avoid ambiguous signed/unsigned comparison\n - cmake: copy the merge tools for testing\n - cmake: make it easier to diagnose regressions in CTest runs\n\n Update to build procedure with VS using CMake/CTest.\n\n Expecting a reroll.\n cf. <3df77ffd-85a2-3a54-9005-34a24ec6e82d@github.com>\n cf. <531620e1-de4c-74aa-c840-c12ce81f8740@github.com> and others\n source: <pull.1320.v2.git.1661243463.gitgitgadget@gmail.com>\n\n\n* pw/rebase-keep-base-fixes (2022-09-07) 7 commits\n - rebase --keep-base: imply --no-fork-point\n - rebase --keep-base: imply --reapply-cherry-picks\n - rebase: factor out branch_base calculation\n - rebase: rename merge_base to branch_base\n - rebase: store orig_head as a commit\n - t3416: set $EDITOR in subshell\n - t3416: tighten two tests\n\n \"git rebase --keep-base\" used to discard the commits that are\n already cherry-picked to the upstream, even when \"keep-base\" meant\n that the base, on top of which the history is being rebuilt, does\n not yet include these cherry-picked commits.  The --keep-base\n option now implies --reapply-cherry-picks and --no-fork-point\n options.\n\n Expecting a reroll.\n cf. <e25127f3-6135-b716-a12f-5dbe4f40dc42@gmail.com>\n source: <pull.1323.v2.git.1662561470.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 Needs more work.\n At the minimum, we should lose 11/14 and possibly 08/14.\n cf. <xmqq7d36vfur.fsf@gitster.g>\n source: <20220809185429.20098-1-alban.gruin@gmail.com>\n\n\n* po/glossary-around-traversal (2022-07-09) 3 commits\n - glossary: add reachability bitmap description\n - glossary: add commit graph description\n - glossary: add Object DataBase (ODB) abbreviation\n\n The glossary entries for \"commit-graph file\" and \"reachability\n bitmap\" have been added.\n\n Expecting a reroll.\n cf. <dfe0c1ab-33f8-f13e-71ce-1829bb0d2d7f@iee.email>\n source: <pull.1282.git.1657385781.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 Needs review.\n cf. <xmqqv8pr8903.fsf@gitster.g>\n source: <pull.1132.v6.git.1661885419.gitgitgadget@gmail.com>\n"}]}