{"thread":{"id":"62845","subject":"What's cooking in git.git (Jan 2025, #06; Wed, 22)","startedAt":"2025-01-22T22:48:45Z","lastAt":"2025-02-04T02:35:20Z","messageCount":20,"participants":["Junio C Hamano","Jeff King","Eric Sunshine","Taylor Blau","Patrick Steinhardt","Toon Claes","D. Ben Knoble"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"511097","messageId":"xmqqbjvyv510.fsf@gitster.g","threadId":"62845","inReplyTo":null,"subject":"What's cooking in git.git (Jan 2025, #06; Wed, 22)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2025-01-22T22:48:43Z","receivedAt":"2025-01-22T22:48:45Z","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\nThere are quite a few topics that are listed here but without much\nreview activities.  I earlier said that I'll review the notes below\nwith list archive myself to see which ones are truly stale and\ndiscard them, but this is progressing a lot slower than my liking.\nHelp is greatly appreciated.\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[Graduated to 'master']\n\n* aj/difftool-config-doc-fix (2025-01-09) 1 commit\n  (merged to 'next' on 2025-01-10 at b8902a53d1)\n + difftool docs: restore correct position of tool list\n\n Docfix.\n source: <pull.1849.git.1736379323427.gitgitgadget@gmail.com>\n\n\n* dk/zsh-config-completion-fix (2025-01-06) 1 commit\n  (merged to 'next' on 2025-01-10 at efba7d534c)\n + completion: repair config completion for Zsh\n\n Completion script updates for zsh\n source: <pull.1860.v3.git.git.1736200026899.gitgitgadget@gmail.com>\n\n\n* jk/lsan-race-ignore-false-positive (2025-01-07) 3 commits\n  (merged to 'next' on 2025-01-09 at 3d7cd910b5)\n + test-lib: add a few comments to LSan log checking\n + test-lib: simplify lsan results check\n + test-lib: invert return value of check_test_results_san_file_empty\n\n The code to check LSan results has been simplified and made more\n robust.\n source: <20250107070409.GA584456@coredump.intra.peff.net>\n\n\n* jk/t7407-use-test-grep (2025-01-07) 1 commit\n  (merged to 'next' on 2025-01-09 at 1d584ee42d)\n + t7407: use test_grep\n\n Test clean-up.\n source: <20250107071824.GA594237@coredump.intra.peff.net>\n\n\n* jt/fsck-skiplist-parse-fix (2025-01-07) 1 commit\n  (merged to 'next' on 2025-01-09 at d08b30fd78)\n + fsck: reject misconfigured fsck.skipList\n\n A misconfigured \"fsck.skiplist\" configuration variable was not\n diagnosed as an error, which has been corrected.\n source: <20250107162914.3756968-2-jltobler@gmail.com>\n\n\n* mh/gitattr-doc-markup-fix (2025-01-07) 1 commit\n  (merged to 'next' on 2025-01-10 at 9b8f84ebe2)\n + docs: fix typesetting of merge driver placeholders\n\n Doc markup fix.\n source: <20250107212421.7yyvuzw4uqxnqv7t@archP14s>\n\n\n* ps/reftable-get-random-fix (2025-01-07) 2 commits\n  (merged to 'next' on 2025-01-09 at bc024b7a45)\n + reftable/stack: accept insecure random bytes\n + wrapper: allow generating insecure random bytes\n\n The code to compute \"unique\" name used git_rand() which can fail or\n get stuck; the callsite does not require cryptographic security.\n Introduce the \"insecure\" mode and use it appropriately.\n source: <20250107-b4-pks-reftable-csprng-v1-0-6109a54a8756@pks.im>\n\n\n* ps/the-repository (2024-12-18) 15 commits\n  (merged to 'next' on 2025-01-09 at 1de40edade)\n + match-trees: stop using `the_repository`\n + graph: stop using `the_repository`\n + add-interactive: stop using `the_repository`\n + tmp-objdir: stop using `the_repository`\n + resolve-undo: stop using `the_repository`\n + credential: stop using `the_repository`\n + mailinfo: stop using `the_repository`\n + diagnose: stop using `the_repository`\n + server-info: stop using `the_repository`\n + send-pack: stop using `the_repository`\n + serve: stop using `the_repository`\n + trace: stop using `the_repository`\n + pager: stop using `the_repository`\n + progress: stop using `the_repository`\n + Merge branch 'ps/build-sign-compare' into ps/the-repository\n\n More code paths have a repository passed through the callchain,\n instead of assuming the primary the_repository object.\n source: <20241217-pks-use-the-repository-conversion-v1-0-0dba48bcc239@pks.im>\n\n\n* sk/unit-test-hash (2025-01-09) 1 commit\n  (merged to 'next' on 2025-01-13 at 865b121824)\n + t/unit-tests: convert hash to use clar test framework\n\n Test update.\n source: <20250109140952.5267-1-kuforiji98@gmail.com>\n\n--------------------------------------------------\n[New Topics]\n\n* bc/doc-adoc-not-txt (2025-01-21) 5 commits\n - Remove obsolete \".txt\" extensions for AsciiDoc files\n - doc: use .adoc extension for AsciiDoc files\n - gitattributes: mark AsciiDoc files as LF-only\n - editorconfig: add .adoc extension\n - doc: update gitignore for .adoc extension\n\n All the documentation .txt files have been renamed to .adoc to help\n content aware editors.\n\n Will merge to 'next' and keep it there for at least 3 weeks.\n source: <20250120015603.1980991-1-sandals@crustytoothpaste.net>\n\n\n* jp/t8002-printf-fix (2025-01-21) 1 commit\n  (merged to 'next' on 2025-01-22 at 20bc202378)\n + t8002: fix ambiguous printf conversion specifications\n\n Test fix.\n\n Will merge to 'master'.\n source: <20250120114106.2844157-1-jpalus@fastmail.com>\n\n\n* am/trace2-with-valueless-true (2025-01-22) 1 commit\n - trace2: prevent segfault on config collection with valueless true\n\n source: <pull.1814.v2.git.1736494100622.gitgitgadget@gmail.com>\n\n\n* kn/reflog-symref-fix (2025-01-22) 1 commit\n - refs: fix creation of corrupted reflogs for symrefs\n\n source: <20250122100319.2280647-1-karthik.188@gmail.com>\n\n\n* ps/reflog-migration-with-logall-fix (2025-01-22) 1 commit\n - refs: fix migration of reflogs respecting \"core.logAllRefUpdates\"\n\n source: <20250122-b4-pks-reflog-migration-fix-stash-v1-1-27dbae4602f7@pks.im>\n\n--------------------------------------------------\n[Cooking]\n\n* sj/meson-doc-technical-dependency-fix (2025-01-14) 1 commit\n  (merged to 'next' on 2025-01-16 at 3ec55e0703)\n + meson: fix missing deps for technical articles\n\n The meson build procedure for Documentation/technical/ hiearchy was\n missing necessary dependencies, which has been corrected.\n\n Will merge to 'master'.\n source: <5114dc9a00377826a55f6bab007d2ad1a4de8bc5.1736866030.git.sam@gentoo.org>\n\n\n* tc/meson-use-our-version-def-h (2025-01-14) 1 commit\n  (merged to 'next' on 2025-01-16 at 76e9e81736)\n + meson: ensure correct version-def.h is used\n\n The meson build procedure looked for the 'version-def.h' file in a\n wrong directory, which has been corrected.\n\n Will merge to 'master'.\n source: <20250114-toon-fix-meson-version-v2-1-66ddb1a82c28@iotcl.com>\n\n\n* js/libgit-rust (2025-01-16) 6 commits\n - fixup! common-main: split init and exit code into new files\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 Foreign language interface for Rust into our code base has been added.\n\n Expecting a reroll.\n cf. <xmqqtt9ypj4m.fsf@gitster.g>\n cf. <Z47jgK-oMjFRSslr@tapette.crustytoothpaste.net>\n cf. <Z47kr0_fYYdaMWyA@tapette.crustytoothpaste.net>\n source: <cover.1736971328.git.steadmon@google.com>\n\n\n* kn/reflog-migration-fix (2025-01-15) 1 commit\n  (merged to 'next' on 2025-01-16 at ae8f9ce9a0)\n + reftable: write correct max_update_index to header\n (this branch is used by kn/reflog-migration-fix-followup.)\n\n \"git refs migrate\" for migrating reflog data was broken.\n\n On Hold.\n cf. <Z4mUizLNUdq_1BgY@tapette.crustytoothpaste.net>\n cf. <CAOLa=ZT4nws0irdZKUuWc70Rv9RUNQuSXnGAt1SnE1O+umSReg@mail.gmail.com>\n source: <CAOLa=ZTL9n_DPhNr49XAd6bT838kc09oVx_AH7Pb4o8VK_xQ9w@mail.gmail.com>\n\n\n* jc/show-usage-help (2025-01-17) 6 commits\n  (merged to 'next' on 2025-01-21 at 5a17181a32)\n + builtin: send usage() help text to standard output\n + oddballs: send usage() help text to standard output\n + builtins: send usage_with_options() help text to standard output\n + usage: add show_usage_if_asked()\n + parse-options: add show_usage_with_options_if_asked()\n + t0012: optionally check that \"-h\" output goes to stdout\n\n The help text from \"git $cmd -h\" appear on the standard output for\n some $cmd and the standard error for others.  The built-in commands\n have been fixed to show them on the standard output consistently.\n\n Will merge to 'master'.\n cf. <20250117114123.GA2356746@coredump.intra.peff.net>\n source: <20250117213148.3974552-1-gitster@pobox.com>\n\n\n* kn/pack-write-with-reduced-globals (2025-01-21) 5 commits\n - pack-write: pass hash_algo to internal functions\n - pack-write: pass hash_algo to `write_rev_file()`\n - pack-write: pass hash_algo to `write_idx_file()`\n - pack-write: pass repository to `index_pack_lockfile()`\n - pack-write: pass hash_algo to `fixup_pack_header_footer()`\n\n Code clean-up.\n\n Well merge to 'next'?\n source: <20250119-kn-the-repo-cleanup-v3-0-a495fce08d71@gmail.com>\n\n\n* ps/reftable-sign-compare (2025-01-21) 10 commits\n  (merged to 'next' on 2025-01-22 at a5ae1ce801)\n + reftable: address trivial -Wsign-compare warnings\n + reftable/blocksource: adjust `read_block()` to return `ssize_t`\n + reftable/blocksource: adjust type of the block length\n + reftable/block: adjust type of the restart length\n + reftable/block: adapt header and footer size to return a `size_t`\n + reftable/basics: adjust `hash_size()` to return `uint32_t`\n + reftable/basics: adjust `common_prefix_size()` to return `size_t`\n + reftable/record: handle overflows when decoding varints\n + reftable/record: drop unused `print` function pointer\n + meson: stop disabling -Wsign-compare\n\n THe reftable/ library code has been made -Wsign-compare clean.\n\n Will merge to 'master'.\n source: <20250120-b4-pks-reftable-sign-compare-v2-0-b4566d02e4a5@pks.im>\n\n\n* sk/unit-tests (2025-01-17) 4 commits\n  (merged to 'next' on 2025-01-21 at 799bbc6b82)\n + t/unit-tests: convert reftable tree test to use clar test framework\n + t/unit-tests: adapt priority queue test to use clar test framework\n + t/unit-tests: convert mem-pool test to use clar test framework\n + t/unit-tests: handle dashes in test suite filenames\n\n Move a few more unit tests to the clar test framework.\n\n Will merge to 'master'.\n source: <20250117122926.101749-1-kuforiji98@gmail.com>\n\n\n* zh/gc-expire-to (2025-01-16) 1 commit\n - gc: add `--expire-to` option\n\n \"git gc\" learned the \"--expire-to\" option and passes it down to\n underlying \"git repack\".\n\n Needs review.\n source: <pull.1843.v3.git.1736994932003.gitgitgadget@gmail.com>\n\n\n* jc/cli-doc-option-and-config (2025-01-17) 1 commit\n  (merged to 'next' on 2025-01-17 at 71f41b00d8)\n + gitcli: document that command line trumps config and env\n\n Doc update.\n\n Will merge to 'master'.\n source: <xmqqzfjqmbza.fsf@gitster.g>\n\n\n* jk/pack-header-parse-alignment-fix (2025-01-21) 5 commits\n  (merged to 'next' on 2025-01-21 at 60017ef61a)\n + index-pack, unpack-objects: use skip_prefix to avoid magic number\n + index-pack, unpack-objects: use get_be32() for reading pack header\n + parse_pack_header_option(): avoid unaligned memory writes\n + packfile: factor out --pack_header argument parsing\n + bswap.h: squelch potential sparse -Wcast-truncate warnings\n\n It was possible for \"git unpack-objects\" and \"git index-pack\" to\n make an unaligned access, which has been corrected.\n\n Will merge to 'master'.\n source: <20250119131224.GA1541095@coredump.intra.peff.net>\n\n\n* kn/reflog-migration-fix-followup (2025-01-22) 4 commits\n - reftable: prevent 'update_index' changes after adding records\n - refs: use 'uint64_t' for 'ref_update.index'\n - refs: mark `ref_transaction_update_reflog()` as static\n - Merge branch 'kn/reflog-migration-fix' into kn/reflog-migration-fix-followup\n (this branch uses kn/reflog-migration-fix.)\n\n Code clean-up.\n\n Will merge to 'next'.\n cf. <Z5DgxQuc2j_-5GHg@pks.im>\n source: <20250122-461-corrupted-reftable-followup-v3-0-ae5f88bf04fa@gmail.com>\n\n\n* mh/connect-sign-compare (2025-01-17) 1 commit\n  (merged to 'next' on 2025-01-21 at 6d872e6042)\n + connect: address -Wsign-compare warnings\n\n The code in connect.c has been updated to work around complaints\n from -Wsign-compare.\n\n Will merge to 'master'.\n source: <20250117074909.1430067-1-mh@glandium.org>\n\n\n* ps/build-meson-subtree (2025-01-17) 3 commits\n  (merged to 'next' on 2025-01-21 at fe4e60a331)\n + meson: wire up the git-subtree(1) command\n + meson: introduce build option for contrib\n + contrib/subtree: fix building docs\n\n THe meson-driven build is now aware of \"git-subtree\" housed in\n contrib/subtree hierarchy.\n\n Will merge to 'master'.\n source: <20250117-b4-pks-build-subtree-v1-0-03c2ed6cc42e@pks.im>\n\n\n* ak/instaweb-python-port-binding-fix (2025-01-10) 1 commit\n  (merged to 'next' on 2025-01-17 at bcb5e21e0b)\n + instaweb: fix ip binding for the python http.server\n\n The \"instaweb\" bound only to local IP address without \"--local\" and\n to all addresses with \"--local\", which was the other way around, when\n using Python's http.server class, which has been corrected.\n\n Will merge to 'master'.\n source: <20250110101346.30416-1-alecsk@gmail.com>\n\n\n* bf/fetch-set-head-fix (2025-01-13) 1 commit\n - fetch set_head: fix non-mirror remotes in bare repositories\n\n Fetching into a bare repository incorrectly assumed it always used\n a mirror layout when deciding to update remote-tracking HEAD, which\n has been corrected.\n\n Needs review.\n source: <20250112165125.130400-1-bence@ferdinandy.com>\n\n\n* mh/doc-credential-helpers-with-pat (2025-01-10) 2 commits\n  (merged to 'next' on 2025-01-17 at a70beabaf5)\n + docs: discuss caching personal access tokens\n + docs: list popular credential helpers\n\n Document that it is insecure to use Personal Access Tokens, which\n some hosting providers take as username/password, embedded in URLs.\n\n Will merge to 'master'.\n source: <pull.1851.v2.git.1736549677.gitgitgadget@gmail.com>\n\n\n* ps/build-meson-fixes (2025-01-22) 12 commits\n - ci: wire up Visual Studio build with Meson\n - ci: raise error when Meson generates warnings\n - meson: fix compilation with Visual Studio\n - meson: make the CSPRNG backend configurable\n - meson: wire up fuzzers\n - meson: wire up generation of distribution archive\n - meson: wire up development environments\n - meson: fix dependencies for generated headers\n - meson: populate project version via GIT-VERSION-GEN\n - GIT-VERSION-GEN: allow running without input and output files\n - GIT-VERSION-GEN: simplify computing the dirty marker\n - Merge branch 'ps/meson-weak-sha1-build' into ps/build-meson-fixes\n (this branch is used by ps/zlib-ng.)\n\n More build fixes and enhancements on meson based build procedure.\n\n Will merge to 'next'?\n source: <20250122-b4-pks-meson-additions-v3-0-5a51eb5d3dcd@pks.im>\n\n\n* ps/zlib-ng (2025-01-22) 12 commits\n - ci: make \"linux-musl\" job use zlib-ng\n - ci: switch linux-musl to use Meson\n - compat/zlib: allow use of zlib-ng as backend\n - git-zlib: cast away potential constness of `next_in` pointer\n - compat/zlib: provide stubs for `deflateSetHeader()`\n - compat/zlib: provide `deflateBound()` shim centrally\n - git-compat-util: move include of \"compat/zlib.h\" into \"git-zlib.h\"\n - compat: introduce new \"zlib.h\" header\n - git-compat-util: drop `z_const` define\n - compat: drop `uncompress2()` compatibility shim\n - Merge branch 'ps/build-meson-fixes' into ps/zlib-ng\n - Merge branch 'ps/meson-weak-sha1-build' into ps/zlib-ng\n (this branch uses ps/build-meson-fixes.)\n\n The code paths to interact with zlib has been cleaned up in\n preparation for building with zlib-ng.\n\n Needs review.\n source: <20250116-b4-pks-compat-drop-uncompress2-v3-0-f2af1f5c4a06@pks.im>\n\n\n* rs/ref-fitler-used-atoms-value-fix (2025-01-21) 3 commits\n - ref-filter: remove ref_format_clear()\n - ref-filter: move is-base tip to used_atom\n - ref-filter: move ahead-behind bases into used_atom\n\n \"git branch --sort=...\" and \"git for-each-ref --format=... --sort=...\"\n did not work as expected with some atoms, which has been corrected.\n\n Will merge to 'next'.\n source: <6b824f05-6f16-4cd9-85b7-3b8b236158b4@web.de>\n\n\n* tb/unsafe-hash-cleanup (2025-01-17) 8 commits\n - hash.h: drop unsafe_ function variants\n - csum-file: introduce hashfile_checkpoint_init()\n - t/helper/test-hash.c: use unsafe_hash_algo()\n - csum-file.c: use unsafe_hash_algo()\n - hash.h: introduce `unsafe_hash_algo()`\n - csum-file.c: extract algop from hashfile_checksum_valid()\n - csum-file: store the hash algorithm as a struct field\n - t/helper/test-tool: implement sha1-unsafe helper\n\n The API around choosing to use unsafe variant of SHA-1\n implementation has been updated in an attempt to make it harder to\n abuse.\n\n Expecting a hopefully small and final reroll.\n cf. <20250118124343.GA3828177@coredump.intra.peff.net>\n source: <cover.1737151386.git.me@ttaylorr.com>\n\n\n* en/object-name-with-funny-refname-fix (2025-01-13) 2 commits\n  (merged to 'next' on 2025-01-16 at 89cd7778c9)\n + object-name: be more strict in parsing describe-like output\n + object-name: fix resolution of object names containing curly braces\n\n Extended SHA-1 expression parser did not work well when a branch\n with an unusual name (e.g. \"foo{bar\") is involved.\n\n Will merge to 'master'.\n source: <pull.1844.v3.git.1736788417.gitgitgadget@gmail.com>\n\n\n* sj/ref-consistency-checks-more (2025-01-06) 10 commits\n - builtin/fsck: add `git refs verify` child process\n - packed-backend: check whether the \"packed-refs\" is sorted\n - packed-backend: add check for object consistency\n - packed-backend: create \"fsck_packed_ref_entry\" to store parsing info\n - packed-backend: add \"packed-refs\" entry consistency check\n - packed-backend: check whether the refname contains NULL binaries\n - packed-backend: add \"packed-refs\" header consistency check\n - packed-backend: check whether the \"packed-refs\" is regular\n - builtin/refs.h: get worktrees without reading head info\n - files-backend: add object check for regular ref\n\n \"git fsck\" becomes more careful when checking the refs.\n source: <Z3qNUizvHJLgMx1y@ArchLinux>\n\n\n* mh/credential-cache-authtype-request-fix (2025-01-09) 1 commit\n  (merged to 'next' on 2025-01-22 at 51a22e98a1)\n + credential-cache: respect authtype capability\n\n The \"cache\" credential back-end did not handle authtype correctly,\n which has been corrected.\n\n Will merge to 'master'.\n source: <pull.1842.v5.git.1736462721156.gitgitgadget@gmail.com>\n\n\n* jk/combine-diff-cleanup (2025-01-09) 14 commits\n - tree-diff: make list tail-passing more explicit\n - tree-diff: simplify emit_path() list management\n - tree-diff: use the name \"tail\" to refer to list tail\n - tree-diff: drop list-tail argument to diff_tree_paths()\n - combine-diff: drop public declaration of combine_diff_path_size()\n - tree-diff: inline path_appendnew()\n - tree-diff: pass whole path string to path_appendnew()\n - tree-diff: drop path_appendnew() alloc optimization\n - run_diff_files(): de-mystify the size of combine_diff_path struct\n - diff: add a comment about combine_diff_path.parent.path\n - combine-diff: use pointer for parent paths\n - tree-diff: clear parent array in path_appendnew()\n - combine-diff: add combine_diff_path_new()\n - run_diff_files(): delay allocation of combine_diff_path\n\n Code clean-up for code paths around combined diff.\n source: <20250109082723.GA2748497@coredump.intra.peff.net>\n\n\n* sc/help-autocorrect-one (2025-01-13) 1 commit\n - help: interpret boolean string values for help.autocorrect\n\n \"[help] autocorrect = 1\" used to be a way to say \"please wait for\n 0.1 second after suggesting a typofix of the command name before\n running that command\"; now it means \"yes, if there is a plausible\n typofix for the command name, please run it immediately\".\n\n Looking good except for \"should 0 and false be 'tell it without doing it'?\".\n source: <pull.1869.v4.git.git.1736760824201.gitgitgadget@gmail.com>\n\n\n* ja/doc-notes-markup-updates (2025-01-10) 1 commit\n - doc: convert git-notes to new documentation format\n\n Doc mark-up updates.\n source: <pull.1846.v2.git.1736503703573.gitgitgadget@gmail.com>\n\n\n* ja/doc-restore-markup-update (2025-01-10) 1 commit\n - doc: convert git-restore to new style format\n\n Doc mark-up updates.\n source: <pull.1847.v2.git.1736503760086.gitgitgadget@gmail.com>\n\n\n* ua/os-version-capability (2025-01-17) 6 commits\n - version: introduce osversion.command config for os-version output\n - connect: advertise OS version\n - t5701: add setup test to remove side-effect dependency\n - version: extend get_uname_info() to hide system details\n - version: refactor get_uname_info()\n - version: refactor redact_non_printables()\n\n The value of \"uname -s\" is by default sent over the wire as a new\n capability, with an opt-out for privacy-concious folks.\n source: <20250117104639.65608-1-usmanakinyemi202@gmail.com>\n\n\n* ja/doc-commit-markup-updates (2025-01-15) 5 commits\n - doc: migrate git-commit manpage secondary files to new format\n - doc: convert git commit config to new format\n - doc: make more direct explanations in git commit options\n - doc: the mode param of -u of git commit is optional\n - doc: apply new documentation guidelines to git commit\n\n Doc updates.\n\n Will merge to 'next'.\n source: <pull.1845.v2.git.1736972628.gitgitgadget@gmail.com>\n\n\n* ps/ci-misc-updates (2025-01-10) 10 commits\n - ci: remove stale code for Azure Pipelines\n - ci: use latest Ubuntu release\n - ci: stop special-casing for Ubuntu 16.04\n - gitlab-ci: add linux32 job testing against i386\n - gitlab-ci: remove the \"linux-old\" job\n - github: simplify computation of the job's distro\n - github: convert all Linux jobs to be containerized\n - github: adapt containerized jobs to be rootless\n - t7422: fix flaky test caused by buffered stdout\n - t0060: fix EBUSY in MinGW when setting up runtime prefix\n\n CI updates (containerization, dropping stale ones, etc.).\n source: <20250110-b4-pks-ci-fixes-v4-0-6e4613446080@pks.im>\n\n\n* sk/strlen-returns-size_t (2024-12-26) 1 commit\n - date.c: Fix type missmatch warings from msvc\n\n Code clean-up.\n\n The remainder needs to be reviewed.\n source: <20241223110407.3308-3-soekkle@freenet.de>\n\n\n* sk/maintenance-remote-prune (2025-01-03) 1 commit\n - maintenance: add prune-remote-refs task\n\n A new periodic maintenance task to run \"git remote prune\" has been\n introduced.\n\n Expecting a reroll.\n source: <pull.1838.v3.git.1735928035056.gitgitgadget@gmail.com>\n\n\n* jc/show-index-h-update (2024-12-20) 1 commit\n - show-index: the short help should say the command reads from its input\n\n Doc and short-help text for \"show-index\" has been clarified to\n stress that the command reads its data from the standard input.\n\n Comments?\n source: <xmqqfrmidyhk.fsf@gitster.g>\n\n\n* jc/doc-attr-tree (2024-12-14) 1 commit\n - doc: give attr.tree a bit more visibility\n\n Make sure that \"git --attr-source=X\", GIT_ATTR_SOURCE, and\n attr.tree configuration variables appear at the same places in the\n documentation.\n\n On hold.\n cf. <20241216111112.GA2201417@coredump.intra.peff.net>\n source: <xmqq5xnladwi.fsf@gitster.g>\n\n\n* ps/3.0-remote-deprecation (2025-01-22) 7 commits\n - SQUASH???\n - remote: announce removal of \"branches/\" and \"remotes/\"\n - builtin/pack-redundant: remove subcommand with breaking changes\n - ci: repurpose \"linux-gcc\" job for deprecations\n - ci: merge linux-gcc-default into linux-gcc\n - Makefile: wire up build option for deprecated features\n - Merge branch 'ps/build' into ps/3.0-remote-deprecation\n\n Following the procedure we established to introduce breaking\n changes for Git 3.0, allow an early opt-in for removing support of\n $GIT_DIR/branches/ and $GIT_DIR/remotes/ directories to configure\n remotes.\n\n Will merge to 'next'?\n source: <20250122-pks-remote-branches-deprecation-v4-0-5cbf5b28afd5@pks.im>\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 Expecting a reroll.\n cf. <CAP8UFD3bdEo1_bg+aX52xSGxmg9KfNrpiX+2LwUM-yDqjvfZbQ@mail.gmail.com>\n source: <20241206124248.160494-1-christian.couder@gmail.com>\n\n\n* ds/backfill (2024-12-20) 6 commits\n - backfill: assume --sparse when sparse-checkout is enabled\n - backfill: add --sparse option\n - backfill: add --min-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 Lazy-loading missing files in a blobless clone on demand is costly\n as it tends to be one-blob-at-a-time.  \"git backfill\" is introduced\n to help bulk-download necessary files beforehand.\n\n Expecting a reroll.\n cf. <Z4jeQSLmARruE5l3@pks.im>\n source: <pull.1820.v2.git.1734712193.gitgitgadget@gmail.com>\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* 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 to see if competing parallel topic needs to replace this one.\n source: <20241113-pks-push-atomic-respect-exit-code-v1-0-7965f01e7f4e@pks.im>\n\n\n* ds/name-hash-tweaks (2024-12-20) 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\n Will merge to 'next'.\n (microhalt) <Z5E5KdbwHE7fmiJx@nand.local>\n source: <pull.1823.v3.git.1734715194.gitgitgadget@gmail.com>\n\n\n* ds/path-walk-1 (2024-12-20) 7 commits\n  (merged to 'next' on 2025-01-22 at 3171845b73)\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 'master'.\n cf. <Z4jeQSLmARruE5l3@pks.im>\n source: <pull.1818.v4.git.1734711675.gitgitgadget@gmail.com>\n\n\n* ej/cat-file-remote-object-info (2025-01-14) 8 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 - t1006: split test utility functions into new \"lib-cat-file.sh\"\n - cat-file: add declaration of variable i inside its for loop\n - git-compat-util: add strtoul_ul() with error handling\n\n \"git cat-file --batch\" and friends can optionally ask a remote\n server about objects it does not have.\n\n Comments?\n source: <20250114021502.41499-1-eric.peijian@gmail.com>\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 Will discard.\n Has been in \"Waiting for response to reviews\" state for too long.\n cf. <xmqqy116xvr3.fsf@gitster.g>\n Seems to break t0021-conversion on Windows.\n cf. https://lore.kernel.org/git/xmqqzfl1hl52.fsf@gitster.g/\n source: <pull.1826.git.git.1730926082.gitgitgadget@gmail.com>\n"},{"id":"511101","messageId":"20250123003613.GA3900660@coredump.intra.peff.net","threadId":"62845","inReplyTo":"xmqqbjvyv510.fsf@gitster.g","subject":"Re: What's cooking in git.git (Jan 2025, #06; Wed, 22)","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2025-01-23T00:36:13Z","receivedAt":"2025-01-23T00:36:20Z","isPatch":false,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Wed, Jan 22, 2025 at 02:48:43PM -0800, Junio C Hamano wrote:\n\n> * ds/path-walk-1 (2024-12-20) 7 commits\n>   (merged to 'next' on 2025-01-22 at 3171845b73)\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 'master'.\n>  cf. <Z4jeQSLmARruE5l3@pks.im>\n>  source: <pull.1818.v4.git.1734711675.gitgitgadget@gmail.com>\n\nSince this hit 'next', it made it into my Coverity runs, producing the\nsmall fixup below.\n\n-- >8 --\nSubject: [PATCH] path-walk: drop redundant parse_tree() call\n\nThis call to parse_tree() was flagged by Coverity for ignoring the\nreturn value. But if we look a little further up the function, we can\nsee that there is already a call to parse_tree_gently(), and we'll\nreturn early if that fails. So by this point the tree will always be\nparsed, and the call is redundant.\n\nSigned-off-by: Jeff King <peff@peff.net>\n---\n path-walk.c | 1 -\n 1 file changed, 1 deletion(-)\n\ndiff --git a/path-walk.c b/path-walk.c\nindex 136ec08fb0..9715a5550e 100644\n--- a/path-walk.c\n+++ b/path-walk.c\n@@ -116,27 +116,26 @@ static int add_tree_entries(struct path_walk_context *ctx,\n \n \tif (!tree) {\n \t\terror(_(\"failed to walk children of tree %s: not found\"),\n \t\t      oid_to_hex(oid));\n \t\treturn -1;\n \t} else if (parse_tree_gently(tree, 1)) {\n \t\terror(\"bad tree object %s\", oid_to_hex(oid));\n \t\treturn -1;\n \t}\n \n \tstrbuf_addstr(&path, base_path);\n \tbase_len = path.len;\n \n-\tparse_tree(tree);\n \tinit_tree_desc(&desc, &tree->object.oid, tree->buffer, tree->size);\n \twhile (tree_entry(&desc, &entry)) {\n \t\tstruct type_and_oid_list *list;\n \t\tstruct object *o;\n \t\t/* Not actually true, but we will ignore submodules later. */\n \t\tenum object_type type = S_ISDIR(entry.mode) ? OBJ_TREE : OBJ_BLOB;\n \n \t\t/* Skip submodules. */\n \t\tif (S_ISGITLINK(entry.mode))\n \t\t\tcontinue;\n \n \t\t/* If the caller doesn't want blobs, then don't bother. */\n \t\tif (!ctx->info->blobs && type == OBJ_BLOB)\n-- \n2.48.1.519.gaa5dee9535\n\n"},{"id":"511102","messageId":"CAPig+cTBgHn8vjKDjy5JujFf-S4kQxPQ0iFMdh0HA37f76eqLA@mail.gmail.com","threadId":"62845","inReplyTo":"xmqqbjvyv510.fsf@gitster.g","subject":"Re: What's cooking in git.git (Jan 2025, #06; Wed, 22)","fromName":"Eric Sunshine","fromEmail":"sunshine@sunshineco.com","sentAt":"2025-01-23T00:38:02Z","receivedAt":"2025-01-23T00:38:14Z","isPatch":false,"sender":{"key":"sunshine@sunshineco.com","avatar":"https://avatars.githubusercontent.com/u/163641?v=4"},"body":"On Wed, Jan 22, 2025 at 5:49 PM Junio C Hamano <gitster@pobox.com> wrote:\n> * ps/reftable-sign-compare (2025-01-21) 10 commits\n>   (merged to 'next' on 2025-01-22 at a5ae1ce801)\n>  + reftable: address trivial -Wsign-compare warnings\n>  + reftable/blocksource: adjust `read_block()` to return `ssize_t`\n>  + reftable/blocksource: adjust type of the block length\n>  + reftable/block: adjust type of the restart length\n>  + reftable/block: adapt header and footer size to return a `size_t`\n>  + reftable/basics: adjust `hash_size()` to return `uint32_t`\n>  + reftable/basics: adjust `common_prefix_size()` to return `size_t`\n>  + reftable/record: handle overflows when decoding varints\n>  + reftable/record: drop unused `print` function pointer\n>  + meson: stop disabling -Wsign-compare\n>\n>  THe reftable/ library code has been made -Wsign-compare clean.\n\ns/THe/The/\n\n>  Will merge to 'master'.\n>  source: <20250120-b4-pks-reftable-sign-compare-v2-0-b4566d02e4a5@pks.im>\n"},{"id":"511103","messageId":"xmqq5xm6uwip.fsf@gitster.g","threadId":"62845","inReplyTo":"20250123003613.GA3900660@coredump.intra.peff.net","subject":"Re: What's cooking in git.git (Jan 2025, #06; Wed, 22)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2025-01-23T01:52:30Z","receivedAt":"2025-01-23T01:52:33Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Jeff King <peff@peff.net> writes:\n\n> Since this hit 'next', it made it into my Coverity runs, producing the\n> small fixup below.\n\nThanks.  A greedy me wonders if things like this can be caught by\nthem a bit earlier before they hit 'next', though ;-)\n\n> -- >8 --\n> Subject: [PATCH] path-walk: drop redundant parse_tree() call\n>\n> This call to parse_tree() was flagged by Coverity for ignoring the\n> return value. But if we look a little further up the function, we can\n> see that there is already a call to parse_tree_gently(), and we'll\n> return early if that fails. So by this point the tree will always be\n> parsed, and the call is redundant.\n>\n> Signed-off-by: Jeff King <peff@peff.net>\n> ---\n>  path-walk.c | 1 -\n>  1 file changed, 1 deletion(-)\n\nNice way to use extended context to show why the change makes sense.\n\nWill queue.  Thanks.\n\n> diff --git a/path-walk.c b/path-walk.c\n> index 136ec08fb0..9715a5550e 100644\n> --- a/path-walk.c\n> +++ b/path-walk.c\n> @@ -116,27 +116,26 @@ static int add_tree_entries(struct path_walk_context *ctx,\n>  \n>  \tif (!tree) {\n>  \t\terror(_(\"failed to walk children of tree %s: not found\"),\n>  \t\t      oid_to_hex(oid));\n>  \t\treturn -1;\n>  \t} else if (parse_tree_gently(tree, 1)) {\n>  \t\terror(\"bad tree object %s\", oid_to_hex(oid));\n>  \t\treturn -1;\n>  \t}\n>  \n>  \tstrbuf_addstr(&path, base_path);\n>  \tbase_len = path.len;\n>  \n> -\tparse_tree(tree);\n>  \tinit_tree_desc(&desc, &tree->object.oid, tree->buffer, tree->size);\n>  \twhile (tree_entry(&desc, &entry)) {\n>  \t\tstruct type_and_oid_list *list;\n>  \t\tstruct object *o;\n>  \t\t/* Not actually true, but we will ignore submodules later. */\n>  \t\tenum object_type type = S_ISDIR(entry.mode) ? OBJ_TREE : OBJ_BLOB;\n>  \n>  \t\t/* Skip submodules. */\n>  \t\tif (S_ISGITLINK(entry.mode))\n>  \t\t\tcontinue;\n>  \n>  \t\t/* If the caller doesn't want blobs, then don't bother. */\n>  \t\tif (!ctx->info->blobs && type == OBJ_BLOB)\n"},{"id":"511104","messageId":"xmqq1pwuuwh1.fsf@gitster.g","threadId":"62845","inReplyTo":"CAPig+cTBgHn8vjKDjy5JujFf-S4kQxPQ0iFMdh0HA37f76eqLA@mail.gmail.com","subject":"Re: What's cooking in git.git (Jan 2025, #06; Wed, 22)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2025-01-23T01:53:30Z","receivedAt":"2025-01-23T01:53:33Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Eric Sunshine <sunshine@sunshineco.com> writes:\n\n> On Wed, Jan 22, 2025 at 5:49 PM Junio C Hamano <gitster@pobox.com> wrote:\n>> * ps/reftable-sign-compare (2025-01-21) 10 commits\n>>   (merged to 'next' on 2025-01-22 at a5ae1ce801)\n>>  + reftable: address trivial -Wsign-compare warnings\n>>  + reftable/blocksource: adjust `read_block()` to return `ssize_t`\n>>  + reftable/blocksource: adjust type of the block length\n>>  + reftable/block: adjust type of the restart length\n>>  + reftable/block: adapt header and footer size to return a `size_t`\n>>  + reftable/basics: adjust `hash_size()` to return `uint32_t`\n>>  + reftable/basics: adjust `common_prefix_size()` to return `size_t`\n>>  + reftable/record: handle overflows when decoding varints\n>>  + reftable/record: drop unused `print` function pointer\n>>  + meson: stop disabling -Wsign-compare\n>>\n>>  THe reftable/ library code has been made -Wsign-compare clean.\n>\n> s/THe/The/\n\nThanks.\n\n>\n>>  Will merge to 'master'.\n>>  source: <20250120-b4-pks-reftable-sign-compare-v2-0-b4566d02e4a5@pks.im>\n"},{"id":"511122","messageId":"Z5J+ONavA9XUTPn1@nand.local","threadId":"62845","inReplyTo":"xmqqbjvyv510.fsf@gitster.g","subject":"Re: What's cooking in git.git (Jan 2025, #06; Wed, 22)","fromName":"Taylor Blau","fromEmail":"me@ttaylorr.com","sentAt":"2025-01-23T17:36:56Z","receivedAt":"2025-01-23T17:36:59Z","isPatch":false,"sender":{"key":"me@ttaylorr.com","avatar":"https://avatars.githubusercontent.com/u/301000140?v=4"},"body":"On Wed, Jan 22, 2025 at 02:48:43PM -0800, Junio C Hamano wrote:\n> * tb/unsafe-hash-cleanup (2025-01-17) 8 commits\n>  - hash.h: drop unsafe_ function variants\n>  - csum-file: introduce hashfile_checkpoint_init()\n>  - t/helper/test-hash.c: use unsafe_hash_algo()\n>  - csum-file.c: use unsafe_hash_algo()\n>  - hash.h: introduce `unsafe_hash_algo()`\n>  - csum-file.c: extract algop from hashfile_checksum_valid()\n>  - csum-file: store the hash algorithm as a struct field\n>  - t/helper/test-tool: implement sha1-unsafe helper\n>\n>  The API around choosing to use unsafe variant of SHA-1\n>  implementation has been updated in an attempt to make it harder to\n>  abuse.\n>\n>  Expecting a hopefully small and final reroll.\n>  cf. <20250118124343.GA3828177@coredump.intra.peff.net>\n>  source: <cover.1737151386.git.me@ttaylorr.com>\n\nThanks for the nudge. I sent out a very small reroll of this series as\n<cover.1737653640.git.me@ttaylorr.com>.\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\nYeah, I would really like to see this one progress. I'll gently nudge\nPeff (CC'd) as a potential reviewer here.\n\n> * ds/name-hash-tweaks (2024-12-20) 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>\n>  Will merge to 'next'.\n>  (microhalt) <Z5E5KdbwHE7fmiJx@nand.local>\n>  source: <pull.1823.v3.git.1734715194.gitgitgadget@gmail.com>\n\nHmm. I think that the first seven patches are fine as-is (I had some\nminor comments on them, but as I noted they are mostly cosmetic and\ndon't require a reroll IMHO). But I think it would be worth having a\nmore thorough discussion about the last patch, or at least to hear from\nStolee before proceeding.\n\nThanks,\nTaylor\n"},{"id":"511141","messageId":"Z5MuCd_GbbLK_puS@pks.im","threadId":"62845","inReplyTo":"xmqqbjvyv510.fsf@gitster.g","subject":"Re: What's cooking in git.git (Jan 2025, #06; Wed, 22)","fromName":"Patrick Steinhardt","fromEmail":"ps@pks.im","sentAt":"2025-01-24T06:07:05Z","receivedAt":"2025-01-24T06:07:10Z","isPatch":false,"sender":{"key":"ps@pks.im","avatar":"https://avatars.githubusercontent.com/u/4056630?v=4"},"body":"On Wed, Jan 22, 2025 at 02:48:43PM -0800, Junio C Hamano wrote:\n> * kn/pack-write-with-reduced-globals (2025-01-21) 5 commits\n>  - pack-write: pass hash_algo to internal functions\n>  - pack-write: pass hash_algo to `write_rev_file()`\n>  - pack-write: pass hash_algo to `write_idx_file()`\n>  - pack-write: pass repository to `index_pack_lockfile()`\n>  - pack-write: pass hash_algo to `fixup_pack_header_footer()`\n> \n>  Code clean-up.\n> \n>  Well merge to 'next'?\n>  source: <20250119-kn-the-repo-cleanup-v3-0-a495fce08d71@gmail.com>\n\nThis one is ready from my perspective.\n\n> * bf/fetch-set-head-fix (2025-01-13) 1 commit\n>  - fetch set_head: fix non-mirror remotes in bare repositories\n> \n>  Fetching into a bare repository incorrectly assumed it always used\n>  a mirror layout when deciding to update remote-tracking HEAD, which\n>  has been corrected.\n> \n>  Needs review.\n>  source: <20250112165125.130400-1-bence@ferdinandy.com>\n\nI've left a review.\n\n> * ps/build-meson-fixes (2025-01-22) 12 commits\n>  - ci: wire up Visual Studio build with Meson\n>  - ci: raise error when Meson generates warnings\n>  - meson: fix compilation with Visual Studio\n>  - meson: make the CSPRNG backend configurable\n>  - meson: wire up fuzzers\n>  - meson: wire up generation of distribution archive\n>  - meson: wire up development environments\n>  - meson: fix dependencies for generated headers\n>  - meson: populate project version via GIT-VERSION-GEN\n>  - GIT-VERSION-GEN: allow running without input and output files\n>  - GIT-VERSION-GEN: simplify computing the dirty marker\n>  - Merge branch 'ps/meson-weak-sha1-build' into ps/build-meson-fixes\n>  (this branch is used by ps/zlib-ng.)\n> \n>  More build fixes and enhancements on meson based build procedure.\n> \n>  Will merge to 'next'?\n>  source: <20250122-b4-pks-meson-additions-v3-0-5a51eb5d3dcd@pks.im>\n\nReady from my perspective.\n\n> * ps/ci-misc-updates (2025-01-10) 10 commits\n>  - ci: remove stale code for Azure Pipelines\n>  - ci: use latest Ubuntu release\n>  - ci: stop special-casing for Ubuntu 16.04\n>  - gitlab-ci: add linux32 job testing against i386\n>  - gitlab-ci: remove the \"linux-old\" job\n>  - github: simplify computation of the job's distro\n>  - github: convert all Linux jobs to be containerized\n>  - github: adapt containerized jobs to be rootless\n>  - t7422: fix flaky test caused by buffered stdout\n>  - t0060: fix EBUSY in MinGW when setting up runtime prefix\n> \n>  CI updates (containerization, dropping stale ones, etc.).\n>  source: <20250110-b4-pks-ci-fixes-v4-0-6e4613446080@pks.im>\n\nThis series was approved by Peff, but other than that it didn't get much\nfeedback indeed. I'll rope in some additional reviewers.\n\n> * sk/strlen-returns-size_t (2024-12-26) 1 commit\n>  - date.c: Fix type missmatch warings from msvc\n> \n>  Code clean-up.\n> \n>  The remainder needs to be reviewed.\n>  source: <20241223110407.3308-3-soekkle@freenet.de>\n\nThis one seems stale to me, as there's been a v2 with [1]. It was sent\nin a separate thread though, so that probably explains why. In any case,\nthe series got reviews already and needs a reroll.\n\n[1]: <20250106190855.3098-1-soekkle@freenet.de>\n\n> * jc/show-index-h-update (2024-12-20) 1 commit\n>  - show-index: the short help should say the command reads from its input\n> \n>  Doc and short-help text for \"show-index\" has been clarified to\n>  stress that the command reads its data from the standard input.\n> \n>  Comments?\n>  source: <xmqqfrmidyhk.fsf@gitster.g>\n\nThis series looks good to me.\n\n> * ps/3.0-remote-deprecation (2025-01-22) 7 commits\n>  - SQUASH???\n>  - remote: announce removal of \"branches/\" and \"remotes/\"\n>  - builtin/pack-redundant: remove subcommand with breaking changes\n>  - ci: repurpose \"linux-gcc\" job for deprecations\n>  - ci: merge linux-gcc-default into linux-gcc\n>  - Makefile: wire up build option for deprecated features\n>  - Merge branch 'ps/build' into ps/3.0-remote-deprecation\n> \n>  Following the procedure we established to introduce breaking\n>  changes for Git 3.0, allow an early opt-in for removing support of\n>  $GIT_DIR/branches/ and $GIT_DIR/remotes/ directories to configure\n>  remotes.\n> \n>  Will merge to 'next'?\n>  source: <20250122-pks-remote-branches-deprecation-v4-0-5cbf5b28afd5@pks.im>\n\nThe squash-commit on top of the series looks good to me, so I think this\nshould be ready.\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 to see if competing parallel topic needs to replace this one.\n>  source: <20241113-pks-push-atomic-respect-exit-code-v1-0-7965f01e7f4e@pks.im>\n\nI think v3 sent by Jiang Xin looks like a reasonable alternative to my\nfix, but it needs some fixups. I'll maybe wait one more week for them to\nreroll the series, and if that doesn't happen I might adopt their\npatches and do the fixups by myself.\n\nPatrick\n"},{"id":"511163","messageId":"874j1o5q2c.fsf@iotcl.com","threadId":"62845","inReplyTo":"Z5MuCd_GbbLK_puS@pks.im","subject":"Re: What's cooking in git.git (Jan 2025, #06; Wed, 22)","fromName":"Toon Claes","fromEmail":"toon@iotcl.com","sentAt":"2025-01-24T12:55:39Z","receivedAt":"2025-01-24T12:55:58Z","isPatch":false,"sender":{"key":"toon@iotcl.com","avatar":"https://avatars.githubusercontent.com/u/121621?v=4"},"body":"Patrick Steinhardt <ps@pks.im> writes:\n\n> On Wed, Jan 22, 2025 at 02:48:43PM -0800, Junio C Hamano wrote:\n>> * ps/build-meson-fixes (2025-01-22) 12 commits\n>>  - ci: wire up Visual Studio build with Meson\n>>  - ci: raise error when Meson generates warnings\n>>  - meson: fix compilation with Visual Studio\n>>  - meson: make the CSPRNG backend configurable\n>>  - meson: wire up fuzzers\n>>  - meson: wire up generation of distribution archive\n>>  - meson: wire up development environments\n>>  - meson: fix dependencies for generated headers\n>>  - meson: populate project version via GIT-VERSION-GEN\n>>  - GIT-VERSION-GEN: allow running without input and output files\n>>  - GIT-VERSION-GEN: simplify computing the dirty marker\n>>  - Merge branch 'ps/meson-weak-sha1-build' into ps/build-meson-fixes\n>>  (this branch is used by ps/zlib-ng.)\n>> \n>>  More build fixes and enhancements on meson based build procedure.\n>> \n>>  Will merge to 'next'?\n>>  source: <20250122-b4-pks-meson-additions-v3-0-5a51eb5d3dcd@pks.im>\n>\n> Ready from my perspective.\n\nI can't really vouch for the last commit about Visual Studio, but the\nother commits are ready for me as well.\n\n-- \nToon\n"},{"id":"511172","messageId":"xmqqr04sp5df.fsf@gitster.g","threadId":"62845","inReplyTo":"Z5MuCd_GbbLK_puS@pks.im","subject":"Re: What's cooking in git.git (Jan 2025, #06; Wed, 22)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2025-01-24T16:02:20Z","receivedAt":"2025-01-24T16:02:23Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Patrick Steinhardt <ps@pks.im> writes:\n\n>> * ps/ci-misc-updates (2025-01-10) 10 commits\n>>  - ci: remove stale code for Azure Pipelines\n>>  - ci: use latest Ubuntu release\n>>  - ci: stop special-casing for Ubuntu 16.04\n>>  - gitlab-ci: add linux32 job testing against i386\n>>  - gitlab-ci: remove the \"linux-old\" job\n>>  - github: simplify computation of the job's distro\n>>  - github: convert all Linux jobs to be containerized\n>>  - github: adapt containerized jobs to be rootless\n>>  - t7422: fix flaky test caused by buffered stdout\n>>  - t0060: fix EBUSY in MinGW when setting up runtime prefix\n>> \n>>  CI updates (containerization, dropping stale ones, etc.).\n>>  source: <20250110-b4-pks-ci-fixes-v4-0-6e4613446080@pks.im>\n>\n> This series was approved by Peff, but other than that it didn't get much\n> feedback indeed. I'll rope in some additional reviewers.\n\nThis one I took another look while reordering topics for the next\nintegration and noticing that it had a bit of interaction with\nanother topic.  It looked good, so let me mark it for 'next'.\nUnless these others find anything objectionable, that is.\n\n>> * sk/strlen-returns-size_t (2024-12-26) 1 commit\n>>  - date.c: Fix type missmatch warings from msvc\n>> \n>>  Code clean-up.\n>> \n>>  The remainder needs to be reviewed.\n>>  source: <20241223110407.3308-3-soekkle@freenet.de>\n>\n> This one seems stale to me, as there's been a v2 with [1].\n\nIIRC the patches were pretty much independent, and this one was\nclearly ready from the initial batch.  I'll let it merged to 'next'\nindependently instead of waiting for the remainder, which was not.\n\n>> * jc/show-index-h-update (2024-12-20) 1 commit\n>>  - show-index: the short help should say the command reads from its input\n>> \n>>  Doc and short-help text for \"show-index\" has been clarified to\n>>  stress that the command reads its data from the standard input.\n>> \n>>  Comments?\n>>  source: <xmqqfrmidyhk.fsf@gitster.g>\n>\n> This series looks good to me.\n\nWill mark for 'next', then.\n\n\n>> * ps/3.0-remote-deprecation (2025-01-22) 7 commits\n>>  - SQUASH???\n>>  - remote: announce removal of \"branches/\" and \"remotes/\"\n>>  - builtin/pack-redundant: remove subcommand with breaking changes\n>>  - ci: repurpose \"linux-gcc\" job for deprecations\n>>  - ci: merge linux-gcc-default into linux-gcc\n>>  - Makefile: wire up build option for deprecated features\n>>  - Merge branch 'ps/build' into ps/3.0-remote-deprecation\n>> \n>>  Following the procedure we established to introduce breaking\n>>  changes for Git 3.0, allow an early opt-in for removing support of\n>>  $GIT_DIR/branches/ and $GIT_DIR/remotes/ directories to configure\n>>  remotes.\n>> \n>>  Will merge to 'next'?\n>>  source: <20250122-pks-remote-branches-deprecation-v4-0-5cbf5b28afd5@pks.im>\n>\n> The squash-commit on top of the series looks good to me, so I think this\n> should be ready.\n\nOK, will squash and merge.\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 to see if competing parallel topic needs to replace this one.\n>>  source: <20241113-pks-push-atomic-respect-exit-code-v1-0-7965f01e7f4e@pks.im>\n>\n> I think v3 sent by Jiang Xin looks like a reasonable alternative to my\n> fix, but it needs some fixups. I'll maybe wait one more week for them to\n> reroll the series, and if that doesn't happen I might adopt their\n> patches and do the fixups by myself.\n\nOK, so just keep this one so that I can point to your above remark\nin the message I am responding to ;-)\n\nThanks.\n"},{"id":"511177","messageId":"xmqqed0s16ss.fsf@gitster.g","threadId":"62845","inReplyTo":"874j1o5q2c.fsf@iotcl.com","subject":"Re: What's cooking in git.git (Jan 2025, #06; Wed, 22)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2025-01-24T17:05:23Z","receivedAt":"2025-01-24T17:05:27Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Toon Claes <toon@iotcl.com> writes:\n\n> Patrick Steinhardt <ps@pks.im> writes:\n>\n>> On Wed, Jan 22, 2025 at 02:48:43PM -0800, Junio C Hamano wrote:\n>>> * ps/build-meson-fixes (2025-01-22) 12 commits\n>>>  - ci: wire up Visual Studio build with Meson\n>>>  ...\n>>>  Will merge to 'next'?\n>>>  source: <20250122-b4-pks-meson-additions-v3-0-5a51eb5d3dcd@pks.im>\n>>\n>> Ready from my perspective.\n>\n> I can't really vouch for the last commit about Visual Studio, but the\n> other commits are ready for me as well.\n\nThanks.\n"},{"id":"511608","messageId":"20250131233452.GB3544301@coredump.intra.peff.net","threadId":"62845","inReplyTo":"xmqq5xm6uwip.fsf@gitster.g","subject":"Re: What's cooking in git.git (Jan 2025, #06; Wed, 22)","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2025-01-31T23:34:52Z","receivedAt":"2025-01-31T23:34:54Z","isPatch":false,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Wed, Jan 22, 2025 at 05:52:30PM -0800, Junio C Hamano wrote:\n\n> Jeff King <peff@peff.net> writes:\n> \n> > Since this hit 'next', it made it into my Coverity runs, producing the\n> > small fixup below.\n> \n> Thanks.  A greedy me wonders if things like this can be caught by\n> them a bit earlier before they hit 'next', though ;-)\n\nI've always been a little afraid to touch 'seen' since it does not\nnecessarily even pass tests, and I don't want to waste too much time\nhunting problems in other people's topics. ;)\n\nBut I might give it a try. It will require some workflow changes, as I\nonly run CI on what I integrate for my daily build, which is based on\nnext. I do not ever look at or push what is in 'seen' at all to my repo.\n\nHmm. I wonder if I could just build my daily driver off of 'jch', which\nis a little less scary than 'seen' (and IIRC is your daily driver?).\n\n> Nice way to use extended context to show why the change makes sense.\n\nI've been tempted to support a:\n\n  Diff-options: -U10\n\ntrailer, but that is probably overkill and full of annoying corner\ncases.\n\n-Peff\n"},{"id":"511609","messageId":"20250131233902.GA3545002@coredump.intra.peff.net","threadId":"62845","inReplyTo":"20250131233452.GB3544301@coredump.intra.peff.net","subject":"Re: What's cooking in git.git (Jan 2025, #06; Wed, 22)","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2025-01-31T23:39:02Z","receivedAt":"2025-01-31T23:39:03Z","isPatch":false,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Fri, Jan 31, 2025 at 06:34:53PM -0500, Jeff King wrote:\n\n> > Thanks.  A greedy me wonders if things like this can be caught by\n> > them a bit earlier before they hit 'next', though ;-)\n> \n> I've always been a little afraid to touch 'seen' since it does not\n> necessarily even pass tests, and I don't want to waste too much time\n> hunting problems in other people's topics. ;)\n> \n> But I might give it a try. It will require some workflow changes, as I\n> only run CI on what I integrate for my daily build, which is based on\n> next. I do not ever look at or push what is in 'seen' at all to my repo.\n> \n> Hmm. I wonder if I could just build my daily driver off of 'jch', which\n> is a little less scary than 'seen' (and IIRC is your daily driver?).\n\nOf course the ideal here would be for individual topic authors to run\nCoverity themselves. It's \"easy\" these days in that you just have to\nenable the CI job with a repo variable. But you have to sign up for an\naccount with Coverity, and of course you'll have to sift through the\nfalse positives that appear in master from other people's topics.\n\nI don't think they have any awareness of branches, or silencing noise\nthat's in your upstream (although I am far from an expert, so maybe\nsomebody interested can dig into their docs).\n\n-Peff\n"},{"id":"511610","messageId":"xmqq1pwi5yt9.fsf@gitster.g","threadId":"62845","inReplyTo":"20250131233452.GB3544301@coredump.intra.peff.net","subject":"Re: What's cooking in git.git (Jan 2025, #06; Wed, 22)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2025-01-31T23:49:22Z","receivedAt":"2025-01-31T23:49:25Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Jeff King <peff@peff.net> writes:\n\n>> Thanks.  A greedy me wonders if things like this can be caught by\n>> them a bit earlier before they hit 'next', though ;-)\n>\n> I've always been a little afraid to touch 'seen' since it does not\n> necessarily even pass tests, and I don't want to waste too much time\n> hunting problems in other people's topics. ;)\n\nI do not generally recommend using the tip of the 'seen' branch to\nthose who want automated testing, as it more often than not contains\ntopics that are known-broken (which I do on purpose, so that I can\npoint at GitHub CI failure to authors), but it the automated testing\nincludes automatically bisecting once 'seen' is found broken, that\nwould work fine and it would be extra useful. The next greater step\nwould be to feed the bisection result to Copilot or whatever\nprogramming peer of your choice, and see if it can fix the breakage.\n\nTo help the idea of catching before things hit next, it probably\nwould make the most sense to test the tip of the 'jch' branch, which\nis somewhere between the 'master' and the 'seen' branches and\ncontains a bit more topics than the 'next' branch does. The branch\nis usually what I use for my work every day, so even though it may\nhave acquired new leaks and UBs that would not cause troubles in\npractice, it should functionally be a lot more stable and usable\nthan the tip of 'seen'.\n\nThanks.\n"},{"id":"511616","messageId":"20250201022946.GA4088801@coredump.intra.peff.net","threadId":"62845","inReplyTo":"xmqq1pwi5yt9.fsf@gitster.g","subject":"Re: What's cooking in git.git (Jan 2025, #06; Wed, 22)","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2025-02-01T02:29:46Z","receivedAt":"2025-02-01T02:29:47Z","isPatch":false,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Fri, Jan 31, 2025 at 03:49:22PM -0800, Junio C Hamano wrote:\n\n> To help the idea of catching before things hit next, it probably\n> would make the most sense to test the tip of the 'jch' branch, which\n> is somewhere between the 'master' and the 'seen' branches and\n> contains a bit more topics than the 'next' branch does. The branch\n> is usually what I use for my work every day, so even though it may\n> have acquired new leaks and UBs that would not cause troubles in\n> practice, it should functionally be a lot more stable and usable\n> than the tip of 'seen'.\n\nI've switched to basing my branch on 'jch', which did turn up a few new\nhits (lots of uninteresting ones, but a few that may be important; I've\nresponded in the relevant threads).\n\nWhat I'm most worried about is that it does have leaks or UB. My daily\nworkflow is usually to build my personal branch (previously 'next' now\n'jch', plus my own topics) and stop everything to investigate and fix if\nCI fails. If I start getting CI failures for other peoples' topics, then\nI'll have even less time to do my own backlogged ones. ;)\n\nRight now you are shouldering a lot of that during your integration\nruns. And if it were even putting some of your load on me, that might be\na good tradeoff. But I have a feeling it is just putting the same on\nboth of us as we see the same CI failures and poke at them\nindependently. I dunno. I'll try it for a while and see how it goes.\n\n-Peff\n"},{"id":"511663","messageId":"CALnO6CDqHJP_wa_8eKHBkU+_1vQ6D+C=QRZyW1FKnG71wDxnnQ@mail.gmail.com","threadId":"62845","inReplyTo":"20250131233452.GB3544301@coredump.intra.peff.net","subject":"Re: What's cooking in git.git (Jan 2025, #06; Wed, 22)","fromName":"D. Ben Knoble","fromEmail":"ben.knoble@gmail.com","sentAt":"2025-02-02T18:09:39Z","receivedAt":"2025-02-02T18:09:52Z","isPatch":false,"sender":{"key":"ben.knoble@gmail.com","avatar":"https://avatars.githubusercontent.com/u/22802209?v=4"},"body":"On Fri, Jan 31, 2025 at 6:35 PM Jeff King <peff@peff.net> wrote:\n>\n> On Wed, Jan 22, 2025 at 05:52:30PM -0800, Junio C Hamano wrote:\n>\n> > Jeff King <peff@peff.net> writes:\n> >\n>\n> > Nice way to use extended context to show why the change makes sense.\n>\n> I've been tempted to support a:\n>\n>   Diff-options: -U10\n>\n> trailer, but that is probably overkill and full of annoying corner\n> cases.\n>\n> -Peff\n>\n\nFairly off-topic, but I've been writing \"Best-viewed-with:\" trailers\nnow, and also had a similar thought (what would it take to make it\n\"safe\" from ACEs + obvious when something is influencing diff\noptions?).\n\n\n-- \nD. Ben Knoble\n"},{"id":"511668","messageId":"xmqqwme73ost.fsf@gitster.g","threadId":"62845","inReplyTo":"20250131233452.GB3544301@coredump.intra.peff.net","subject":"Re: What's cooking in git.git (Jan 2025, #06; Wed, 22)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2025-02-02T23:33:06Z","receivedAt":"2025-02-02T23:33:08Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Jeff King <peff@peff.net> writes:\n\n>> Nice way to use extended context to show why the change makes sense.\n>\n> I've been tempted to support a:\n>\n>   Diff-options: -U10\n>\n> trailer, but that is probably overkill and full of annoying corner\n> cases.\n\nDo you mean to embed it in the commit log trailer and upon seeing\nit, the log family of commands add it to their setup_revisions()\ninvocation, thusly affecting things like \"format-patch\" and \"show\"?\n\nAs a reminder for a patch submitter (i.e., communicated by you who\nwrote the commit to future you who will run format-patch for\nsubmission), something locally maintained might be sufficient,\ne.g. refs/notes/diffopts that is not shared by default, but still,\nthis hint probably wants to be per-path (ideally per-hunk).\n\nBut I think it will make it annoying if you forced those who fetched\nfrom you to use \"-U10\" when they do \"git show\", as the choice would\nbe strongly affected by personal preference.  And I certainly do not\nwant to see anything less benign than \"-U10\" silently forced upon me.\n\nThanks.\n"},{"id":"511669","messageId":"xmqqseov3oic.fsf@gitster.g","threadId":"62845","inReplyTo":"20250201022946.GA4088801@coredump.intra.peff.net","subject":"Re: What's cooking in git.git (Jan 2025, #06; Wed, 22)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2025-02-02T23:39:23Z","receivedAt":"2025-02-02T23:39:26Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Jeff King <peff@peff.net> writes:\n\n> But I have a feeling it is just putting the same on\n> both of us as we see the same CI failures and poke at them\n> independently.\n\nCertainly true.\n\n> I dunno. I'll try it for a while and see how it goes.\n\nThanks.\n"},{"id":"511733","messageId":"xmqqo6zjyw4a.fsf@gitster.g","threadId":"62845","inReplyTo":"xmqqseov3oic.fsf@gitster.g","subject":"Re: What's cooking in git.git (Jan 2025, #06; Wed, 22)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2025-02-03T13:51:33Z","receivedAt":"2025-02-03T13:51:36Z","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> Jeff King <peff@peff.net> writes:\n>\n>> But I have a feeling it is just putting the same on\n>> both of us as we see the same CI failures and poke at them\n>> independently.\n>\n> Certainly true.\n>\n>> I dunno. I'll try it for a while and see how it goes.\n\nAfter seeing a few of your messages that begin with \"Coverity\ncomplains ...\", I appreciate them a lot.  Earlier I was naively\nhoping that triage-and-hand-off-to-original-author would be much\nless work but no, we very much need to somehow find a way to push\nthe triaging part to individual topic authors or this thing will not\nscale.\n\nPerhaps I can control the rate of topics that trickle into 'jch'\nfrom 'seen' to keep them a bit more manageable somehow?  \n\nIf an iffy topic that begins its life in 'seen' gets rerolled number\nof times while there, but after the final reroll before getting\nmerged to 'jch' (because it was marked as \"Will merge to 'next'?\" or\nbetter in the What's cooking draft), it never gets rerolled until it\nhits 'next', then your workload would not change compared to the\ndays back when you built yours on 'next'.\n\nOf course, the question then becomes \"who will vet these topics so\nthat they do not need a big reroll before it hits 'jch'?\", and we\nare back to square one?\n\nSo, I dunno.\n\nThanks.\n"},{"id":"511742","messageId":"20250203153319.GA4165842@coredump.intra.peff.net","threadId":"62845","inReplyTo":"xmqqwme73ost.fsf@gitster.g","subject":"Re: What's cooking in git.git (Jan 2025, #06; Wed, 22)","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2025-02-03T15:33:19Z","receivedAt":"2025-02-03T15:33:26Z","isPatch":false,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Sun, Feb 02, 2025 at 03:33:06PM -0800, Junio C Hamano wrote:\n\n> Jeff King <peff@peff.net> writes:\n> \n> >> Nice way to use extended context to show why the change makes sense.\n> >\n> > I've been tempted to support a:\n> >\n> >   Diff-options: -U10\n> >\n> > trailer, but that is probably overkill and full of annoying corner\n> > cases.\n> \n> Do you mean to embed it in the commit log trailer and upon seeing\n> it, the log family of commands add it to their setup_revisions()\n> invocation, thusly affecting things like \"format-patch\" and \"show\"?\n\nYeah, exactly. Similar to the Best-viewed-with that Ben mentioned (and\nthat name, while clunky, probably shows the intent more).\n\nBut...\n\n> As a reminder for a patch submitter (i.e., communicated by you who\n> wrote the commit to future you who will run format-patch for\n> submission), something locally maintained might be sufficient,\n> e.g. refs/notes/diffopts that is not shared by default, but still,\n> this hint probably wants to be per-path (ideally per-hunk).\n> \n> But I think it will make it annoying if you forced those who fetched\n> from you to use \"-U10\" when they do \"git show\", as the choice would\n> be strongly affected by personal preference.  And I certainly do not\n> want to see anything less benign than \"-U10\" silently forced upon me.\n\nYes, this is my worry, as well. It is nice to suggest to people viewing\nthe diff later that this particular case might benefit from some\noptions. But I don't like the idea of forcing the view on them.\n\nI almost wrote it as:\n\n  Diff-context: 10\n\nwhich would be more limited. But even that might be annoying in some\ncases. And it's probably not flexible enough (other things that are\nlikely to be suggested are --color-moved, -w, and --function-context).\n\nMaybe it would be a better feature in an interactive tool like tig,\nwhere you could use a key to flip between your normal diff, and the diff\nas suggested by the commit author. And then the trailer just becomes a\nmicro-format that some tools may respect for the feature. They'd still\nneed to be careful about allowing through arbitrary options to avoid\nsecurity problems.\n\n-Peff\n"},{"id":"511777","messageId":"20250204023518.GA23954@coredump.intra.peff.net","threadId":"62845","inReplyTo":"xmqqo6zjyw4a.fsf@gitster.g","subject":"Re: What's cooking in git.git (Jan 2025, #06; Wed, 22)","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2025-02-04T02:35:18Z","receivedAt":"2025-02-04T02:35:20Z","isPatch":false,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Mon, Feb 03, 2025 at 05:51:33AM -0800, Junio C Hamano wrote:\n\n> After seeing a few of your messages that begin with \"Coverity\n> complains ...\", I appreciate them a lot.  Earlier I was naively\n> hoping that triage-and-hand-off-to-original-author would be much\n> less work but no, we very much need to somehow find a way to push\n> the triaging part to individual topic authors or this thing will not\n> scale.\n\nYeah, there's definitely some human intelligence needed to pick apart\nCoverity (and I probably only end up reporting a portion of what it\nmentions; some are just nonsense, and some are old and probably\nunimportant issues).\n\nOTOH I basically end up triaging them when they hit 'next' anyway. So\nunless there are a lot of topics that hit 'jch' but never make it to\n'next', it's really just moving the workload around in time.\n\nThe thing that would increase workload is if I end up spending time on\npatches whose issues would have been caught during regular review (or\nmaybe even already were, racing with them making it into 'jch').\n\n> Perhaps I can control the rate of topics that trickle into 'jch'\n> from 'seen' to keep them a bit more manageable somehow?\n>\n> If an iffy topic that begins its life in 'seen' gets rerolled number\n> of times while there, but after the final reroll before getting\n> merged to 'jch' (because it was marked as \"Will merge to 'next'?\" or\n> better in the What's cooking draft), it never gets rerolled until it\n> hits 'next', then your workload would not change compared to the\n> days back when you built yours on 'next'.\n\nSo, yeah, this. The rate of topics entering is not so big a deal as the\nquality of topics when they make the transition to jch. As you note...\n\n> Of course, the question then becomes \"who will vet these topics so\n> that they do not need a big reroll before it hits 'jch'?\", and we\n> are back to square one?\n\n..this work still has to happen somewhere. But I think people reviewing\nand discussing patches is one way that the load is spread out. If review\nsettles down on a topic then maybe that's a sign it's ready to be looked\nat.\n\nOf course the effort to look at Coverity could be spread out, too. It's\njust hard to do because their interface is closed-ish (everybody needs\nto make their own account, we can't share links, etc). And also because\nthere's a coordination problem. I mostly look at the \"new defects since\nthe last build\" list since there's so much old noise. But I don't know\nhow I'd mark an uninteresting issue as \"I looked at this, and nobody\nelse needs to\".\n\nI guess if we had a bot that sent a summary of Coverity results to the\nlist, that thread could be a central point for discussion. But their\nnotification emails have no details; most of the richness is in their\nweb interface. I think it would be hard to condense that into an email\nthat would be useful to people. But maybe I could mine it with a script\nor something.\n\nI dunno. I think there are possibilities there, and if the results were\nincredibly useful I'd be more excited about spending time on it. ;) For\nnow let's try it with me following jch and see how that goes.\n\n-Peff\n"}]}