From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: X-Spam-Status: No, score=-3.8 required=3.0 tests=AWL,BAYES_00,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS shortcircuit=no autolearn=ham autolearn_force=no version=3.4.6 Received: from out1.vger.email (out1.vger.email [IPv6:2620:137:e000::1:20]) by dcvr.yhbt.net (Postfix) with ESMTP id E007C1F428 for ; Mon, 13 Mar 2023 18:30:13 +0000 (UTC) Authentication-Results: dcvr.yhbt.net; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20210112 header.b=bD/gLG8w; dkim-atps=neutral Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230062AbjCMS37 (ORCPT ); Mon, 13 Mar 2023 14:29:59 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:32834 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230055AbjCMS3m (ORCPT ); Mon, 13 Mar 2023 14:29:42 -0400 Received: from mail-pl1-x629.google.com (mail-pl1-x629.google.com [IPv6:2607:f8b0:4864:20::629]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E14E522C84 for ; Mon, 13 Mar 2023 11:29:01 -0700 (PDT) Received: by mail-pl1-x629.google.com with SMTP id p20so13940839plw.13 for ; Mon, 13 Mar 2023 11:29:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1678732122; h=mime-version:user-agent:message-id:date:subject:to:from:sender:from :to:cc:subject:date:message-id:reply-to; bh=veUtlGSuoK1p0VgxFXq7E6BKf+7eMNVXe0YnO1cFLKQ=; b=bD/gLG8wJdsEvi4+JfmjJB1XYDdyV2LX7GM/wAmteVpb4p6ygSqxC6gOrePLUb3den km4gWLU5XmAJSr1b49a0XcB4z++OAIt2yMan27hZzhuoBsvoR9zHaQ5+eAfI9vHtyoa5 LhAXMLF+mRhNQpjM8VOUq1/PrfsMlU82eyAo3eYlSx1zehIXl1S9OwhIj+am7ZJQ0ieP J1hYBImWXM/M/gINPOWBd3hhkSSpvRyTD1Q/ZOOrLW01wfEDrJB6yKufe9buvcvkJbYR wK7IXOE+4pWXpFHDrjSd4lXQvaG1PtojTY7HzelXHO3n2LY0Pr6H1TAwXNEZt+WaRC4b 2s/g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1678732122; h=mime-version:user-agent:message-id:date:subject:to:from:sender :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=veUtlGSuoK1p0VgxFXq7E6BKf+7eMNVXe0YnO1cFLKQ=; b=bntM2o+kJ3kTtPAsKiGTvy3hZJCriDxTd9zzZT6QnM0gC6QOmnOJ6f4a5GSBRDq35r uJVFccQothawOxMgRrxeJ9zoPsriep6LbIxoiU/1782bqJ2o508uqTvjx4ps0iv/9Kpy 94rOkdtjLQ1zLrVUmUTNiEJDPUUpYzP+kUbQWW7vLU22ni8mPOPnCdWkvbOM9QTpZyHS HPLcfoK3tfq6yAuHoTsqnWVf45VCOeLDiCQ2FtANNMDmko4ABBM3ktB/QjBKIf5ndft8 QcJjCXWrMXkzIYi9gPhyiIe8eBovFkJjBnw32Wdfy2D1OH7nrG4eYQ/aSqcAdzfZJeVn 0Dlg== X-Gm-Message-State: AO0yUKV8TYLGJEd/DaPkyhXUZuEkeW27hYdTj5JcEIKrJq37d68XmVFc T9kD2Oxqox+hBbep/KiVfTYu833jOSI= X-Google-Smtp-Source: AK7set8y5C04Pxi/AxKSbjojT9m0CsbY/sv6ahpS4t/eizatf9JqOu1iaUV03QXoEsSC6o7bVkE60w== X-Received: by 2002:a17:90b:3885:b0:234:409:9754 with SMTP id mu5-20020a17090b388500b0023404099754mr34901540pjb.45.1678732121267; Mon, 13 Mar 2023 11:28:41 -0700 (PDT) Received: from localhost (83.92.168.34.bc.googleusercontent.com. [34.168.92.83]) by smtp.gmail.com with ESMTPSA id li11-20020a170903294b00b0019908d2c85dsm210100plb.52.2023.03.13.11.28.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 13 Mar 2023 11:28:40 -0700 (PDT) Sender: Junio C Hamano From: Junio C Hamano To: git@vger.kernel.org Subject: What's cooking in git.git (Mar 2023, #03; Mon, 13) X-master-at: 73876f4861cd3d187a4682290ab75c9dccadbc56 X-next-at: 60544f874fd51e4f7a5848f94bc42e74e5323d6a Date: Mon, 13 Mar 2023 11:28:40 -0700 Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org Here are the topics that have been cooking in my tree. Commits prefixed with '+' are in 'next' (being in 'next' is a sign that a topic is stable enough to be used and are candidate to be in a future release). Commits prefixed with '-' are only in 'seen', and aren't considered "accepted" at all and may be annotated with an URL to a message that raises issues but they are no means exhaustive. A topic without enough support may be discarded after a long period of no activity. Git 2.40 (final) has been tagged and pushed out and we have about two dozens of topics in 'next'. Let's spend this week to look for regression reports and fix them, and to decide which ones to eject out of 'next' as necessary. I'll start moving stalled topics into to-be-discarded bin and discard them. Copies of the source code to Git live in many repositories, and the following is a list of the ones I push into or their mirrors. Some repositories have only a subset of branches. With maint, master, next, seen, todo: git://git.kernel.org/pub/scm/git/git.git/ git://repo.or.cz/alt-git.git/ https://kernel.googlesource.com/pub/scm/git/git/ https://github.com/git/git/ https://gitlab.com/git-vcs/git/ With all the integration branches and topics broken out: https://github.com/gitster/git/ Even though the preformatted documentation in HTML and man format are not sources, they are published in these repositories for convenience (replace "htmldocs" with "manpages" for the manual pages): git://git.kernel.org/pub/scm/git/git-htmldocs.git/ https://github.com/gitster/git-htmldocs.git/ Release tarballs are available at: https://www.kernel.org/pub/software/scm/git/ -------------------------------------------------- [New Topics] * ab/fix-strategy-opts-parsing (2023-03-08) 1 commit (merged to 'next' on 2023-03-08 at bd9eff2779) + sequencer.c: fix overflow & segfault in parse_strategy_opts() The code to parse "git rebase -X" was not prepared to see an unparsable option string, which has been corrected. Will cook in 'next'. source: * ew/fetch-no-write-fetch-head-fix (2023-03-09) 1 commit (merged to 'next' on 2023-03-09 at 283e2159c8) + fetch: pass --no-write-fetch-head to subprocesses Will cook in 'next'. source: <20230308222205.M679514@dcvr> * fc/advice-diverged-history (2023-03-08) 1 commit (merged to 'next' on 2023-03-08 at 30e7016218) + advice: add diverging advice for novices After "git pull" that is configured with pull.rebase=false merge.ff=only fails due to our end having our own development, give advice messages to get out of the "Not possible to fast-forward" state. Will cook in 'next'. source: <20230308024834.1562386-2-felipe.contreras@gmail.com> * jk/add-p-unmerged-fix (2023-03-09) 1 commit (merged to 'next' on 2023-03-09 at a46443480c) + add-patch: handle "* Unmerged path" lines "git add -p" while the index is unmerged sometimes failed to parse the diff output it internally produces and died, which has been corrected. Will cook in 'next'. source: * jk/format-patch-ignore-noprefix (2023-03-09) 5 commits (merged to 'next' on 2023-03-12 at 621d71c151) + format-patch: add format.noprefix option + format-patch: do not respect diff.noprefix + diff: add --default-prefix option + t4013: add tests for diff prefix options + diff: factor out src/dst prefix setup "git format-patch" honors the src/dst prefixes set to nonstandard values with configuration variables like "diff.noprefix", causing receiving end of the patch that expects the standard -p1 format to break. Teach "format-patch" to ignore end-user configuration and always use the standard prefixes. This is a backward compatibility breaking change. Will merge to 'master'. source: * sl/diff-files-sparse (2023-03-09) 2 commits - diff-files: integrate with sparse index - t1092: add tests for `git diff-files` Teach "diff-files" not to expand sparse-index unless needed. Expecting hopefully a final and minor reroll? source: <20230309063952.42362-1-cheskaqiqi@gmail.com> * aj/ls-files-format-fix (2023-03-10) 1 commit - ls-files: fix "--format" output of relative paths Fix for a "ls-files --format="%(path)" that produced nonsense output, which was a bug in 2.38. Will merge to 'next'. source: * fc/test-aggregation-clean-up (2023-03-09) 2 commits - test: don't print aggregate-results command - test: simplify counts aggregation Code clean-up for test framework. Will merge to 'next'. source: <20230309173032.959968-1-felipe.contreras@gmail.com> * ps/receive-pack-unlock-before-die (2023-03-10) 1 commit - receive-pack: fix stale packfile locks when dying "git receive-pack" that responds to "git push" requests failed to clean a stale lockfile when killed in the middle, which has been corrected. Will merge to 'next'. source: -------------------------------------------------- [Stalled] * ed/fsmonitor-inotify (2022-12-13) 6 commits - fsmonitor: update doc for Linux - fsmonitor: test updates - fsmonitor: enable fsmonitor for Linux - fsmonitor: implement filesystem change listener for Linux - fsmonitor: determine if filesystem is local or remote - fsmonitor: prepare to share code between Mac OS and Linux Bundled fsmonitor for Linux using inotify API. What's the status of this one? source: * ja/worktree-orphan (2023-01-13) 4 commits - worktree add: add hint to direct users towards --orphan - worktree add: add --orphan flag - worktree add: refactor opt exclusion tests - worktree add: include -B in usage docs 'git worktree add' learned how to create a worktree based on an orphaned branch with `--orphan`. Expecting a reroll. cf. <11be1b0e-ee38-119f-1d80-cb818946116b@dunelm.org.uk> source: <20230109173227.29264-1-jacobabel@nullpo.dev> * tl/notes--blankline (2023-02-24) 4 commits - SQUASH??? leakfix - notes.c: introduce '--separator=' option - notes.c: cleanup for "designated init" - notes.c: cleanup 'strbuf_grow' call in 'append_edit' 'git notes append' was taught '--separator' to specify string to insert between paragraphs. Expecting further updates on -c/-C. source: * ab/tag-object-type-errors (2022-11-22) 5 commits - tag: don't emit potentially incorrect "object is a X, not a Y" - tag: don't misreport type of tagged objects in errors - object tests: add test for unexpected objects in tags - object-file.c: free the "t.tag" in check_tag() - Merge branch 'jk/parse-object-type-mismatch' into ab/tag-object-type-errors Hardening checks around mismatched object types when one of those objects is a tag. Expecting a reroll. cf. cf. source: * jc/spell-id-in-both-caps-in-message-id (2022-12-17) 1 commit - e-mail workflow: Message-ID is spelled with ID in both capital letters Consistently spell "Message-ID" as such, not "Message-Id". Needs review. source: * ad/test-record-count-when-harness-is-in-use (2022-12-25) 1 commit - test-lib: allow storing counts with test harnesses Allow summary results from tests to be written to t/test-results directory even when a test harness like 'prove' is in use. Needs review. source: <20221224225200.1027806-1-adam@dinwoodie.org> * so/diff-merges-more (2022-12-18) 5 commits - diff-merges: improve --diff-merges documentation - diff-merges: issue warning on lone '-m' option - diff-merges: support list of values for --diff-merges - diff-merges: implement log.diffMerges-m-imply-p config - diff-merges: implement [no-]hide option and log.diffMergesHide config Assorted updates to "--diff-merges=X" option. May want to discard. Breaking compatibility does not seem worth it. source: <20221217132955.108542-1-sorganov@gmail.com> -------------------------------------------------- [Cooking] * as/doc-markup-fix (2023-03-06) 1 commit (merged to 'next' on 2023-03-07 at 8c7289659a) + git-merge-tree.txt: replace spurious HTML entity Fix for a mis-mark-up in doc made in Git 2.39 days. Will cook in 'next'. source: <87y1oco3i9.fsf@igel.home> * ds/ahead-behind (2023-03-10) 7 commits - for-each-ref: add ahead-behind format atom - commit-reach: implement ahead_behind() logic - commit-graph: introduce `ensure_generations_valid()` - commit-graph: return generation from memory - commit-graph: combine generation computations - for-each-ref: explicitly test no matches - for-each-ref: add --stdin option "git for-each-ref" learns '%(ahead-behind:)' that computes the distances from a single reference point in the history with bunch of commits in bulk. Will merge to 'next'? source: * gc/config-parsing-cleanup (2023-03-03) 6 commits - config.c: remove current_parsing_scope - config.c: remove current_config_kvi - config.c: plumb the_reader through callbacks - config.c: create config_reader and the_reader - config.c: don't assign to "cf" directly - config.c: plumb config_source through static fns Config API clean-up to reduce its dependence on static variables Comments? source: * jk/bundle-progress (2023-03-06) 1 commit (merged to 'next' on 2023-03-07 at 0df2b09e1b) + bundle: turn on --all-progress-implied by default Simplify UI to control progress meter given by "git bundle" command. Will cook in 'next'. source: * jk/bundle-use-dash-for-stdfiles (2023-03-06) 5 commits (merged to 'next' on 2023-03-07 at 8ceb58f725) + parse-options: use prefix_filename_except_for_dash() helper + parse-options: consistently allocate memory in fix_filename() + bundle: don't blindly apply prefix_filename() to "-" + bundle: document handling of "-" as stdin + bundle: let "-" mean stdin for reading operations "git bundle" learned that "-" is a common way to say that the input comes from the standard input and/or the output goes to the standard output. It used to work only for output and only from the root level of the working tree. Will cook in 'next'. source: * jk/format-patch-change-format-for-empty-commits (2023-03-03) 1 commit (merged to 'next' on 2023-03-07 at 1c421f4a9f) + format-patch: output header for empty commits "git format-patch" learned to write a log-message only output file for empty commits. Will cook in 'next'. source: <20230303160301.3659328-1-john@keeping.me.uk> * ds/reprepare-alternates-when-repreparing-packfiles (2023-03-09) 1 commit (merged to 'next' on 2023-03-09 at 851bceed17) + object-file: reprepare alternates when necessary Once we start running, we assumed that the list of alternate object databases would never change. Hook into the machinery used to update the list of packfiles during runtime to update this list as well. Will cook in 'next'. source: * ak/restore-both-incompatible-with-conflicts (2023-02-27) 1 commit (merged to 'next' on 2023-03-06 at 4ee341853c) + restore: fault --staged --worktree with merge opts "git restore" supports options like "--ours" that are only meaningful during a conflicted merge, but these options are only meaningful when updating the working tree files. These options are marked to be incompatible when both "--staged" and "--worktree" are in effect. Will cook in 'next'. source: <20230226184354.221-1-andy.koppe@gmail.com> * ew/fetch-hiderefs (2023-02-27) 1 commit (merged to 'next' on 2023-03-01 at 6a7eece733) + fetch: support hideRefs to speed up connectivity checks A new "fetch.hideRefs" option can be used to exclude specified refs from "rev-list --objects --stdin --not --all" traversal for checking object connectivity, most useful when there are many unrelated histories in a single repository. Will cook in 'next'. source: <20230212090426.M558990@dcvr> * zh/push-to-delete-onelevel-ref (2023-03-01) 2 commits (merged to 'next' on 2023-03-06 at f08def5949) + push: allow delete single-level ref + receive-pack: fix funny ref error messsage "git push" has been taught to allow deletion of refs with one-level names to help repairing a repository who acquired such a ref by mistake. In general, we don't encourage use of such a ref, and creation or update to such a ref is rejected as before. Will cook in 'next'. source: * fz/rebase-msg-update (2023-02-27) 1 commit (merged to 'next' on 2023-03-01 at f28c0df111) + rebase: fix capitalisation autoSquash in i18n string Message update. Will cook in 'next'. source: * my/wildmatch-cleanups (2023-02-27) 5 commits - wildmatch: more cleanups after killing uchar - wildmatch: use char instead of uchar - wildmatch: remove NEGATE_CLASS(2) macros with trivial refactoring - wildmatch: remove IS*() macros - git-compat-util: add isblank() and isgraph() Code clean-up. Comments? source: <20230226115021.1681834-1-masahiroy@kernel.org> * cw/forbid-use-of-gitlink-outside-submodules (2023-02-28) 6 commits . add: reject nested repositories . tests: remove duplicate .gitmodules path . tests: use `git submodule add` and fix expected status . tests: use `git submodule add` and fix expected diffs . tests: Use `git submodule add` instead of `git add` . t4041, t4060: modernize test style Forbid "git add dir" from adding a gitlink to the index. Comments? Seems to break tests when merged to 'seen'. source: <20230228185253.2356546-1-calvinwan@google.com> * ah/rebase-merges-config (2023-03-06) 3 commits - rebase: add a config option for --rebase-merges - rebase: deprecate --rebase-merges="" - rebase: add documentation and test for --no-rebase-merges Streamline --rebase-merges command line option handling and introduce rebase.merges configuration variable. On hold. cf. source: <20230305050709.68736-1-alexhenrie24@gmail.com> * en/dir-api-cleanup (2023-02-27) 13 commits (merged to 'next' on 2023-02-27 at 434ac6b592) + unpack-trees: add usage notices around df_conflict_entry + unpack-trees: special case read-tree debugging as internal usage + unpack-trees: rewrap a few overlong lines from previous patch + unpack-trees: mark fields only used internally as internal + unpack_trees: start splitting internal fields from public API + sparse-checkout: avoid using internal API of unpack-trees, take 2 + sparse-checkout: avoid using internal API of unpack-trees + unpack-trees: clean up some flow control + dir: mark output only fields of dir_struct as such + dir: add a usage note to exclude_per_dir + dir: separate public from internal portion of dir_struct + unpack-trees: heed requests to overwrite ignored files + t2021: fix platform-specific leftover cruft Code clean-up to clarify directory traversal API. Will cook in 'next'. source: * en/header-cleanup (2023-02-23) 17 commits (merged to 'next' on 2023-02-27 at f4a3707530) + diff.h: remove unnecessary include of object.h + Remove unnecessary includes of builtin.h + treewide: replace cache.h with more direct headers, where possible + replace-object.h: move read_replace_refs declaration from cache.h to here + object-store.h: move struct object_info from cache.h + dir.h: refactor to no longer need to include cache.h + object.h: stop depending on cache.h; make cache.h depend on object.h + ident.h: move ident-related declarations out of cache.h + pretty.h: move has_non_ascii() declaration from commit.h + cache.h: remove dependence on hex.h; make other files include it explicitly + hex.h: move some hex-related declarations from cache.h + hash.h: move some oid-related declarations from cache.h + alloc.h: move ALLOC_GROW() functions from cache.h + treewide: remove unnecessary cache.h includes in source files + treewide: remove unnecessary cache.h includes + treewide: remove unnecessary git-compat-util.h includes in headers + treewide: ensure one of the appropriate headers is sourced first Code clean-up to clarify the rule that "git-compat-util.h" must be the first to be included. Will cook in 'next'. source: * jk/fsck-indices-in-worktrees (2023-02-27) 4 commits (merged to 'next' on 2023-02-27 at 6eb92abb6b) + fsck: check even zero-entry index files (merged to 'next' on 2023-02-24 at 38c0793286) + fsck: mention file path for index errors + fsck: check index files in all worktrees + fsck: factor out index fsck "git fsck" learned to check the index files in other worktrees, just like "git gc" honors them as anchoring points. Will cook in 'next'. source: * jk/unused-post-2.39-part2 (2023-02-24) 21 commits (merged to 'next' on 2023-02-27 at f0ec2a81b3) + help: mark unused parameter in git_unknown_cmd_config() + run_processes_parallel: mark unused callback parameters + userformat_want_item(): mark unused parameter + for_each_commit_graft(): mark unused callback parameter + rewrite_parents(): mark unused callback parameter + fetch-pack: mark unused parameter in callback function + notes: mark unused callback parameters + prio-queue: mark unused parameters in comparison functions + for_each_object: mark unused callback parameters + list-objects: mark unused callback parameters + mark unused parameters in signal handlers + run-command: mark error routine parameters as unused + mark "pointless" data pointers in callbacks + ref-filter: mark unused callback parameters + http-backend: mark unused parameters in virtual functions + http-backend: mark argc/argv unused + object-name: mark unused parameters in disambiguate callbacks + serve: mark unused parameters in virtual functions + serve: use repository pointer to get config + ls-refs: drop config caching + ref-filter: drop unused atom parameter from get_worktree_path() More work towards -Wunused. Will cook in 'next'. source: * ew/commit-reach-clean-up-flags-fix (2023-02-11) 1 commit (merged to 'next' on 2023-03-06 at 5dc1c4c0b7) + commit-reach: avoid NULL dereference Fix a segfaulting loop. The function and its caller may need further clean-up. Will cook in 'next'. cf. <876cf920-113a-90cf-f49e-6e1b7b146acf@github.com> source: <20230211111526.2028178-1-e@80x24.org> * tk/pull-conflict-suggest-rebase-merge-not-rebase-true (2023-02-13) 1 commit - pull: conflict hint pull.rebase suggestion should offer "merges" vs "true" In an advice message after failed non-ff pull, we used to suggest setting pull.rebase=true, but these days pull.rebase=merges may be more inline with the original spirit of "rebuild your side on top of theirs". On hold. This is too much of a departure from the existing practice. cf. cf. source: * jc/gpg-lazy-init (2023-02-27) 2 commits (merged to 'next' on 2023-02-27 at e3f81cfdbc) + drop pure pass-through config callbacks + gpg-interface: lazily initialize and read the configuration Instead of forcing each command to choose to honor GPG related configuration variables, make the subsystem lazily initialize itself. Will cook in 'next'. source: * mc/credential-helper-www-authenticate (2023-02-27) 3 commits (merged to 'next' on 2023-02-27 at 89c9bd4b8f) + credential: add WWW-Authenticate header to cred requests + http: read HTTP WWW-Authenticate response headers + t5563: add tests for basic and anoymous HTTP access Allow information carried on the WWW-AUthenticate header to be passed to the credential helpers. Will cook in 'next'. source: * ab/avoid-losing-exit-codes-in-tests (2023-02-06) 6 commits (merged to 'next' on 2023-03-06 at 60d7d0d493) + tests: don't lose misc "git" exit codes + tests: don't lose exit status with "test $(git ...)" + tests: don't lose "git" exit codes in "! ( git ... | grep )" + tests: don't lose exit status with "(cd ...; test $(git ...))" + t/lib-patch-mode.sh: fix ignored exit codes + auto-crlf tests: don't lose exit code in loops and outside tests Test clean-up. Will cook in 'next'. source: * rj/branch-unborn-in-other-worktrees (2023-02-22) 3 commits (merged to 'next' on 2023-03-06 at 6ee0ec72ae) + branch: rename orphan branches in any worktree + branch: description for orphan branch errors + branch: avoid unnecessary worktrees traversals Error messages given when working on an unborn branch that is checked out in another worktree have been improved. Needs update. cf. <877b6f9d-bab6-1343-42d0-3e17e3d0a9c5@gmail.com> source: <139555f1-21ab-d987-a58e-c7f04ce222d3@gmail.com> * ab/imap-send-requires-curl (2023-02-02) 6 commits - imap-send: correctly report "host" when using "tunnel" - imap-send: remove old --no-curl codepath - imap-send: make --curl no-optional - imap-send: replace auto-probe libcurl with hard dependency - imap-send doc: the imap.sslVerify is used with imap.tunnel - imap-send: note "auth_method", not "host" on auth method failure Give a hard dependency on cURL library to build "git imap-send", and remove the code to interact with IMAP server without using cURL. Expecting a reroll. The 'tunnel' part is still iffy. cf. <230203.86bkmabfjr.gmgdl@evledraar.gmail.com> source: * ab/config-multi-and-nonbool (2023-03-08) 9 commits - for-each-repo: with bad config, don't conflate and - config API: add "string" version of *_value_multi(), fix segfaults - config API users: test for *_get_value_multi() segfaults - for-each-repo: error on bad --config - config API: have *_multi() return an "int" and take a "dest" - versioncmp.c: refactor config reading next commit - config API: add and use a "git_config_get()" family of functions - config tests: add "NULL" tests for *_get_value_multi() - config tests: cover blind spots in git_die_config() tests Assorted config API updates. Almost there. cf. source: * cb/checkout-same-branch-twice (2023-01-20) 1 commit - checkout/switch: disallow checking out same branch in multiple worktrees "git checkout -B $branch" failed to protect against checking out a branch that is checked out elsewhere, unlike "git branch -f" did. Expecting a hopefully minor and final reroll. cf. <8f24fc3c-c30f-dc70-5a94-5ee4ed3de102@dunelm.org.uk> source: <20230120113553.24655-1-carenas@gmail.com> * rj/avoid-switching-to-already-used-branch (2023-02-25) 4 commits (merged to 'next' on 2023-03-06 at 7546231ddf) + switch: reject if the branch is already checked out elsewhere (test) + rebase: refuse to switch to a branch already checked out elsewhere (test) + branch: fix die_if_checked_out() when ignore_current_worktree + worktree: introduce is_shared_symref() A few subcommands have been taught to stop users from working on a branch that is being used in another worktree linked to the same repository. Will cook in 'next'. source: <6fed3b1b-1c4e-9298-19b6-7ad9c04c87dd@gmail.com> * rj/bisect-already-used-branch (2023-01-22) 1 commit (merged to 'next' on 2023-03-06 at 3508814a41) + bisect: fix "reset" when branch is checked out elsewhere Allow "git bisect reset" to check out the original branch when the branch is already checked out in a different worktree linked to the same repository. Will cook in 'next'. source: <1c36c334-9f10-3859-c92f-3d889e226769@gmail.com> * ms/send-email-feed-header-to-validate-hook (2023-01-19) 2 commits - send-email: expose header information to git-send-email's sendemail-validate hook - send-email: refactor header generation functions "git send-email" learned to give the e-mail headers to the validate hook by passing an extra argument from the command line. Expecting a hopefully minor and final reroll. cf. source: <20230120012459.920932-1-michael.strawbridge@amd.com> * tc/cat-file-z-use-cquote (2023-03-03) 2 commits . cat-file: quote-format name in error when using -z . cat-file: extract printing batch error message into function "cat-file" in the batch mode that is fed NUL-terminated pathnames learned to cquote them in its error output (otherwise, a funny pathname with LF in it would break the lines in the output stream). Breaks "cat-file --batch-all-objects --batch-check". cf. source: <20230303191708.77894-1-toon@iotcl.com> * cw/submodule-status-in-parallel (2023-03-02) 6 commits - diff-lib: parallelize run_diff_files for submodules - diff-lib: refactor out diff_change logic - submodule: refactor is_submodule_modified() - submodule: move status parsing into function - submodule: rename strbuf variable - run-command: add on_stderr_output_fn to run_processes_parallel_opts "git submodule status" learned to run the comparison in submodule repositories in parallel. Comments? source: <20230302215237.1473444-1-calvinwan@google.com> -------------------------------------------------- [Discarded] * mc/switch-advice (2022-11-09) 1 commit . po: use `switch` over `checkout` in error message Use 'switch' instead of 'checkout' in an error message. Will discard. Getting tired of waiting for review response. * js/range-diff-mbox (2022-11-23) 1 commit . range-diff: support reading mbox files 'git range-diff' gained support for reading either side from an .mbox file instead of a revision range. Will discard. Getting tired of waiting for review response. cf. source: * jc/test-prereq-symlink-update (2023-02-09) 1 commit . test: make SYMLINKS prerequisite more robust For some reason, "ln -s x y && test -h y" started passing on Windows, even though we do not have working readlink(3) there. Tighten the check to enable SYMLINKS prerequisite in our tests. It turns out that this was caused by using a faulty build of the Windows dev environment, which was fixed. source: * jc/t5559-workaround (2023-02-09) 1 commit . t5559: skip a known-to-be-broken test source: