To: git@vger.kernel.org
-Subject: What's cooking in git.git (Jul 2024, #02; Mon, 8)
+Subject: What's cooking in git.git (Jul 2024, #03; Thu, 11)
X-master-at: 557ae147e6cdc9db121269b058c757ac5092f9c9
-X-next-at: 0f21945a48084c71d64695aac932748af8ec35cc
+X-next-at: 2a221341d9b66d14d948b71e4edd3494e5dd692c
Bcc: lwn@lwn.net, gitster@pobox.com
-What's cooking in git.git (Jul 2024, #02; Mon, 8)
+What's cooking in git.git (Jul 2024, #03; Thu, 11)
--------------------------------------------------
Here are the topics that have been cooking in my tree. Commits
https://www.kernel.org/pub/software/scm/git/
---------------------------------------------------
-[Graduated to 'master']
-
-* db/date-underflow-fix (2024-06-25) 2 commits
- (merged to 'next' on 2024-06-26 at 8074493d4e)
- + date: detect underflow/overflow when parsing dates with timezone offset
- + t0006: simplify prerequisites
-
- date parser updates to be more careful about underflowing epoch
- based timestamp.
- source: <20240625231248.4070257-1-gitster@pobox.com>
-
-
-* ds/sparse-lstat-caching (2024-06-28) 5 commits
- (merged to 'next' on 2024-06-28 at 9efaea181d)
- + sparse-index: improve lstat caching of sparse paths
- + sparse-index: count lstat() calls
- + sparse-index: use strbuf in path_found()
- + sparse-index: refactor path_found()
- + sparse-checkout: refactor skip worktree retry logic
-
- The code to deal with modified paths that are out-of-cone in a
- sparsely checked out working tree has been optimized.
- cf. <CABPp-BFd7Bk68Omdao5LS0sP5bK1WQ7V6dodB5x8EsncNARxNA@mail.gmail.com>
- source: <pull.1754.v3.git.1719578605.gitgitgadget@gmail.com>
-
-
-* jc/archive-prefix-with-add-virtual-file (2024-06-26) 1 commit
- (merged to 'next' on 2024-06-26 at da3ae88d56)
- + archive: document that --add-virtual-file takes full path
-
- "git archive --add-virtual-file=<path>:<contents>" never paid
- attention to the --prefix=<prefix> option but the documentation
- said it would. The documentation has been corrected.
- source: <xmqq5xubfjuu.fsf_-_@gitster.g>
-
-
-* ps/leakfixes-more (2024-06-11) 30 commits
- (merged to 'next' on 2024-06-27 at 9550a05068)
- + builtin/blame: fix leaking ignore revs files
- + builtin/blame: fix leaking prefixed paths
- + blame: fix leaking data for blame scoreboards
- + line-range: plug leaking find functions
- + merge: fix leaking merge bases
- + builtin/merge: fix leaking `struct cmdnames` in `get_strategy()`
- + sequencer: fix memory leaks in `make_script_with_merges()`
- + builtin/clone: plug leaking HEAD ref in `wanted_peer_refs()`
- + apply: fix leaking string in `match_fragment()`
- + sequencer: fix leaking string buffer in `commit_staged_changes()`
- + commit: fix leaking parents when calling `commit_tree_extended()`
- + config: fix leaking "core.notesref" variable
- + rerere: fix various trivial leaks
- + builtin/stash: fix leak in `show_stash()`
- + revision: free diff options
- + builtin/log: fix leaking commit list in git-cherry(1)
- + merge-recursive: fix memory leak when finalizing merge
- + builtin/merge-recursive: fix leaking object ID bases
- + builtin/difftool: plug memory leaks in `run_dir_diff()`
- + object-name: free leaking object contexts
- + builtin/rev-list: fix leaking bitmap index when calculating disk usage
- + notes: fix memory leak when pruning notes
- + revision: fix leaking display notes
- + merge-recursive: fix leaking rename conflict info
- + biultin/rev-parse: fix memory leaks in `--parseopt` mode
- + bundle: plug leaks in `create_bundle()`
- + notes-utils: free note trees when releasing copied notes
- + parse-options: fix leaks for users of OPT_FILENAME
- + revision: fix memory leak when reversing revisions
- + Merge branch 'ps/leakfixes' into ps/leakfixes-more
-
- More memory leaks have been plugged.
- cf. <CAOLa=ZRBrR5X1bQFAEqM3Ovx5G=J9aqdyD2XKrGT9s6j1jEnnQ@mail.gmail.com>
- source: <cover.1718095906.git.ps@pks.im>
-
-
-* rj/pager-die-upon-exec-failure (2024-06-25) 1 commit
- (merged to 'next' on 2024-06-26 at bfb6361ca8)
- + pager: die when paging to non-existing command
-
- When GIT_PAGER failed to spawn, depending on the code path taken,
- we failed immediately (correct) or just spew the payload to the
- standard output (incorrect). The code now always fail immediately
- when GIT_PAGER fails.
- source: <392deded-9eb2-42fa-b6f9-54c22d3ffd33@gmail.com>
-
-
-* ss/doc-eol-attr-fix (2024-06-24) 1 commit
- (merged to 'next' on 2024-06-26 at 6b96672a5f)
- + doc: fix case error of eol attribute in example
-
- Doc update.
- source: <pull.1736.git.git.1719178817386.gitgitgadget@gmail.com>
-
-
-* tb/path-filter-fix (2024-06-25) 16 commits
- (merged to 'next' on 2024-06-27 at a82d734201)
- + bloom: introduce `deinit_bloom_filters()`
- + commit-graph: reuse existing Bloom filters where possible
- + object.h: fix mis-aligned flag bits table
- + commit-graph: new Bloom filter version that fixes murmur3
- + commit-graph: unconditionally load Bloom filters
- + bloom: prepare to discard incompatible Bloom filters
- + bloom: annotate filters with hash version
- + repo-settings: introduce commitgraph.changedPathsVersion
- + t4216: test changed path filters with high bit paths
- + t/helper/test-read-graph: implement `bloom-filters` mode
- + bloom.h: make `load_bloom_filter_from_graph()` public
- + t/helper/test-read-graph.c: extract `dump_graph_info()`
- + gitformat-commit-graph: describe version 2 of BDAT
- + commit-graph: ensure Bloom filters are read with consistent settings
- + revision.c: consult Bloom filters for root commits
- + t/t4216-log-bloom.sh: harden `test_bloom_filters_not_used()`
-
- The Bloom filter used for path limited history traversal was broken
- on systems whose "char" is unsigned; update the implementation and
- bump the format version to 2.
- source: <cover.1719333276.git.me@ttaylorr.com>
-
-
-* xx/bundie-uri-fixes (2024-06-20) 3 commits
- (merged to 'next' on 2024-06-27 at 2045d9dbc2)
- + unbundle: extend object verification for fetches
- + fetch-pack: expose fsckObjects configuration logic
- + bundle-uri: verify oid before writing refs
-
- When bundleURI interface fetches multiple bundles, Git failed to
- take full advantage of all bundles and ended up slurping duplicated
- objects.
- source: <pull.1730.v8.git.1718770053.gitgitgadget@gmail.com>
-
--------------------------------------------------
[New Topics]
-* jc/checkout-no-op-switch-errors (2024-07-02) 1 commit
- - checkout: special case error messages during noop switching
-
- "git checkout --ours" (no other arguments) complained that the
- option is incompatible with branch switching, which is technically
- correct, but found confusing by some users. It now says that the
- user needs to give pathspec to specify what paths to checkout.
-
- Needs review.
- source: <xmqqikxnqzz4.fsf@gitster.g>
-
-
-* jc/disable-push-nego-for-deletion (2024-07-02) 1 commit
- (merged to 'next' on 2024-07-08 at 18411fb8ac)
- + push: avoid showing false negotiation errors
-
- "git push" that pushes only deletion gave an unnecessary and
- harmless error message when push negotiation is configured, which
- has been corrected.
-
- Will merge to 'master'.
- source: <xmqqo77fr2h0.fsf@gitster.g>
-
-
-* bc/gitfaq-more (2024-07-03) 4 commits
- - doc: mention that proxies must be completely transparent
- - gitfaq: add entry about syncing working trees
- - gitfaq: give advice on using eol attribute in gitattributes
- - gitfaq: add documentation on proxies
-
- A handful of entries are added to the GitFAQ document.
-
- Expecting a (hopefully small and final) reroll.
- cf. <ZocPrtrOVTqSeUTY@tapette.crustytoothpaste.net>
- source: <20240704003818.750223-1-sandals@crustytoothpaste.net>
-
-
-* cp/unit-test-reftable-merged (2024-07-03) 5 commits
- - t-reftable-merged: add test for REFTABLE_FORMAT_ERROR
- - t-reftable-merged: use reftable_ref_record_equal to compare ref records
- - t-reftable-merged: add tests for reftable_merged_table_max_update_index
- - t: harmonize t-reftable-merged.c with coding guidelines
- - t: move reftable/merged_test.c to the unit testing framework
-
- Another reftable test has been ported to use the unit test framework.
-
- Expecting a (hopefully small and final) reroll.
- cf. <CAOLa=ZSTb-kKiGHkGJwSgx3acxcfFe_+KGW=p7O7B7=CgeX7rw@mail.gmail.com>
- source: <20240703171131.3929-1-chandrapratap3519@gmail.com>
-
-
-* ds/advice-sparse-index-expansion (2024-07-08) 1 commit
- - advice: warn when sparse index expands
-
- A new warning message is issued when a command has to expand a
- sparse index to handle working tree cruft that are outside of the
- sparse checkout.
-
- Will merge to 'next'?
- source: <pull.1756.v2.git.1720448038745.gitgitgadget@gmail.com>
-
-
-* am/gitweb-feed-use-committer-date (2024-07-07) 1 commit
- (merged to 'next' on 2024-07-08 at 65215ab842)
- + gitweb: rss/atom change published/updated date to committer date
+* jc/where-is-bash-for-ci (2024-07-08) 1 commit
+ (merged to 'next' on 2024-07-09 at 14b00e672e)
+ + ci: unify bash calling convention
- GitWeb update to use committer date consistently in rss/atom feeds.
+ Shell script clean-up.
Will merge to 'master'.
- source: <20240707184813.33166-1-080ariel@gmail.com>
+ source: <xmqqwmlvcx9g.fsf_-_@gitster.g>
-* rs/clang-format-updates (2024-07-06) 1 commit
- (merged to 'next' on 2024-07-08 at d2b5b41844)
- + clang-format: include kh_foreach* macros in ForEachMacros
+* kn/push-empty-fix (2024-07-09) 1 commit
+ - builtin/push: call set_refspecs after validating remote
- Custom control structures we invented more recently have been
- taught to the clang-format file.
+ "git push '' HEAD:there" used to hit a BUG(); it has been corrected
+ to die with "fatal: bad repository ''".
- Will merge to 'master'.
- source: <4e7893f5-2dd9-46cf-8a64-cf780f4e1730@web.de>
+ Expecting a reroll.
+ cf. <xmqq4j8yflrq.fsf@gitster.g>
+ source: <20240709144931.1146528-1-karthik.188@gmail.com>
-* rs/t-strvec-use-test-msg (2024-07-06) 1 commit
- (merged to 'next' on 2024-07-08 at c28c2553de)
- + t-strvec: use test_msg()
+* ad/merge-with-diff-algorithm (2024-07-10) 1 commit
+ (merged to 'next' on 2024-07-11 at 2a221341d9)
+ + merge-recursive: honor diff.algorithm
- Unit test clean-up.
+ Many Porcelain commands that internally use the merge machinery
+ were taught to consistently honor the diff.algorithm configuration.
Will merge to 'master'.
- source: <983be396-f47c-4573-8c33-af8367f8ddbe@web.de>
+ source: <pull.1743.v2.git.git.1720551701648.gitgitgadget@gmail.com>
-* tb/dev-build-pedantic-fix (2024-07-06) 1 commit
- (merged to 'next' on 2024-07-08 at 7f34cc6c5b)
- + config.mak.dev: fix typo when enabling -Wpedantic
+* jc/http-cookiefile (2024-07-09) 1 commit
+ (merged to 'next' on 2024-07-11 at abdd5711d2)
+ + http.c: cookie file tightening
- Developer build procedure fix.
+ The http.cookieFile and http.saveCookies configuration variables
+ have a few values that need to be avoided, which are now ignored
+ with warning messages.
Will merge to 'master'.
- source: <cbc9446b1b0f2453b96aa9c0d89b9ec086a619bd.1720205457.git.me@ttaylorr.com>
-
-
-* gt/unit-test-hashmap (2024-07-08) 1 commit
- - t: port helper/test-hashmap.c to unit-tests/t-hashmap.c
+ source: <xmqqed82cgmj.fsf@gitster.g>
- An existing test of hashmap API has been rewritten with the
- unit-test framework.
- Needs review.
- source: <20240708161641.10335-2-shyamthakkar001@gmail.com>
+* jk/add-patch-with-suppress-blank-empty (2024-07-10) 1 commit
+ (merged to 'next' on 2024-07-11 at cec8ebb668)
+ + add-patch: handle splitting hunks with diff.suppressBlankEmpty
-
-* ri/doc-show-branch-fix (2024-07-08) 1 commit
- (merged to 'next' on 2024-07-08 at efcb154dfe)
- + doc: fix the max number of branches shown by "show-branch"
-
- Docfix.
+ When the diff.suppressBlankEmpty configuration variable is set,
+ "git add -p" failed to process a patch with an unmodified empty
+ line, which has been corrected.
Will merge to 'master'.
- source: <pull.1757.v5.git.1720444080034.gitgitgadget@gmail.com>
+ source: <20240710093610.GA2076910@coredump.intra.peff.net>
--------------------------------------------------
[Stalled]
source: <20240612130217.8877-1-chandrapratap3519@gmail.com>
-* sj/ref-fsck (2024-07-03) 9 commits
+* sj/ref-fsck (2024-07-10) 10 commits
- fsck: add ref content check for files backend
- fsck: add ref name check for files backend
- files-backend: add unified interface for refs scanning
- builtin/fsck: add `git-refs verify` child process
- - builtin/refs: add verify subcommand
+ - builtin/refs: add verify subcommand and verbose_refs for "fsck_options"
- refs: set up ref consistency check infrastructure
- - fsck: add refs-related options and error report function
+ - fsck: add refs-related error report function
- fsck: add a unified interface for reporting fsck messages
- - fsck: rename "skiplist" to "oid_skiplist"
+ - fsck: rename objects-related fsck error functions
+ - fsck: rename "skiplist" to "skip_oids"
"git fsck" infrastructure has been taught to also check the sanity
of the ref database, in addition to the object database.
Needs review.
- cf. <ysrjjyksfwto35ug7o6xbgbu53vvjso6nov3u2q6vvdprolqwh@vjhcc4x45j7t>
- cf. <adijctr2gmmyydpnnrmnu5p5n7mambfrd2ylqm6jtmvv2jdlxo@fbmhti7b4tks>
- source: <ZoVX6sn2C9VIeZ38@ArchLinux>
+ source: <Zo6eJi8BePrQxTQV@ArchLinux>
* cp/unit-test-reftable-pq (2024-06-14) 7 commits
--------------------------------------------------
[Cooking]
+* jc/checkout-no-op-switch-errors (2024-07-02) 1 commit
+ - checkout: special case error messages during noop switching
+
+ "git checkout --ours" (no other arguments) complained that the
+ option is incompatible with branch switching, which is technically
+ correct, but found confusing by some users. It now says that the
+ user needs to give pathspec to specify what paths to checkout.
+
+ Needs review.
+ source: <xmqqikxnqzz4.fsf@gitster.g>
+
+
+* jc/disable-push-nego-for-deletion (2024-07-02) 1 commit
+ (merged to 'next' on 2024-07-08 at 18411fb8ac)
+ + push: avoid showing false negotiation errors
+
+ "git push" that pushes only deletion gave an unnecessary and
+ harmless error message when push negotiation is configured, which
+ has been corrected.
+
+ Will merge to 'master'.
+ source: <xmqqo77fr2h0.fsf@gitster.g>
+
+
+* bc/gitfaq-more (2024-07-09) 4 commits
+ (merged to 'next' on 2024-07-10 at eeec4009e4)
+ + doc: mention that proxies must be completely transparent
+ + gitfaq: add entry about syncing working trees
+ + gitfaq: give advice on using eol attribute in gitattributes
+ + gitfaq: add documentation on proxies
+
+ A handful of entries are added to the GitFAQ document.
+
+ Will merge to 'master'.
+ source: <20240709233746.445860-1-sandals@crustytoothpaste.net>
+
+
+* cp/unit-test-reftable-merged (2024-07-11) 7 commits
+ - t-reftable-merged: add test for REFTABLE_FORMAT_ERROR
+ - t-reftable-merged: use reftable_ref_record_equal to compare ref records
+ - t-reftable-merged: add tests for reftable_merged_table_max_update_index
+ - t-reftable-merged: improve the const-correctness of helper functions
+ - t-reftable-merged: improve the test t_merged_single_record()
+ - t: harmonize t-reftable-merged.c with coding guidelines
+ - t: move reftable/merged_test.c to the unit testing framework
+
+ Another reftable test has been ported to use the unit test framework.
+
+ Looking good.
+ source: <20240711040854.4602-1-chandrapratap3519@gmail.com>
+
+
+* ds/advice-sparse-index-expansion (2024-07-08) 1 commit
+ (merged to 'next' on 2024-07-09 at c821020b13)
+ + advice: warn when sparse index expands
+
+ A new warning message is issued when a command has to expand a
+ sparse index to handle working tree cruft that are outside of the
+ sparse checkout.
+
+ Will merge to 'master'.
+ source: <pull.1756.v2.git.1720448038745.gitgitgadget@gmail.com>
+
+
+* am/gitweb-feed-use-committer-date (2024-07-07) 1 commit
+ (merged to 'next' on 2024-07-08 at 65215ab842)
+ + gitweb: rss/atom change published/updated date to committer date
+
+ GitWeb update to use committer date consistently in rss/atom feeds.
+
+ Will merge to 'master'.
+ source: <20240707184813.33166-1-080ariel@gmail.com>
+
+
+* rs/clang-format-updates (2024-07-06) 1 commit
+ (merged to 'next' on 2024-07-08 at d2b5b41844)
+ + clang-format: include kh_foreach* macros in ForEachMacros
+
+ Custom control structures we invented more recently have been
+ taught to the clang-format file.
+
+ Will merge to 'master'.
+ source: <4e7893f5-2dd9-46cf-8a64-cf780f4e1730@web.de>
+
+
+* rs/t-strvec-use-test-msg (2024-07-06) 1 commit
+ (merged to 'next' on 2024-07-08 at c28c2553de)
+ + t-strvec: use test_msg()
+
+ Unit test clean-up.
+
+ Will merge to 'master'.
+ source: <983be396-f47c-4573-8c33-af8367f8ddbe@web.de>
+
+
+* tb/dev-build-pedantic-fix (2024-07-06) 1 commit
+ (merged to 'next' on 2024-07-08 at 7f34cc6c5b)
+ + config.mak.dev: fix typo when enabling -Wpedantic
+
+ Developer build procedure fix.
+
+ Will merge to 'master'.
+ source: <cbc9446b1b0f2453b96aa9c0d89b9ec086a619bd.1720205457.git.me@ttaylorr.com>
+
+
+* gt/unit-test-hashmap (2024-07-08) 1 commit
+ - t: port helper/test-hashmap.c to unit-tests/t-hashmap.c
+
+ An existing test of hashmap API has been rewritten with the
+ unit-test framework.
+
+ Needs review.
+ source: <20240708161641.10335-2-shyamthakkar001@gmail.com>
+
+
+* ri/doc-show-branch-fix (2024-07-08) 1 commit
+ (merged to 'next' on 2024-07-08 at efcb154dfe)
+ + doc: fix the max number of branches shown by "show-branch"
+
+ Docfix.
+
+ Will merge to 'master'.
+ source: <pull.1757.v5.git.1720444080034.gitgitgadget@gmail.com>
+
+
* as/pathspec-h-typofix (2024-07-01) 1 commit
(merged to 'next' on 2024-07-02 at ae7cee4189)
+ pathspec: fix typo "glossary-context.txt" -> "glossary-content.txt"
source: <20240703062958.23262-2-shyamthakkar001@gmail.com>
-* jk/test-body-in-here-doc (2024-07-01) 2 commits
- . t: convert some here-doc test bodies
- . test-lib: allow test snippets as here-docs
+* jk/test-body-in-here-doc (2024-07-10) 10 commits
+ (merged to 'next' on 2024-07-11 at 854733cffc)
+ + t/.gitattributes: ignore whitespace in chainlint expect files
+ + t: convert some here-doc test bodies
+ + test-lib: allow test snippets as here-docs
+ + chainlint.pl: add tests for test body in heredoc
+ + chainlint.pl: recognize test bodies defined via heredoc
+ + chainlint.pl: check line numbers in expected output
+ + chainlint.pl: force CRLF conversion when opening input files
+ + chainlint.pl: do not spawn more threads than we have scripts
+ + chainlint.pl: only start threads if jobs > 1
+ + chainlint.pl: add test_expect_success call to test snippets
The test framework learns to take the test body not as a single
string but as a here-document.
- May need a matching change to shell script linter.
- cf. <CAPig+cQdioTBinkacLFb7yktm168oB+qyP9MpZtTRE=1aBz5yg@mail.gmail.com>
- cf. <20240706060143.GD698153@coredump.intra.peff.net>
- source: <20240701220815.GA20293@coredump.intra.peff.net>
+ Will merge to 'master'.
+ source: <20240710083416.GA2060328@coredump.intra.peff.net>
* rj/t0612-no-longer-leaks (2024-07-01) 1 commit
source: <23d41343-54fd-46c6-9d78-369e8009fa0b@gmail.com>
-* rj/test-sanitize-leak-log-fix (2024-07-01) 1 commit
+* rj/test-sanitize-leak-log-fix (2024-07-11) 2 commits
+ (merged to 'next' on 2024-07-11 at 9961f42025)
+ + test-lib: GIT_TEST_SANITIZE_LEAK_LOG enabled by default
(merged to 'next' on 2024-07-08 at c7ee7d03e1)
+ test-lib: fix GIT_TEST_SANITIZE_LEAK_LOG
Will merge to 'master'.
source: <f4ae6e2a-218a-419c-b6c4-59a08be247a0@gmail.com>
+ source: <fe8cd0d1-e451-43d0-b033-11bbb6d1ed56@gmail.com>
* rs/simplify-submodule-helper-super-prefix-invocation (2024-07-01) 1 commit
Unit-test framework clean-up.
- Will merge to 'next'?
+ Expecting a reroll.
+ cf. <97390954-49bc-48c4-bab1-95be10717aca@web.de>
source: <85b6b8a9-ee5f-42ab-bcbc-49976b30ef33@web.de>
* cb/send-email-sanitize-trailer-addresses (2024-07-01) 1 commit
- - git-send-email: use sanitized address when reading mbox body
+ (merged to 'next' on 2024-07-09 at 442a99106a)
+ + git-send-email: use sanitized address when reading mbox body
Address-looking strings found on the trailer are now placed on the
Cc: list after running through sanitize_address.
- Will merge to 'next'?
+ Will merge to 'master'.
source: <20240701090115.56957-1-csokas.bence@prolan.hu>
source: <20240626205355.GA1009060@coredump.intra.peff.net>
-* bc/http-proactive-auth (2024-07-03) 1 commit
- - http: allow authenticating proactively
+* bc/http-proactive-auth (2024-07-09) 1 commit
+ (merged to 'next' on 2024-07-10 at 29b050bf0e)
+ + http: allow authenticating proactively
The http transport can now be told to send request with
authentication material without first getting a 401 response.
- Getting there.
- cf. <xmqqo77d7lkr.fsf@gitster.g>
- source: <20240704001748.746429-2-sandals@crustytoothpaste.net>
+ Will merge to 'master'.
+ source: <20240710000155.947377-2-sandals@crustytoothpaste.net>
* jc/patch-id (2024-06-21) 5 commits
* en/ort-inner-merge-error-fix (2024-07-06) 8 commits
- - merge-ort: fix missing early return
+ (merged to 'next' on 2024-07-09 at 74bdae0b3b)
+ + merge-ort: fix missing early return
(merged to 'next' on 2024-06-28 at a85fe270e6)
+ merge-ort: convert more error() cases to path_msg()
+ merge-ort: upon merge abort, only show messages causing the abort
The "ort" merge backend saw one bugfix for a crash that happens
when inner merge gets killed, and assorted code clean-ups.
- Will merge to 'next' and then to 'master'.
+ Will merge to 'master'.
source: <pull.1748.v2.git.1718766019.gitgitgadget@gmail.com>