{"thread":{"id":"62613","subject":"What's cooking in git.git (Dec 2024, #03; Sun, 8)","startedAt":"2024-12-08T09:31:49Z","lastAt":"2024-12-09T23:53:18Z","messageCount":3,"participants":["Junio C Hamano","Jonathan Tan"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"508834","messageId":"xmqq7c8asepo.fsf@gitster.g","threadId":"62613","inReplyTo":null,"subject":"What's cooking in git.git (Dec 2024, #03; Sun, 8)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2024-12-08T09:31:47Z","receivedAt":"2024-12-08T09:31:49Z","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\nfuture release).  Commits prefixed with '-' are only in 'seen', and\naren't considered \"accepted\" at all and may be annotated with an URL\nto a message that raises issues but they are no means exhaustive.  A\ntopic without enough support may be discarded after a long period of\nno activity (of course they can be resubmit when new interests\narise).\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-scm/git/\n\nWith all the integration branches and topics broken out:\n\n\thttps://github.com/gitster/git/\n\nEven though the preformatted documentation in HTML and man format\nare not sources, they are published in these repositories for\nconvenience (replace \"htmldocs\" with \"manpages\" for the manual\npages):\n\n\tgit://git.kernel.org/pub/scm/git/git-htmldocs.git/\n\thttps://github.com/gitster/git-htmldocs.git/\n\nRelease tarballs are available at:\n\n\thttps://www.kernel.org/pub/software/scm/git/\n\n--------------------------------------------------\n[New Topics]\n\n* bf/explicit-config-set-in-advice-messages (2024-12-06) 1 commit\n - advice: suggest using subcommand \"git config set\"\n\n The advice messages now tell the newer 'git config set' command to\n set the advice.token configuration variable to squelch a message.\n\n Will merge to 'next'.\n source: <20241205122225.1184215-1-bence@ferdinandy.com>\n\n\n* cc/lop-remote (2024-12-07) 5 commits\n - doc: add technical design doc for large object promisors\n - promisor-remote: check advertised name or URL\n - Add 'promisor-remote' capability to protocol v2\n - strbuf: refactor strbuf_trim_trailing_ch()\n - version: refactor strbuf_sanitize()\n\n source: <20241206124248.160494-1-christian.couder@gmail.com>\n\n\n* ds/backfill (2024-12-07) 6 commits\n - backfill: assume --sparse when sparse-checkout is enabled\n - backfill: add --sparse option\n - backfill: add --batch-size=<n> option\n - backfill: basic functionality and tests\n - backfill: add builtin boilerplate\n - Merge branch 'ds/path-walk-1' into ds/backfill\n (this branch uses ds/path-walk-1.)\n\n source: <pull.1820.git.1733515638.gitgitgadget@gmail.com>\n\n\n* kn/reftable-writer-log-write-verify (2024-12-07) 1 commit\n - reftable/writer: ensure valid range for log's update_index\n\n source: <20241206-424-reftable-writer-add-check-for-limits-v2-1-82ca350b10be@gmail.com>\n\n\n* ps/ci-gitlab-update (2024-12-07) 4 commits\n - ci/lib: fix \"CI setup\" sections with GitLab CI\n - ci/lib: use echo instead of printf to set up sections\n - ci/lib: remove duplicate trap to end \"CI setup\" group\n - gitlab-ci: update macOS images to Sonoma\n\n source: <20241206-pks-ci-section-fixes-v1-0-7ab1b69e3648@pks.im>\n\n\n* ps/commit-with-message-syntax-fix (2024-12-08) 1 commit\n - object-name: fix reversed ordering with \":/<text>\" revisions\n\n The syntax \":/<text>\" to name the latest commit with the matching\n text was broken with a recent change, which has been corrected.\n\n Will merge to 'next'.\n source: <20241206-pks-rev-parse-fix-reversed-list-v3-1-d934c17db168@pks.im>\n\n\n* jc/set-head-symref-fix (2024-12-07) 2 commits\n - fetch: do not ask for HEAD unnecessarily\n - Merge branch 'bf/set-head-symref' into js/set-head-symref-fix\n (this branch uses bf/set-head-symref.)\n\n \"git fetch\" from a configured remote learned to update a missing\n remote-tracking HEAD but it asked the remote about their HEAD even\n when it did not need to, which has been corrected.  Incidentally,\n this also corrects \"git fetch --tags $URL\" which was broken by the\n new feature in an unspecified way.\n\n Will merge to 'next'.\n source: <xmqqcyi5xmhr.fsf@gitster.g>\n\n\n* re/submodule-parse-opt (2024-12-08) 3 commits\n - git-submodule.sh: improve parsing of short options\n - git-submodule.sh: improve parsing of some long options\n - git-submodule.sh: make some variables boolean\n\n \"git submodule\" learned various ways to spell the same option,\n e.g. \"--branch=B\" can be spelled \"--branch B\" or \"-bB\".\n\n Will merge to 'next'?\n source: <20241207135201.2536-1-royeldar0@gmail.com>\n\n--------------------------------------------------\n[Graduated to 'master']\n\n* kh/sequencer-comment-char (2024-11-26) 3 commits\n  (merged to 'next' on 2024-11-28 at 84693f6bb7)\n + sequencer: comment commit messages properly\n + sequencer: comment `--reference` subject line properly\n + sequencer: comment checked-out branch properly\n\n The sequencer failed to honor core.commentString in some places.\n source: <cover.1732565412.git.code@khaugsbakk.name>\n\n\n* sj/refs-symref-referent-fix (2024-11-27) 1 commit\n  (merged to 'next' on 2024-11-28 at 65eba16b56)\n + ref-cache: fix invalid free operation in `free_ref_entry`\n\n A double-free that may not trigger in practice by luck has been\n corrected in the reference resolution code.\n source: <Z0Xd-cYPNNrxwuAB@ArchLinux>\n\n--------------------------------------------------\n[Cooking]\n\n* jt/fix-fattening-promisor-fetch (2024-12-04) 4 commits\n - index-pack: work around false positive use of uninitialized variable\n - index-pack --promisor: also check commits' trees\n - index-pack --promisor: don't check blobs\n - index-pack --promisor: dedup before checking links\n\n Fix performance regression of a recent \"fatten promisor pack with\n local objects\" protection against an unwanted gc.\n\n Need to squash the fix-up at the tip.\n source: <cover.1733262661.git.jonathantanmy@google.com>\n\n\n* kk/doc-ancestry-path (2024-12-04) 1 commit\n  (merged to 'next' on 2024-12-05 at 36d6c51c96)\n + doc: mention rev-list --ancestry-path restrictions\n\n The --ancestry-path option is designed to be given a commit that is\n on the path, which was not documented, which has been corrected.\n\n Will merge to 'master'.\n source: <CADYQcGrD5KtM1sZQbccAtDaLmUXD8Gxv_nUWmapjfZm=TMq=Jw@mail.gmail.com>\n\n\n* kh/doc-bundle-typofix (2024-12-02) 1 commit\n  (merged to 'next' on 2024-12-04 at 5da441ce36)\n + Documentation/git-bundle.txt: fix word join typo\n\n Typofix.\n\n Will merge to 'master'.\n source: <164b94bab9214f6030909df8f1e7c476b7f79e55.1732822997.git.code@khaugsbakk.name>\n\n\n* kh/doc-update-ref-grammofix (2024-12-02) 1 commit\n  (merged to 'next' on 2024-12-04 at 9905f16afc)\n + Documentation/git-update-ref.txt: add missing word\n\n Grammofix.\n\n Will merge to 'master'.\n source: <6cc7a9d60216c966bcf77675aa22a39cfa8993e2.1732906187.git.code@khaugsbakk.name>\n\n\n* ps/build-sign-compare (2024-12-06) 16 commits\n - t/helper: don't depend on implicit wraparound\n - scalar: address -Wsign-compare warnings\n - builtin/patch-id: fix type of `get_one_patchid()`\n - builtin/blame: fix type of `length` variable when emitting object ID\n - gpg-interface: address -Wsign-comparison warnings\n - daemon: fix type of `max_connections`\n - daemon: fix loops that have mismatching integer types\n - global: trivial conversions to fix `-Wsign-compare` warnings\n - pkt-line: fix -Wsign-compare warning on 32 bit platform\n - csum-file: fix -Wsign-compare warning on 32-bit platform\n - diff.h: fix index used to loop through unsigned integer\n - config.mak.dev: drop `-Wno-sign-compare`\n - global: mark code units that generate warnings with `-Wsign-compare`\n - compat/win32: fix -Wsign-compare warning in \"wWinMain()\"\n - compat/regex: explicitly ignore \"-Wsign-compare\" warnings\n - git-compat-util: introduce macros to disable \"-Wsign-compare\" warnings\n\n Start working to make the codebase buildable with -Wsign-compare.\n\n Will merge to 'next'?\n source: <20241206-pks-sign-compare-v4-0-0344c6dfb219@pks.im>\n\n\n* rj/strvec-splice-fix (2024-12-05) 2 commits\n - strvec: `strvec_splice()` to a statically initialized vector\n - Merge branch 'ps/leakfixes-part-10' into rj/strvec-splice-fix\n\n Correct strvec_splice() that misbehaved when the strvec is empty.\n\n Will merge to 'next'?\n source: <3c7b3c26-7501-4797-8afa-c7f7e9c46558@gmail.com>\n\n\n* jc/forbid-head-as-tagname (2024-12-03) 4 commits\n - tag: \"git tag\" refuses to use HEAD as a tagname\n - t5604: do not expect that HEAD can be a valid tagname\n - refs: drop strbuf_ prefix from helpers\n - refs: move ref name helpers around\n\n \"git tag\" has been taught to refuse to create refs/tags/HEAD\n as such a tag will be confusing in the context of UI provided by\n the Git Porcelain commands.\n\n Will merge to 'next'.\n source: <20241203023240.3852850-1-gitster@pobox.com>\n\n\n* en/fast-import-verify-path (2024-12-04) 3 commits\n  (merged to 'next' on 2024-12-05 at bbdd9b9659)\n + t9300: test verification of renamed paths\n  (merged to 'next' on 2024-12-02 at 2932fa51e4)\n + fast-import: disallow more path components\n  (merged to 'next' on 2024-11-27 at 8b145bb543)\n + fast-import: disallow \".\" and \"..\" path components\n\n \"git fast-import\" learned to reject paths with \"..\"  and \".\" as\n their components to avoid creating invalid tree objects.\n\n Will merge to 'master'.\n source: <pull.1831.v2.git.1732561248717.gitgitgadget@gmail.com>\n source: <pull.1832.git.1732740464398.gitgitgadget@gmail.com>\n source: <20241203210652.GA1413195@coredump.intra.peff.net>\n\n\n* bf/fetch-set-head-config (2024-12-06) 5 commits\n - remote set-head: set followRemoteHEAD to \"warn\" if \"always\"\n - fetch set_head: add warn-if-not-$branch option\n - fetch set_head: move warn advice into advise_if_enabled\n  (merged to 'next' on 2024-12-04 at 69bfc59fb5)\n + fetch: add configuration for set_head behaviour\n + Merge branch 'bf/set-head-symref' into bf/fetch-set-head-config\n (this branch uses bf/set-head-symref.)\n\n \"git fetch\" honors \"remote.<remote>.followRemoteHEAD\" settings to\n tweak the remote-tracking HEAD in \"refs/remotes/<remote>/HEAD\".\n\n Will merge to 'next'.\n source: <20241128230806.2058962-1-bence@ferdinandy.com>\n source: <20241204104003.514905-1-bence@ferdinandy.com>\n source: <20241128111946.366584-1-bence@ferdinandy.com>\n\n\n* jc/doc-error-message-guidelines (2024-11-29) 1 commit\n  (merged to 'next' on 2024-12-04 at 2d19ff44e5)\n + CodingGuidelines: a handful of error message guidelines\n\n Developer documentation update.\n\n Will merge to 'master'.\n source: <xmqqa5dkqjmr.fsf_-_@gitster.g>\n\n\n* jc/doc-opt-tilde-expand (2024-11-25) 1 commit\n  (merged to 'next' on 2024-12-02 at e345717b87)\n + doc: option value may be separate for valid reasons\n\n Describe a case where an option value needs to be spelled as a\n separate argument, i.e. \"--opt val\", not \"--opt=val\".\n\n Will merge to 'master'.\n source: <xmqqh67w6m4m.fsf@gitster.g>\n\n\n* kn/midx-wo-the-repository (2024-12-04) 10 commits\n  (merged to 'next' on 2024-12-05 at e48a185ed0)\n + midx: inline the `MIDX_MIN_SIZE` definition\n + midx: pass down `hash_algo` to functions using global variables\n + midx: pass `repository` to `load_multi_pack_index`\n + midx: cleanup internal usage of `the_repository` and `the_hash_algo`\n + midx-write: pass down repository to `write_midx_file[_only]`\n + write-midx: add repository field to `write_midx_context`\n + midx-write: use `revs->repo` inside `read_refs_snapshot`\n + midx-write: pass down repository to static functions\n + Merge branch 'kn/pass-repo-to-builtin-sub-sub-commands' into kn/midx-wo-the-repository\n + Merge branch 'kn/the-repository' into kn/midx-wo-the-repository\n (this branch uses kn/the-repository.)\n\n Yet another \"pass the repository through the callchain\" topic.\n\n Will merge to 'master'.\n source: <20241127-374-refactor-midx-c-and-midx-write-c-to-not-depend-on-global-state-v3-0-c5a99f85009b@gmail.com>\n\n\n* tb/unsafe-hash-test (2024-11-21) 2 commits\n - t/helper/test-tool: implement sha1-unsafe helper\n - t/helper/test-sha1: prepare for an unsafe mode\n\n Preliminary addition to the test tool to allow a plain SHA-1 hash\n algorithm without collision protection.\n\n Comments?\n cf. <xmqqr073antj.fsf@gitster.g>\n source: <cover.1730833506.git.me@ttaylorr.com>\n\n\n* jt/bundle-fsck (2024-11-28) 4 commits\n  (merged to 'next' on 2024-12-04 at bfd07a8936)\n + transport: propagate fsck configuration during bundle fetch\n + fetch-pack: split out fsck config parsing\n + bundle: support fsck message configuration\n + bundle: add bundle verification options type\n\n \"git bundle --unbundle\" and \"git clone\" running on a bundle file\n both learned to trigger fsck over the new objects with configurable\n fck check levels.\n\n Will merge to 'master'.\n cf. <Z08VoOHGZ1wecUx6@pks.im>\n source: <20241127233312.27710-1-jltobler@gmail.com>\n\n\n* bc/allow-upload-pack-from-other-people (2024-11-15) 1 commit\n  (merged to 'next' on 2024-12-02 at bf711f018c)\n + Allow cloning from repositories owned by another user\n\n Loosen overly strict ownership check introduced in the recent past,\n to keep the promise \"cloning a suspicious repository is a safe\n first step to inspect it\".\n\n Will merge to 'master'.\n cf. <xmqqed2yzc5z.fsf@gitster.g>\n source: <20241115005404.3747302-2-sandals@crustytoothpaste.net>\n\n\n* tb/incremental-midx-part-2 (2024-11-20) 15 commits\n - midx: implement writing incremental MIDX bitmaps\n - pack-bitmap.c: use `ewah_or_iterator` for type bitmap iterators\n - pack-bitmap.c: keep track of each layer's type bitmaps\n - ewah: implement `struct ewah_or_iterator`\n - pack-bitmap.c: apply pseudo-merge commits with incremental MIDXs\n - pack-bitmap.c: compute disk-usage with incremental MIDXs\n - pack-bitmap.c: teach `rev-list --test-bitmap` about incremental MIDXs\n - pack-bitmap.c: support bitmap pack-reuse with incremental MIDXs\n - pack-bitmap.c: teach `show_objects_for_type()` about incremental MIDXs\n - pack-bitmap.c: teach `bitmap_for_commit()` about incremental MIDXs\n - pack-bitmap.c: open and store incremental bitmap layers\n - pack-revindex: prepare for incremental MIDX bitmaps\n - Documentation: describe incremental MIDX bitmaps\n - Merge branch 'tb/pseudo-merge-bitmap-fixes' into tb/incremental-midx-part-2\n - Merge branch 'tb/incremental-midx-part-1' into tb/incremental-midx-part-2\n\n Incrementally updating multi-pack index files.\n\n Needs review.\n source: <cover.1732054032.git.me@ttaylorr.com>\n\n\n* pb/mergetool-errors (2024-11-25) 5 commits\n  (merged to 'next' on 2024-12-02 at b439b146c2)\n + git-difftool--helper.sh: exit upon initialize_merge_tool errors\n + git-mergetool--lib.sh: add error message for unknown tool variant\n + git-mergetool--lib.sh: add error message if 'setup_user_tool' fails\n + git-mergetool--lib.sh: use TOOL_MODE when erroring about unknown tool\n + completion: complete '--tool-help' in 'git mergetool'\n\n End-user experience of \"git mergetool\" when the command errors out\n has been improved.\n\n Will merge to 'master'.\n source: <pull.1827.v2.git.1732305022.gitgitgadget@gmail.com>\n\n\n* ps/send-pack-unhide-error-in-atomic-push (2024-11-14) 2 commits\n - transport: don't ignore git-receive-pack(1) exit code on atomic push\n - t5504: modernize test by moving heredocs into test bodies\n\n \"git push --atomic --porcelain\" used to ignore failures from the\n other side, losing the error status from the child process, which\n has been corrected.\n\n Needs review.\n source: <20241113-pks-push-atomic-respect-exit-code-v1-0-7965f01e7f4e@pks.im>\n\n\n* js/log-remerge-keep-ancestry (2024-11-12) 1 commit\n - log: --remerge-diff needs to keep around commit parents\n\n \"git log -p --remerge-diff --reverse\" was completely broken.\n\n Expecting a hopefully small and final reroll.\n cf. <xmqqa5e5berx.fsf@gitster.g>\n source: <pull.1825.v2.git.1731350009491.gitgitgadget@gmail.com>\n\n\n* ps/reftable-iterator-reuse (2024-11-26) 11 commits\n  (merged to 'next' on 2024-12-02 at 3c1d2e2a6a)\n + refs/reftable: reuse iterators when reading refs\n + reftable/merged: drain priority queue on reseek\n + reftable/stack: add mechanism to notify callers on reload\n + refs/reftable: refactor reflog expiry to use reftable backend\n + refs/reftable: refactor reading symbolic refs to use reftable backend\n + refs/reftable: read references via `struct reftable_backend`\n + refs/reftable: figure out hash via `reftable_stack`\n + reftable/stack: add accessor for the hash ID\n + refs/reftable: handle reloading stacks in the reftable backend\n + refs/reftable: encapsulate reftable stack\n + Merge branch 'ps/reftable-detach' into ps/reftable-iterator-reuse\n (this branch uses ps/reftable-detach.)\n\n Optimize reading random references out of the reftable backend by\n allowing reuse of iterator objects.\n\n Will merge to 'master'.\n source: <20241126-pks-reftable-backend-reuse-iter-v4-0-b17fd27df126@pks.im>\n\n\n* jc/move-is-bare-repository-cfg-variable-to-repo (2024-11-07) 3 commits\n - repository: BUG when is_bare_cfg is not initialized\n - setup: initialize is_bare_cfg\n - git: remove is_bare_repository_cfg global variable\n\n Code rewrite to turn the is_bare_repository_cfg global variable\n into a member in the the_repo singleton repository object.\n\n Waiting for response to reviews.\n cf. <xmqqy116xvr3.fsf@gitster.g>\n source: <pull.1826.git.git.1730926082.gitgitgadget@gmail.com>\n\n\n* jk/describe-perf (2024-12-06) 5 commits\n - describe: split \"found all tags\" and max_candidates logic\n  (merged to 'next' on 2024-12-02 at 0f34109a85)\n + describe: stop traversing when we run out of names\n + describe: stop digging for max_candidates+1\n + t/perf: add tests for git-describe\n + t6120: demonstrate weakness in disjoint-root handling\n\n \"git describe\" optimization.\n\n Will merge to 'next'.\n source: <20241106192236.GC880133@coredump.intra.peff.net>\n source: <20241206054218.GA3203047@coredump.intra.peff.net>\n\n\n* js/range-diff-diff-merges (2024-11-11) 1 commit\n - range-diff: optionally include merge commits' diffs in the analysis\n\n \"git range-diff\" learned to optionally show and compare merge\n commits in the ranges being compared, with the --diff-merges\n option.\n\n Expecting a (hopefully final and) small reroll.\n cf. <eb502feb-1563-b1b5-5345-784673c89c79@gmx.de>\n source: <pull.1734.v2.git.1731073383564.gitgitgadget@gmail.com>\n\n\n* ds/name-hash-tweaks (2024-12-03) 8 commits\n - pack-objects: add third name hash version\n - pack-objects: prevent name hash version change\n - test-tool: add helper for name-hash values\n - p5313: add size comparison test\n - pack-objects: add GIT_TEST_NAME_HASH_VERSION\n - repack: add --name-hash-version option\n - pack-objects: add --name-hash-version option\n - pack-objects: create new name-hash function version\n\n \"git pack-objects\" and its wrapper \"git repack\" learned an option\n to use an alternative path-hash function to improve delta-base\n selection to produce a packfile with deeper history than window\n size.\n source: <pull.1823.v2.git.1733181682.gitgitgadget@gmail.com>\n\n\n* ds/path-walk-1 (2024-12-07) 7 commits\n - path-walk: reorder object visits\n - path-walk: mark trees and blobs as UNINTERESTING\n - path-walk: visit tags and cached objects\n - path-walk: allow consumer to specify object types\n - t6601: add helper for testing path-walk API\n - test-lib-functions: add test_cmp_sorted\n - path-walk: introduce an object walk by path\n (this branch is used by ds/backfill.)\n\n Introduce a new API to visit objects in batches based on a common\n path, or by type.\n\n Will merge to 'next'?\n source: <pull.1818.v3.git.1733514358.gitgitgadget@gmail.com>\n\n\n* bc/ancient-ci (2024-11-01) 3 commits\n  (merged to 'next' on 2024-12-02 at f6128744ce)\n + Add additional CI jobs to avoid accidental breakage\n + ci: remove clause for Ubuntu 16.04\n + gitlab-ci: switch from Ubuntu 16.04 to 20.04\n\n Drop support for ancient environments in various CI jobs.\n\n Will merge to 'master'.\n source: <20241031234934.3451390-1-sandals@crustytoothpaste.net>\n\n\n* cw/worktree-extension (2024-12-02) 8 commits\n  (merged to 'next' on 2024-12-05 at 7bd98d132c)\n + worktree: refactor `repair_worktree_after_gitdir_move()`\n + worktree: add relative cli/config options to `repair` command\n + worktree: add relative cli/config options to `move` command\n + worktree: add relative cli/config options to `add` command\n + worktree: add `write_worktree_linking_files()` function\n + worktree: refactor infer_backlink return\n + worktree: add `relativeWorktrees` extension\n + setup: correctly reinitialize repository version\n\n Introduce a new repository extension to prevent older Git versions\n from mis-interpreting worktrees created with relative paths.\n\n Will merge to 'master'.\n cf. <103c7a4d-a74b-4381-a9c7-33a89d5db192@gmail.com>\n source: <20241129-wt_relative_options-v6-0-44e4e0bec8c3@pm.me>\n\n\n* as/show-index-uninitialized-hash (2024-11-11) 2 commits\n - t5300: add test for 'show-index --object-format'\n - show-index: fix uninitialized hash function\n\n Regression fix for 'show-index' when run outside of a repository.\n\n Comments?\n source: <20241109092739.14276-1-abhijeet.nkt@gmail.com>\n\n\n* ps/reftable-detach (2024-11-19) 8 commits\n  (merged to 'next' on 2024-12-02 at e105e787b6)\n + reftable/system: provide thin wrapper for lockfile subsystem\n + reftable/stack: drop only use of `get_locked_file_path()`\n + reftable/system: provide thin wrapper for tempfile subsystem\n + reftable/stack: stop using `fsync_component()` directly\n + reftable/system: stop depending on \"hash.h\"\n + reftable: explicitly handle hash format IDs\n + reftable/system: move \"dir.h\" to its only user\n + Merge branch 'ps/reftable-strbuf' into ps/reftable-detach\n (this branch is used by ps/reftable-iterator-reuse.)\n\n Isolates the reftable subsystem from the rest of Git's codebase by\n using fewer pieces of Git's infrastructure.\n\n Will merge to 'master'.\n source: <cover.1731943954.git.ps@pks.im>\n\n\n* km/config-remote-by-name (2024-10-21) 1 commit\n - config: support remote name in includeIf.hasconfig condition\n\n Support conditionally including configuration by remote name, instead\n of just URL.\n\n Will discard?\n source: <20241020173216.40852-2-ken@kmatsui.me>\n\n\n* y5/diff-pager (2024-10-21) 1 commit\n - diff: setup pager only before diff contents truly ready\n\n Delay setting up the pager in 'git diff' until after the diff contents\n itself is fully prepared.\n\n Will discard?\n source: <pull.1817.git.git.1729370390416.gitgitgadget@gmail.com>\n\n\n* es/oss-fuzz (2024-10-16) 3 commits\n  (merged to 'next' on 2024-12-05 at 1f973aece2)\n + fuzz: port fuzz-url-decode-mem from OSS-Fuzz\n + fuzz: port fuzz-parse-attr-line from OSS-Fuzz\n + fuzz: port fuzz-credential-from-url-gently from OSS-Fuzz\n\n Backport oss-fuzz tests for us to our codebase.\n\n Will merge to 'master'.\n source: <cover.1728939687.git.steadmon@google.com>\n\n\n* bf/set-head-symref (2024-11-25) 10 commits\n  (merged to 'next' on 2024-12-02 at b142ff3d8e)\n + fetch set_head: handle mirrored bare repositories\n + fetch: set remote/HEAD if it does not exist\n + refs: add create_only option to refs_update_symref_extended\n + refs: add TRANSACTION_CREATE_EXISTS error\n + remote set-head: better output for --auto\n + remote set-head: refactor for readability\n + refs: atomically record overwritten ref in update_symref\n + refs: standardize output of refs_read_symbolic_ref\n + t/t5505-remote: test failure of set-head\n + t/t5505-remote: set default branch to main\n (this branch is used by bf/fetch-set-head-config and jc/set-head-symref-fix)\n\n When \"git fetch $remote\" notices that refs/remotes/$remote/HEAD is\n missing and discovers what branch the other side points with its\n HEAD, refs/remotes/$remote/HEAD is updated to point to it.\n\n Needs to wait until set-head-symref-fix topic solidifies.\n source: <20241122123138.66960-1-bence@ferdinandy.com>\n\n\n* ps/build (2024-12-08) 25 commits\n - meson: fix conflicts with in-flight topics\n - Introduce support for the Meson build system\n - Documentation: add comparison of build systems\n - t: allow overriding build dir\n - t: better support for out-of-tree builds\n - Documentation: extract script to generate a list of mergetools\n - Documentation: teach \"cmd-list.perl\" about out-of-tree builds\n - Documentation: allow sourcing generated includes from separate dir\n - Makefile: simplify building of templates\n - Makefile: write absolute program path into bin-wrappers\n - Makefile: allow \"bin-wrappers/\" directory to exist\n - Makefile: refactor generators to be PWD-independent\n - Makefile: extract script to generate gitweb.js\n - Makefile: extract script to generate gitweb.cgi\n - Makefile: extract script to massage Python scripts\n - Makefile: extract script to massage Shell scripts\n - Makefile: use \"generate-perl.sh\" to massage Perl library\n - Makefile: extract script to massage Perl scripts\n - Makefile: consistently use PERL_PATH\n - Makefile: generate doc versions via GIT-VERSION-GEN\n - Makefile: generate \"git.rc\" via GIT-VERSION-GEN\n - Makefile: propagate Git version via generated header\n - Makefile: refactor GIT-VERSION-GEN to be reusable\n - Makefile: consistently use @PLACEHOLDER@ to substitute\n - Makefile: use common template for GIT-BUILD-OPTIONS\n\n Build procedure update plus introduction of Mason based builds\n\n Will merge to 'next' (except for the tip one).\n source: <20241206-pks-meson-v11-0-525ed4792b88@pks.im>\n\n\n* ej/cat-file-remote-object-info (2024-11-25) 6 commits\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 - fetch-pack: move fetch initialization\n - fetch-pack: refactor packet writing\n - cat-file: add declaration of variable i inside its for loop\n\n \"git cat-file --batch\" and friends can optionally ask a remote\n server about objects it does not have.\n\n Expecting a reroll.\n cf. <Z0RIrKwUnaWWm_gJ@pks.im>\n source: <20241125053616.25170-1-eric.peijian@gmail.com>\n\n\n* js/libgit-rust (2024-10-16) 5 commits\n - Makefile: add option to build and test libgit-rs and libgit-rs-sys\n - libgit: add higher-level libgit crate\n - libgit-sys: also export some config_set functions\n - libgit-sys: introduce Rust wrapper for libgit.a\n - common-main: split init and exit code into new files\n\n An rust binding to libgit.a functions has been introduced.\n\n Will discard?\n source: <cover.1729032373.git.steadmon@google.com>\n\n\n* kn/the-repository (2024-12-04) 10 commits\n + packfile.c: remove unnecessary prepare_packed_git() call\n + midx: add repository to `multi_pack_index` struct\n + config: make `packed_git_(limit|window_size)` non-global variables\n + config: make `delta_base_cache_limit` a non-global variable\n + packfile: pass down repository to `for_each_packed_object`\n + packfile: pass down repository to `has_object[_kept]_pack`\n + packfile: pass down repository to `odb_pack_name`\n + packfile: pass `repository` to static function in the file\n + packfile: use `repository` from `packed_git` directly\n + packfile: add repository to struct `packed_git`\n (this branch is used by kn/midx-wo-the-repository.)\n\n Various implicit uses of 'the_repoository' in the packfile code\n have been eliminated.\n\n Will merge to 'master'.\n source: <cover.1733236936.git.karthik.188@gmail.com>\n"},{"id":"508887","messageId":"20241209203958.801143-1-jonathantanmy@google.com","threadId":"62613","inReplyTo":"xmqq7c8asepo.fsf@gitster.g","subject":"Re: What's cooking in git.git (Dec 2024, #03; Sun, 8)","fromName":"Jonathan Tan","fromEmail":"jonathantanmy@google.com","sentAt":"2024-12-09T20:39:58Z","receivedAt":"2024-12-09T20:40:02Z","isPatch":false,"sender":{"key":"jonathantanmy@fastmail.com","avatar":null},"body":"Junio C Hamano <gitster@pobox.com> writes:\n> * jt/fix-fattening-promisor-fetch (2024-12-04) 4 commits\n>  - index-pack: work around false positive use of uninitialized variable\n>  - index-pack --promisor: also check commits' trees\n>  - index-pack --promisor: don't check blobs\n>  - index-pack --promisor: dedup before checking links\n> \n>  Fix performance regression of a recent \"fatten promisor pack with\n>  local objects\" protection against an unwanted gc.\n> \n>  Need to squash the fix-up at the tip.\n>  source: <cover.1733262661.git.jonathantanmy@google.com>\n\nI just replied [1] to what I believe is the last outstanding question,\nso I don't think there is any code change needed besides the squashing\nof the fix-up (as you said). If you could squash it locally (onto\n\"index-pack --promisor: dedup before checking links\") that would be\ngreat; if not let me know and I'll send an updated version.\n\n[1] https://lore.kernel.org/git/20241209202935.799059-1-jonathantanmy@google.com/ \n"},{"id":"508895","messageId":"xmqqo71kmn10.fsf@gitster.g","threadId":"62613","inReplyTo":"20241209203958.801143-1-jonathantanmy@google.com","subject":"Re: What's cooking in git.git (Dec 2024, #03; Sun, 8)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2024-12-09T23:53:15Z","receivedAt":"2024-12-09T23:53:18Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Jonathan Tan <jonathantanmy@google.com> writes:\n\n> Junio C Hamano <gitster@pobox.com> writes:\n>> * jt/fix-fattening-promisor-fetch (2024-12-04) 4 commits\n>>  - index-pack: work around false positive use of uninitialized variable\n>>  - index-pack --promisor: also check commits' trees\n>>  - index-pack --promisor: don't check blobs\n>>  - index-pack --promisor: dedup before checking links\n>> \n>>  Fix performance regression of a recent \"fatten promisor pack with\n>>  local objects\" protection against an unwanted gc.\n>> \n>>  Need to squash the fix-up at the tip.\n>>  source: <cover.1733262661.git.jonathantanmy@google.com>\n>\n> I just replied [1] to what I believe is the last outstanding question,\n> so I don't think there is any code change needed besides the squashing\n> of the fix-up (as you said). If you could squash it locally (onto\n> \"index-pack --promisor: dedup before checking links\") that would be\n> great; if not let me know and I'll send an updated version.\n\nThanks, will (try to remember to) do ;-)\n\nThere is nothing in the code that needs to be fixed, but we help\ncompilers so that they can help us.  Let's merge it down to 'next'\nafter squashing it in.\n\n"}]}