What's cooking (2025/07 #05)

Junio C Hamano committed Jul 17, 2025 at 14:18 UTC 57d47ee7bb2bed80e83d1f51c063b62bd9369b59
1 file changed +269 -348
whats-cooking.txt
+269 -348
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 -Subject: What's cooking in git.git (Jul 2025, #04; Mon, 14)
3 -X-master-at: d30e120486c5e0632d97f3cba79c03efb6dbb3cb
4 -X-next-at: e9779f64349fbcc8d177d055208039877316e652
2 +Subject: What's cooking in git.git (Jul 2025, #05; Thu, 17)
3 +X-master-at: 90c0775e972847832ac8dfa6a14bc4c3abacd914
4 +X-next-at: 6ba607880dc2bbf7e13e5734880ce0f9b87d2670
5 Bcc: lwn@lwn.net, gitster@pobox.com
6
7 -What's cooking in git.git (Jul 2025, #04; Mon, 14)
7 +What's cooking in git.git (Jul 2025, #05; Thu, 17)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking in my tree. Commits
@@ -48,198 +48,235 @@ Release tarballs are available at:
48 --------------------------------------------------
49 [Graduated to 'master']
50
51 -* ac/prune-wo-the-repository (2025-07-04) 2 commits
52 - (merged to 'next' on 2025-07-07 at 3dd296a911)
53 - + builtin/prune: stop depending on 'the_repository'
54 - + repository: move 'repository_format_precious_objects' to repo scope
55 -
56 - Some code paths in the "git prune" used to ignore passed in
57 - repository object and used the_repository singleton instance
58 - instead, which has been corrected.
59 -
60 - source: <cover.1751630981.git.ayu.chandekar@gmail.com>
61 -
51 +* ag/doc-send-email (2025-06-30) 5 commits
52 + (merged to 'next' on 2025-07-09 at cf940e82a1)
53 + + docs: mention possible options for Proton Mail users
54 + + docs: add a paragraph explaining the `sendmailCmd` option of sendemail
55 + + docs: add an OAuth2.0 credential helper for AOL accounts
56 + + docs: add outlookidfix config option to sendemail documentation
57 + + docs: link OpenSSL's verify(1) manual page to know about -CAfile and -CApath options
58
63 -* bs/config-mak-freebsd (2025-07-02) 2 commits
64 - (merged to 'next' on 2025-07-07 at d6761aa225)
65 - + build: retire NO_UINTMAX_T
66 - + config.mak.uname: set NO_MEMMEM only for functional version
59 + Documentation updates for "git send-email".
60 + source: <20250630180511.499-1-gargaditya08@proton.me>
61
68 - Drop FreeBSD 4 support and assume we are at least at FreeBSD 6 with
69 - memmem() supported.
70 -
71 - source: <20250702093736.36074-1-carenas@gmail.com>
62
63 +* ly/load-bitmap-leakfix (2025-06-30) 3 commits
64 + (merged to 'next' on 2025-07-08 at 6e6d182a8c)
65 + + pack-bitmap: add load corrupt bitmap test
66 + + pack-bitmap: reword comments in test_bitmap_commits()
67 + + pack-bitmap: fix memory leak if load_bitmap() failed
68
74 -* bs/remote-helpers-doc-markup-fix (2025-07-02) 1 commit
75 - (merged to 'next' on 2025-07-07 at 60c2a47d1b)
76 - + gitremote-helpers.adoc: fix formatting
69 + Leakfix with a new and a bit invasive test.
70 + cf. <aG2XZYamUv5FWq/W@nand.local>
71 + source: <pull.1962.v6.git.git.1751347929.gitgitgadget@gmail.com>
72
78 - Docfix.
79 -
80 - source: <20250702161951.22908-2-bacs@librecast.net>
73
74 +* ph/fetch-prune-optim (2025-07-01) 3 commits
75 + (merged to 'next' on 2025-07-09 at f0a1daff6a)
76 + + clean up interface for refs_warn_dangling_symrefs
77 + + refs: remove old refs_warn_dangling_symref
78 + + fetch-prune: optimize dangling-ref reporting
79
83 -* cb/total-ram-bsd-fix (2025-07-07) 1 commit
84 - (merged to 'next' on 2025-07-07 at d9a7ca747c)
85 - + builtin/gc: correct total_ram calculation with HAVE_BSD_SYSCTL
80 + "git fetch --prune" used to be O(n^2) expensive when there are many
81 + refs, which has been corrected.
82 + cf. <20250708013612.GB549007@coredump.intra.peff.net>
83 + source: <20250702011214.2835529-2-phil.hord@gmail.com>
84
87 - Use of sysctl() system call to learn the total RAM size used on
88 - BSDs has been corrected.
89 -
90 - source: <20250707164518.6600-1-carenas@gmail.com>
85
86 +* ps/doc-pack-refs-auto-with-files-backend-fix (2025-07-08) 1 commit
87 + (merged to 'next' on 2025-07-09 at 200b4b24a8)
88 + + docs/git-pack-refs: document heuristic used for packing loose refs
89
93 -* hy/read-cache-lock-error-fix (2025-07-03) 1 commit
94 - (merged to 'next' on 2025-07-07 at a97a188a9e)
95 - + read-cache: report lock error when refreshing index
90 + Doc update.
91 + source: <20250708-b4-pks-pack-refs-document-files-heuristic-v1-1-e28d65a94573@pks.im>
92
97 - A failure to open the index file for writing due to conflicting
98 - access did not state what went wrong, which has been corrected.
99 -
100 - source: <20250703074502.45593-1-hanyang.tony@bytedance.com>
93
94 +* ps/object-store (2025-07-01) 17 commits
95 + (merged to 'next' on 2025-07-07 at e19db55858)
96 + + odb: rename `read_object_with_reference()`
97 + + odb: rename `pretend_object_file()`
98 + + odb: rename `has_object()`
99 + + odb: rename `repo_read_object_file()`
100 + + odb: rename `oid_object_info()`
101 + + odb: trivial refactorings to get rid of `the_repository`
102 + + odb: get rid of `the_repository` when handling submodule sources
103 + + odb: get rid of `the_repository` when handling the primary source
104 + + odb: get rid of `the_repository` in `for_each()` functions
105 + + odb: get rid of `the_repository` when handling alternates
106 + + odb: get rid of `the_repository` in `odb_mkstemp()`
107 + + odb: get rid of `the_repository` in `assert_oid_type()`
108 + + odb: get rid of `the_repository` in `find_odb()`
109 + + odb: introduce parent pointers
110 + + object-store: rename files to "odb.{c,h}"
111 + + object-store: rename `object_directory` to `odb_source`
112 + + object-store: rename `raw_object_store` to `object_database`
113 + (this branch is used by ps/object-file-wo-the-repository and ps/object-store-midx.)
114
103 -* jc/coccicheck-fails-make-when-it-fails (2025-06-23) 1 commit
104 - (merged to 'next' on 2025-07-07 at 0b7affe7cd)
105 - + coccicheck: fail "make" when it fails
115 + Code clean-up around object access API.
116 + source: <20250701-pks-object-store-wo-the-repository-v6-0-dbf3894ab4e2@pks.im>
117
107 - "make coccicheck" succeeds even when spatch made suggestions, which
108 - has been updated to fail in such a case.
109 -
110 - source: <xmqqbjqe77vw.fsf@gitster.g>
118
119 +* ps/refs-files-remove-empty-parent (2025-07-08) 1 commit
120 + (merged to 'next' on 2025-07-09 at f726af7117)
121 + + refs/files: remove empty parent dirs when ref creation fails
122
113 -* jk/all-negative-diff-filter-fix (2025-07-03) 1 commit
114 - (merged to 'next' on 2025-07-07 at 139dd3db75)
115 - + setup_revisions(): turn on diffs for all-negative diff filter
123 + When a ref creation at refs/heads/foo/bar fails, the files backend
124 + now removes refs/heads/foo/ if the directory is otherwise not used.
125 + source: <20250708-b4-pks-reffiles-prune-empty-dirs-on-abort-v1-1-3bae02e4f034@pks.im>
126
117 - A diff-filter with negative-only specification like "git log
118 - --diff-filter=d" did not trigger correctly, which has been fixed.
119 -
120 - source: <20250703224428.GB1909836@coredump.intra.peff.net>
127
128 +* ps/t1006-tap-fix (2025-07-08) 1 commit
129 + (merged to 'next' on 2025-07-09 at bbed1acc2a)
130 + + t1006: fix broken TAP format
131
123 -* kh/doc-config-subcommands (2025-07-01) 5 commits
124 - (merged to 'next' on 2025-07-07 at b0db48b397)
125 - + config: mention --url in the synopsis
126 - + config: use --value instead of value-pattern
127 - + config: document --[no-]value
128 - + config: use --value=<pattern> consistently
129 - + config: document --[no-]show-names
132 + Test fix.
133 + source: <20250708-b4-pks-t1006-fix-tap-format-v1-1-c3f837448364@pks.im>
134
131 - Documentation updates.
132 -
133 - source: <cover.1751382830.git.code@khaugsbakk.name>
135
136 +* rs/parse-options-precision (2025-07-09) 7 commits
137 + (merged to 'next' on 2025-07-09 at aefffa21b7)
138 + + parse-options: add precision handling for OPTION_COUNTUP
139 + + parse-options: add precision handling for OPTION_BITOP
140 + + parse-options: add precision handling for OPTION_NEGBIT
141 + + parse-options: add precision handling for OPTION_BIT
142 + + parse-options: add precision handling for OPTION_SET_INT
143 + + parse-options: add precision handling for PARSE_OPT_CMDMODE
144 + + parse-options: require PARSE_OPT_NOARG for OPTION_BITOP
145
136 -* kn/clang-format-updates (2025-07-02) 3 commits
137 - (merged to 'next' on 2025-07-07 at 0b0770e97a)
138 - + meson: add rule to run 'git clang-format'
139 - + clang-format: add 'RemoveBracesLLVM' to the main config
140 - + clang-format: set 'ColumnLimit' to 0
146 + Define .precision to more canned parse-options type to avoid bugs
147 + coming from using a variable with a wrong type to capture the
148 + parsed values.
149 + source: <802eba72-c100-429a-80b7-7a0e8b6559ed@web.de>
150
142 - Update ".clang-format" and ".editorconfig" to match our style guide
143 - a bit better.
144 -
145 - source: <20250702-525-make-clang-format-more-robust-v3-0-705344f30580@gmail.com>
151 +--------------------------------------------------
152 +[New Topics]
153
154 +* kl/test-installed-fix (2025-07-15) 2 commits
155 + (merged to 'next' on 2025-07-16 at 512176f26c)
156 + + test-lib: respect GIT_TEST_INSTALLED when querying default hash
157 + + Merge branch 'bc/use-sha256-by-default-in-3.0' into kl/test-installed-fix
158 + (this branch uses bc/use-sha256-by-default-in-3.0.)
159
148 -* mc/netrc-service-names (2025-06-25) 3 commits
149 - (merged to 'next' on 2025-07-07 at e98100afdd)
150 - + contrib: better support symbolic port names in git-credential-netrc
151 - + contrib: warn for invalid netrc file ports in git-credential-netrc
152 - + contrib: use a more portable shebang for git-credential-netrc
160 + GIT_TEST_INSTALLED was not honored in the recent topic related to
161 + SHA256 hashes, which has been corrected.
162
154 - "netrc" credential helper has been improved to understand textual
155 - service names (like smtp) in addition to the numeric port numbers
156 - (like 25).
157 -
158 - source: <20250625142511.28857-1-maxim@guixotic.coop>
163 + Will merge to 'master'.
164 + source: <pull.2011.git.git.1752605874596.gitgitgadget@gmail.com>
165
166
161 -* ps/perlless-test-fixes (2025-07-07) 2 commits
162 - (merged to 'next' on 2025-07-07 at 2c56966ff8)
163 - + t5333: fix missing terminator for sed(1) 's' command
164 - + t4150: fix warning printed by awk due to escaped '\@'
167 +* pw/config-kvi-remove-path (2025-07-15) 1 commit
168 + (merged to 'next' on 2025-07-16 at 3203507b49)
169 + + config: remove unneeded struct field
170
166 - Test fixes.
167 -
168 - source: <20250707-b4-pks-t-perlless-fixes-v1-0-92b2de1c3dd0@pks.im>
171 + Remove a redundant member from kvi struct.
172
173 + Will merge to 'master'.
174 + source: <31724ce432b19088b7c7643654788d8e712b3193.1752588042.git.phillip.wood@dunelm.org.uk>
175
171 -* ps/use-reftable-as-default-in-3.0 (2025-07-04) 2 commits
172 - (merged to 'next' on 2025-07-07 at 3f3402f221)
173 - + setup: use "reftable" format when experimental features are enabled
174 - + BreakingChanges: announce switch to "reftable" format
176
176 - The reftable ref backend has matured enough; Git 3.0 will make it
177 - the default format in a newly created repositories by default.
178 -
179 - source: <20250704-pks-reftable-default-backend-v3-0-a1eb63e8442a@pks.im>
177 +* rs/pop-recent-commit-with-prio-queue (2025-07-16) 4 commits
178 + - fixup! commit: convert pop_most_recent_commit() to prio_queue
179 + - commit: use prio_queue_replace() in pop_most_recent_commit()
180 + - prio-queue: add prio_queue_replace()
181 + - commit: convert pop_most_recent_commit() to prio_queue
182
183 + The pop_most_recent_commit() function can have quite expensive
184 + worst case performance characteristics, which has been optimized by
185 + using prio-queue data structure.
186
182 -* re/ssh-sign-buffer-fix (2025-07-07) 1 commit
183 - (merged to 'next' on 2025-07-07 at 36dad3e4dc)
184 - + ssh signing: don't detach the filename strbuf from key_file tempfile
187 + Will merge to 'next', after squashing the fixup in?
188 + source: <bc079b3c-a472-4f5d-95ca-390f9de25196@web.de>
189
186 - Tempfile removal fix in the codepath to sign commits with SSH keys.
187 -
188 - source: <20250707184852.16010-1-redoste@redoste.xyz>
190
191 +* bc/contribution-under-non-real-names (2025-07-15) 1 commit
192 + (merged to 'next' on 2025-07-16 at 6ba607880d)
193 + + SubmittingPatches: allow non-real name contributions
194
191 -* rj/freebsd-sysinfo-build-fix (2025-07-04) 1 commit
192 - (merged to 'next' on 2025-07-07 at bc4cbfd76d)
193 - + build: fix FreeBSD build when sysinfo compat library installed
195 + Document that we do not require "real" name when signing your
196 + patches off.
197
195 - Build fix for FreeBSD.
196 -
197 - source: <e6a80163-47ef-436b-98a6-2ac39c477080@ramsayjones.plus.com>
198 + Will merge to 'master'.
199 + source: <20250716002523.1392423-1-sandals@crustytoothpaste.net>
200
201
200 -* rp/apply-intent-to-add-fix (2025-07-07) 4 commits
201 - (merged to 'next' on 2025-07-07 at 957e3fd081)
202 - + apply docs: clarify wording for --intent-to-add
203 - + t4140: test apply --intent-to-add interactions
204 - + apply: only write intents to add for new files
205 - + apply: read in the index in --intent-to-add mode
202 +* jc/ci-print-test-failures-fix (2025-07-16) 1 commit
203 + - ci: allow github-actions print test failures again
204
207 - "git apply -N" should start from the current index and register
208 - only new files, but it instead started from an empty index, which
209 - has been corrected.
210 -
211 - source: <20250707121534.2933349-1-ray@ameretat.dev>
205 + CI fix.
206
207 + Comments?
208 + source: <xmqqa553alp1.fsf_-_@gitster.g>
209
214 -* sj/string-list (2025-06-28) 8 commits
215 - (merged to 'next' on 2025-07-07 at 5a95dc8007)
216 - + u-string-list: move "remove duplicates" test to "u-string-list.c"
217 - + u-string-list: move "filter string" test to "u-string-list.c"
218 - + u-string-list: move "test_split_in_place" to "u-string-list.c"
219 - + u-string-list: move "test_split" into "u-string-list.c"
220 - + string-list: enable sign compare warnings check
221 - + string-list: return index directly when inserting an existing element
222 - + string-list: remove unused "insert_at" parameter from add_entry
223 - + string-list: fix sign compare warnings for loop iterator
210
225 - Code and test clean-up around string-list API.
226 -
227 - source: <aGDAZ6a0-PyXXGmK@ArchLinux>
211 +* rj/meson-libexecdir-fix (2025-07-15) 2 commits
212 + (merged to 'next' on 2025-07-16 at 36c2be9510)
213 + + po/meson.build: add missing 'ga' language code
214 + + meson: fix installation when -Dlibexexdir is set
215
216 + Meson-based build did not handle libexecdir setting correctly,
217 + which has been corrected.
218
230 -* ts/merge-orig-head-doc-fix (2025-07-05) 1 commit
231 - (merged to 'next' on 2025-07-07 at 08f4a573e5)
232 - + docs: correct ORIG_HEAD example in "git merge" documentation
219 + Will merge to 'master'.
220 + source: <20250715233239.1539780-1-ramsay@ramsayjones.plus.com>
221 +
222 +
223 +* ds/sparse-checkout-clean (2025-07-16) 9 commits
224 + - sparse-checkout: make 'clean' clear more files
225 + - t: expand tests around sparse merges and clean
226 + - sparse-index: point users to new 'clean' action
227 + - sparse-checkout: add --verbose option to 'clean'
228 + - dir: add generic "walk all files" helper
229 + - sparse-checkout: match some 'clean' behavior
230 + - sparse-checkout: add basics of 'clean' command
231 + - sparse-checkout: remove use of the_repository
232 + - Merge branch 'ac/deglobal-sparse-variables' into ds/sparse-checkout-clean
233 + (this branch uses ac/deglobal-sparse-variables.)
234 +
235 + "git sparse-checkout" subcommand learned a new "clean" action to
236 + prune otherwise unused working-tree files that are outside the
237 + areas of interest.
238 +
239 + source: <pull.1941.v2.git.1752716054.gitgitgadget@gmail.com>
240 +
241 +
242 +* ps/config-wo-the-repository (2025-07-17) 22 commits
243 + - config: fix sign comparison warnings
244 + - config: move Git config parsing into "environment.c"
245 + - config: remove unused `the_repository` wrappers
246 + - config: drop `git_config_set_multivar()` wrapper
247 + - config: drop `git_config_get_multivar_gently()` wrapper
248 + - config: drop `git_config_set_multivar_in_file_gently()` wrapper
249 + - config: drop `git_config_set_in_file_gently()` wrapper
250 + - config: drop `git_config_set()` wrapper
251 + - config: drop `git_config_set_gently()` wrapper
252 + - config: drop `git_config_set_in_file()` wrapper
253 + - config: drop `git_config_get_bool()` wrapper
254 + - config: drop `git_config_get_ulong()` wrapper
255 + - config: drop `git_config_get_int()` wrapper
256 + - config: drop `git_config_get_string()` wrapper
257 + - config: drop `git_config_get_string()` wrapper
258 + - config: drop `git_config_get_string_multi()` wrapper
259 + - config: drop `git_config_get_value()` wrapper
260 + - config: drop `git_config_get_value()` wrapper
261 + - config: drop `git_config_get()` wrapper
262 + - config: drop `git_config_clear()` wrapper
263 + - config: drop `git_config()` wrapper
264 + - Merge branch 'bc/use-sha256-by-default-in-3.0' into ps/config-wo-the-repository
265 + (this branch uses bc/use-sha256-by-default-in-3.0.)
266 +
267 + The config API had a set of convenience wrapper functions that
268 + implicitly use the_repository instance; they have been removed and
269 + inlined at the calling sites.
270
234 - Doc fix.
235 -
236 - source: <pull.1940.git.1751737158670.gitgitgadget@gmail.com>
271 + Will merge to 'next'?
272 + source: <20250717-pks-config-wo-the-repository-v1-0-d888e4a17de1@pks.im>
273
274 --------------------------------------------------
239 -[New Topics]
275 +[Cooking]
276
277 * ps/sane-ctype-workaround (2025-07-09) 1 commit
242 - - sane-ctype: fix compiler error on Amazon Linux 2
278 + (merged to 'next' on 2025-07-15 at 21b79228e3)
279 + + sane-ctype: fix compiler error on Amazon Linux 2
280
281 Our <sane-ctype.h> header file relied on that the system-supplied
282 <ctype.h> header is not later included, which would override our
@@ -247,7 +284,7 @@ Release tarballs are available at:
284 this by preemptively including <ctype.h> near the beginning of
285 <sane-ctype.h> ourselves.
286
250 - Will merge to 'next'.
287 + Will merge to 'master'.
288 source: <fabacc9bc7ef7d462d1c7198d5edc18c76b82270.1752139420.git.ps@pks.im>
289
290
@@ -261,36 +298,38 @@ Release tarballs are available at:
298 source: <20250708024507.62386-2-rhanneken@pobox.com>
299
300
264 -* cb/meson-avoid-broken-macos-pcre2 (2025-07-13) 1 commit
265 - - meson: disable PCRE2 dependency by default in macOS
301 +* cb/meson-avoid-broken-macos-pcre2 (2025-07-16) 1 commit
302 + - meson: work around broken system PCRE2 dependency in macOS
303
304 Build fix for macOS.
305
269 - Will merge to 'next'.
270 - source: <20250713174807.32444-1-carenas@gmail.com>
306 + Still in flux.
307 + source: <20250716193000.44673-1-carenas@gmail.com>
308
309
310 * jb/gpg-program-variable-is-a-pathname (2025-07-11) 1 commit
274 - - gpg-interface: expand gpg.program as a path
311 + (merged to 'next' on 2025-07-14 at b23aee3cb1)
312 + + gpg-interface: expand gpg.program as a path
313
314 The gpg.program configuration variable, which names a pathname to
315 the (custom) GPG compatible program, can now be spelled with ~tilde
316 expansion.
317
280 - Will merge to 'next'.
318 + Will merge to 'master'.
319 source: <20250711232348.460804-1-jonas.brandstoetter@gmx.at>
320
321
284 -* pw/adopt-c99-bool-officially (2025-07-14) 3 commits
285 - - strbuf: convert predicates to return bool
286 - - git-compat-util: convert string predicates to return bool
287 - - CodingGuildlines: allow the use of bool
322 +* pw/adopt-c99-bool-officially (2025-07-16) 3 commits
323 + (merged to 'next' on 2025-07-16 at 62afce02b7)
324 + + strbuf: convert predicates to return bool
325 + + git-compat-util: convert string predicates to return bool
326 + + CodingGuidelines: allow the use of bool
327
328 Declare weather-balloon we raised for "bool" type 18 months ago a
329 success and officially allow using the type in our codebase.
330
292 - Comments?
293 - source: <cover.1752499610.git.phillip.wood@dunelm.org.uk>
331 + Will merge to 'master'.
332 + source: <cover.1752658700.git.phillip.wood@dunelm.org.uk>
333
334
335 * pw/compound-literal-test-balloon (2025-07-14) 1 commit
@@ -302,39 +341,6 @@ Release tarballs are available at:
341 Comments?
342 source: <7ac55a5096c261b706f47ca239c381f71db2b67a.1752499653.git.phillip.wood@dunelm.org.uk>
343
305 ---------------------------------------------------
306 -[Cooking]
307 -
308 -* ps/doc-pack-refs-auto-with-files-backend-fix (2025-07-08) 1 commit
309 - (merged to 'next' on 2025-07-09 at 200b4b24a8)
310 - + docs/git-pack-refs: document heuristic used for packing loose refs
311 -
312 - Doc update.
313 -
314 - Will merge to 'master'.
315 - source: <20250708-b4-pks-pack-refs-document-files-heuristic-v1-1-e28d65a94573@pks.im>
316 -
317 -
318 -* ps/refs-files-remove-empty-parent (2025-07-08) 1 commit
319 - (merged to 'next' on 2025-07-09 at f726af7117)
320 - + refs/files: remove empty parent dirs when ref creation fails
321 -
322 - When a ref creation at refs/heads/foo/bar fails, the files backend
323 - now removes refs/heads/foo/ if the directory is otherwise not used.
324 -
325 - Will merge to 'master'.
326 - source: <20250708-b4-pks-reffiles-prune-empty-dirs-on-abort-v1-1-3bae02e4f034@pks.im>
327 -
328 -
329 -* ps/t1006-tap-fix (2025-07-08) 1 commit
330 - (merged to 'next' on 2025-07-09 at bbed1acc2a)
331 - + t1006: fix broken TAP format
332 -
333 - Test fix.
334 -
335 - Will merge to 'master'.
336 - source: <20250708-b4-pks-t1006-fix-tap-format-v1-1-c3f837448364@pks.im>
337 -
344
345 * pw/3.0-commentchar-auto-deprecation (2025-07-08) 2 commits
346 - commit: print advice when core.commentString=auto
@@ -349,31 +355,28 @@ Release tarballs are available at:
355 source: <cover.1751983009.git.phillip.wood@dunelm.org.uk>
356
357
352 -* ps/object-store-midx (2025-07-09) 9 commits
358 +* ps/object-store-midx (2025-07-15) 9 commits
359 - midx: remove now-unused linked list of multi-pack indices
360 - packfile: stop using linked MIDX list in `get_all_packs()`
361 - packfile: stop using linked MIDX list in `find_pack_entry()`
362 - packfile: refactor `get_multi_pack_index()` to work on sources
357 - - midx: track whether we have loaded the MIDX
363 - midx: stop using linked list when closing MIDX
364 - packfile: refactor `prepare_packed_git_one()` to work on sources
365 - midx: start tracking per object database source
366 + - Merge branch 'tb/midx-avoid-cruft-packs' into ps/object-store-midx
367 - Merge branch 'ps/object-store' into ps/object-store-midx
362 - (this branch uses ps/object-store.)
368 + (this branch uses tb/midx-avoid-cruft-packs.)
369
370 Redefine where the multi-pack-index sits in the object subsystem,
371 which recently was restructured to allow multiple backends that
372 support a single object source that belongs to one repository. A
373 midx does span mulitple "object sources".
374
369 - Expecting responses.
370 - source: <20250709-b4-pks-midx-via-odb-alternate-v1-0-f31150d21331@pks.im>
375 + Comments?
376 + source: <20250715-b4-pks-midx-via-odb-alternate-v2-0-b0ca0b4b516e@pks.im>
377
378
373 -* ps/object-file-wo-the-repository (2025-07-09) 20 commits
374 - - object-file: drop USE_THE_REPOSITORY_VARIABLE
375 - - environment: move object creation mode into repo settings
376 - - environment: move compression level into repo settings
379 +* ps/object-file-wo-the-repository (2025-07-16) 17 commits
380 - object-file: get rid of `the_repository` in index-related functions
381 - object-file: get rid of `the_repository` in `force_object_loose()`
382 - object-file: get rid of `the_repository` in `read_loose_object()`
@@ -391,14 +394,11 @@ Release tarballs are available at:
394 - object-file: stop using `the_hash_algo`
395 - object-file: fix -Wsign-compare warnings
396 - Merge branch 'ps/object-store' into ps/object-file-wo-the-repository
394 - (this branch uses ps/object-store.)
397
398 Reduce implicit assumption and dependence on the_repository in the
399 object-file subsystem.
400
399 - Needs a bit of redoing around the configuration reading.
400 - cf. <32fceddc-c867-4a47-bde8-c873279edbc1@gmail.com>
401 - source: <20250709-pks-object-file-wo-the-repository-v1-0-62627b55707f@pks.im>
401 + source: <20250717-pks-object-file-wo-the-repository-v2-0-36d2cd6c700e@pks.im>
402
403
404 * jk/remote-avoid-overlapping-names (2025-07-08) 1 commit
@@ -447,53 +447,25 @@ Release tarballs are available at:
447 source: <20250706215039.715732-1-usmanakinyemi202@gmail.com>
448
449
450 -* ag/doc-send-email (2025-06-30) 5 commits
451 - (merged to 'next' on 2025-07-09 at cf940e82a1)
452 - + docs: mention possible options for Proton Mail users
453 - + docs: add a paragraph explaining the `sendmailCmd` option of sendemail
454 - + docs: add an OAuth2.0 credential helper for AOL accounts
455 - + docs: add outlookidfix config option to sendemail documentation
456 - + docs: link OpenSSL's verify(1) manual page to know about -CAfile and -CApath options
457 -
458 - Documentation updates for "git send-email".
459 -
460 - Will merge to 'master'.
461 - source: <20250630180511.499-1-gargaditya08@proton.me>
462 -
463 -
464 -* rs/parse-options-precision (2025-07-09) 7 commits
465 - (merged to 'next' on 2025-07-09 at aefffa21b7)
466 - + parse-options: add precision handling for OPTION_COUNTUP
467 - + parse-options: add precision handling for OPTION_BITOP
468 - + parse-options: add precision handling for OPTION_NEGBIT
469 - + parse-options: add precision handling for OPTION_BIT
470 - + parse-options: add precision handling for OPTION_SET_INT
471 - + parse-options: add precision handling for PARSE_OPT_CMDMODE
472 - + parse-options: require PARSE_OPT_NOARG for OPTION_BITOP
473 -
474 - Define .precision to more canned parse-options type to avoid bugs
475 - coming from using a variable with a wrong type to capture the
476 - parsed values.
477 -
478 - Will merge to 'master'.
479 - source: <802eba72-c100-429a-80b7-7a0e8b6559ed@web.de>
480 -
481 -
482 -* kn/for-each-ref-skip (2025-07-11) 4 commits
483 - - for-each-ref: introduce a '--start-after' option
484 - - refs: selectively set prefix in the seek functions
485 - - ref-cache: remove unused function 'find_ref_entry()'
486 - - refs: expose `ref_iterator` via 'refs.h'
450 +* kn/for-each-ref-skip (2025-07-15) 5 commits
451 + (merged to 'next' on 2025-07-15 at 4ea3c74afd)
452 + + for-each-ref: introduce a '--start-after' option
453 + + ref-filter: remove unnecessary else clause
454 + + refs: selectively set prefix in the seek functions
455 + + ref-cache: remove unused function 'find_ref_entry()'
456 + + refs: expose `ref_iterator` via 'refs.h'
457
458 "git for-each-ref" learns "--skip-until" option to help
459 applications that want to page its output.
460
491 - Will merge to 'next'.
461 + Will merge to 'master'.
462 cf. <CAP8UFD06KKF0A0WjBSw77A7fKp_pGJGVyw-OPd8-X92h=RSF+w@mail.gmail.com>
493 - source: <20250711-306-git-for-each-ref-pagination-v4-0-ed3303ad5b89@gmail.com>
463 + source: <20250715-306-git-for-each-ref-pagination-v5-0-852d5a2f56e1@gmail.com>
464
465
496 -* tc/last-modified (2025-07-09) 3 commits
466 +* tc/last-modified (2025-07-16) 5 commits
467 + - last-modified: support --extended format
468 + - pretty: allow caller to disable indentation
469 - last-modified: use Bloom filters when available
470 - t/perf: add last-modified perf script
471 - last-modified: new subcommand to show when files were last modified
@@ -502,57 +474,45 @@ Release tarballs are available at:
474 ancestor commit that touched each path.
475
476 Comments?
505 - source: <20250630-toon-new-blame-tree-v3-0-3516025dc3bc@iotcl.com>
477 + source: <20250716133206.1787549-1-toon@iotcl.com>
478
479
480 * cb/daemon-reap-children (2025-07-10) 2 commits
509 - - daemon: use sigaction() to install child_handler()
510 - - compat/mingw: allow sigaction(SIGCHLD)
481 + (merged to 'next' on 2025-07-14 at a3574350ff)
482 + + daemon: use sigaction() to install child_handler()
483 + + compat/mingw: allow sigaction(SIGCHLD)
484
485 Futz with SIGCHLD handling in "git daemon".
486
514 - Will merge to 'next'?
487 + Will merge to 'master'.
488 source: <pull.2002.v4.git.git.1752176743.gitgitgadget@gmail.com>
489
490
518 -* ac/auto-comment-char-fix (2025-06-30) 1 commit
491 +* ac/auto-comment-char-fix (2025-07-16) 2 commits
492 + - config: set comment_line_str to "#" when core.commentChar=auto
493 - commit: avoid scanning trailing comments when 'core.commentChar' is "auto"
494
495 "git commit" that concludes a conflicted merge failed to notice and remove
496 existing comment added automatically (like "# Conflicts:") when the
497 core.commentstring is set to 'auto'.
498
525 - Expecting a reroll.
526 - cf. <f22e864e-669d-457c-838e-961bbc977c4b@gmail.com>
527 - source: <20250630182527.69167-1-ayu.chandekar@gmail.com>
499 + Will merge to 'next'.
500 + source: <cover.1752665506.git.ayu.chandekar@gmail.com>
501
502
530 -* ly/changed-paths-traversal (2025-07-12) 5 commits
531 - - bloom: optimize multiple pathspec items in revision
532 - - revision: make helper for pathspec to bloom keyvec
533 - - bloom: replace struct bloom_key * with struct bloom_keyvec
534 - - bloom: rename function operates on bloom_key
535 - - bloom: add test helper to return murmur3 hash
503 +* ly/changed-paths-traversal (2025-07-14) 5 commits
504 + (merged to 'next' on 2025-07-15 at 45fdb67b92)
505 + + bloom: optimize multiple pathspec items in revision
506 + + revision: make helper for pathspec to bloom keyvec
507 + + bloom: replace struct bloom_key * with struct bloom_keyvec
508 + + bloom: rename function operates on bloom_key
509 + + bloom: add test helper to return murmur3 hash
510
511 Lift the limitation to use changed-path filter in "git log" so that
512 it can be used for a pathspec with multiple literal paths.
513
540 - Will merge to 'next'?
541 - source: <20250712093517.17907-1-yldhome2d2@gmail.com>
542 -
543 -
544 -* ph/fetch-prune-optim (2025-07-01) 3 commits
545 - (merged to 'next' on 2025-07-09 at f0a1daff6a)
546 - + clean up interface for refs_warn_dangling_symrefs
547 - + refs: remove old refs_warn_dangling_symref
548 - + fetch-prune: optimize dangling-ref reporting
549 -
550 - "git fetch --prune" used to be O(n^2) expensive when there are many
551 - refs, which has been corrected.
552 -
514 Will merge to 'master'.
554 - cf. <20250708013612.GB549007@coredump.intra.peff.net>
555 - source: <20250702011214.2835529-2-phil.hord@gmail.com>
515 + source: <20250712093517.17907-1-yldhome2d2@gmail.com>
516
517
518 * bc/use-sha256-by-default-in-3.0 (2025-07-01) 11 commits
@@ -568,6 +528,7 @@ Release tarballs are available at:
528 + builtin: use default hash when outside a repository
529 + hash: add a constant for the legacy hash algorithm
530 + hash: add a constant for the default hash algorithm
531 + (this branch is used by kl/test-installed-fix and ps/config-wo-the-repository.)
532
533 Prepare to flip the default hash function to SHA-256.
534
@@ -575,30 +536,26 @@ Release tarballs are available at:
536 source: <20250701212237.766774-1-sandals@crustytoothpaste.net>
537
538
578 -* lo/repo-info (2025-06-19) 7 commits
579 - . repo-info: add field layout.shallow
580 - . repo-info: add field layout.bare
581 - . repo-info: add the field references.format
582 - . repo-info: add the --allow-empty flag
583 - . repo-info: add plaintext as an output format
584 - . repo-info: add the --format flag
585 - . repo-info: declare the repo-info command
539 +* lo/repo-info (2025-07-14) 4 commits
540 + - repo: add field layout.shallow
541 + - repo: add field layout.bare
542 + - repo: add the field references.format
543 + - repo: declare the repo command
544
587 - A new subcommand "git repo-info" gives users a way to grab various
545 + A new subcommand "git repo" gives users a way to grab various
546 repository characteristics.
589 -
590 - Expecting a reroll.
591 - cf. <0FEC4502-867F-4B9C-B752-376EF9464983@gmail.com>
592 - source: <20250619225751.99699-1-lucasseikioshiro@gmail.com>
547 + source: <20250714235231.10137-1-lucasseikioshiro@gmail.com>
548
549
550 * cc/fast-import-export-signature-names (2025-07-09) 1 commit
596 - - fast-(import|export): improve on commit signature output format
551 + (merged to 'next' on 2025-07-15 at a6a173da68)
552 + + fast-(import|export): improve on commit signature output format
553
554 Clean up the way how signature on commit objects are exported to
555 and imported from fast-import stream.
556
601 - Will merge to 'next'?
557 + Will merge to 'master'.
558 + cf. <CABPp-BHM5afgiUf7GsTPWmrf_tm6mWnvHWMKiZPxApJzN-U8gg@mail.gmail.com>
559 source: <20250709141253.623563-1-christian.couder@gmail.com>
560
561
@@ -606,6 +563,7 @@ Release tarballs are available at:
563 - environment: remove the global variable 'sparse_expect_files_outside_of_patterns'
564 - environment: move access to "core.sparsecheckoutcone" into repo_settings
565 - environment: move access to "core.sparsecheckout" into repo_settings
566 + (this branch is used by ds/sparse-checkout-clean.)
567
568 Two global variables related to sparse checkout have been moved to
569 the repository settings structure.
@@ -640,35 +598,37 @@ Release tarballs are available at:
598 source: <xmqqv7nyzgp7.fsf@gitster.g>
599
600
643 -* ss/compat-bswap-revamp (2025-06-11) 6 commits
644 - - bswap.h: provide a built-in based version of bswap32/64 if possible
645 - - bswap.h: remove optimized x86 version of bswap32/64
646 - - bswap.h: always overwrite ntohl/ntohll macros
647 - - bswap.h: define GIT_LITTLE_ENDIAN on MSVC as little endian
648 - - bswap.h: add support for __BYTE_ORDER__
649 - - Merge branch 'ss/revert-builtin-bswap-stuff' into ss/compat-bswap-revamp
601 +* ss/compat-bswap-revamp (2025-07-15) 6 commits
602 + (merged to 'next' on 2025-07-16 at c8713eca28)
603 + + bswap.h: provide a built-in based version of bswap32/64 if possible
604 + + bswap.h: remove optimized x86 version of bswap32/64
605 + + bswap.h: always overwrite ntohl/ ntohll macros
606 + + bswap.h: define GIT_LITTLE_ENDIAN on msvc as little endian
607 + + bswap.h: add support for __BYTE_ORDER__
608 + + Merge branch 'ss/revert-builtin-bswap-stuff' into ss/compat-bswap-revamp
609
610 Clean-up compat/bswap.h mess.
611
653 - Stalled.
654 - cf. <xmqqo6tv1v1z.fsf@gitster.g>
655 - source: <20250611221444.1567638-1-sebastian@breakpoint.cc>
612 + Will merge to 'master'.
613 + cf. <aHbX4hIKbjO6h1R5@fruit.crustytoothpaste.net>
614 + source: <20250715191230.12081-1-sebastian@breakpoint.cc>
615
616
617 * ja/doc-git-log-markup (2025-07-07) 9 commits
659 - - doc: git-log: convert log config to new doc format
660 - - doc: git-log: convert diff options to new doc format
661 - - doc: git-log: convert pretty formats to new doc format
662 - - doc: git-log: convert pretty options to new doc format
663 - - doc: git-log: convert rev list options to new doc format
664 - - doc: git-log: convert line range format to new doc format
665 - - doc: git-log: convert line range options to new doc format
666 - - doc: git-log convert rev-list-description to new doc format
667 - - doc: convert git-log to new documentation format
618 + (merged to 'next' on 2025-07-14 at 8eb14e9306)
619 + + doc: git-log: convert log config to new doc format
620 + + doc: git-log: convert diff options to new doc format
621 + + doc: git-log: convert pretty formats to new doc format
622 + + doc: git-log: convert pretty options to new doc format
623 + + doc: git-log: convert rev list options to new doc format
624 + + doc: git-log: convert line range format to new doc format
625 + + doc: git-log: convert line range options to new doc format
626 + + doc: git-log convert rev-list-description to new doc format
627 + + doc: convert git-log to new documentation format
628
629 Doc mark-up updates.
630
671 - Will merge to 'next'.
631 + Will merge to 'master'.
632 source: <pull.1933.v3.git.1751914412.gitgitgadget@gmail.com>
633
634
@@ -692,19 +652,6 @@ Release tarballs are available at:
652 source: <20250605140644.239199-1-kuforiji98@gmail.com>
653
654
695 -* ly/load-bitmap-leakfix (2025-06-30) 3 commits
696 - (merged to 'next' on 2025-07-08 at 6e6d182a8c)
697 - + pack-bitmap: add load corrupt bitmap test
698 - + pack-bitmap: reword comments in test_bitmap_commits()
699 - + pack-bitmap: fix memory leak if load_bitmap() failed
700 -
701 - Leakfix with a new and a bit invasive test.
702 -
703 - Will merge to 'master'.
704 - cf. <aG2XZYamUv5FWq/W@nand.local>
705 - source: <pull.1962.v6.git.git.1751347929.gitgitgadget@gmail.com>
706 -
707 -
655 * tb/prepare-midx-pack-cleanup (2025-05-28) 5 commits
656 - midx: return a `packed_git` pointer from `prepare_midx_pack()`
657 - midx-write.c: extract inner loop from fill_packs_from_midx()
@@ -746,33 +693,6 @@ Release tarballs are available at:
693 source: <pull.1915.v3.git.1751128486.gitgitgadget@gmail.com>
694
695
749 -* ps/object-store (2025-07-01) 17 commits
750 - (merged to 'next' on 2025-07-07 at e19db55858)
751 - + odb: rename `read_object_with_reference()`
752 - + odb: rename `pretend_object_file()`
753 - + odb: rename `has_object()`
754 - + odb: rename `repo_read_object_file()`
755 - + odb: rename `oid_object_info()`
756 - + odb: trivial refactorings to get rid of `the_repository`
757 - + odb: get rid of `the_repository` when handling submodule sources
758 - + odb: get rid of `the_repository` when handling the primary source
759 - + odb: get rid of `the_repository` in `for_each()` functions
760 - + odb: get rid of `the_repository` when handling alternates
761 - + odb: get rid of `the_repository` in `odb_mkstemp()`
762 - + odb: get rid of `the_repository` in `assert_oid_type()`
763 - + odb: get rid of `the_repository` in `find_odb()`
764 - + odb: introduce parent pointers
765 - + object-store: rename files to "odb.{c,h}"
766 - + object-store: rename `object_directory` to `odb_source`
767 - + object-store: rename `raw_object_store` to `object_database`
768 - (this branch is used by ps/object-file-wo-the-repository and ps/object-store-midx.)
769 -
770 - Code clean-up around object access API.
771 -
772 - Will merge to 'master'.
773 - source: <20250701-pks-object-store-wo-the-repository-v6-0-dbf3894ab4e2@pks.im>
774 -
775 -
696 * cc/promisor-remote-capability (2025-06-25) 5 commits
697 - promisor-remote: use string constants for 'name' and 'url' too
698 - promisor-remote: allow a client to check fields
@@ -800,6 +720,7 @@ Release tarballs are available at:
720 + pack-objects: factor out handling '--stdin-packs'
721 + pack-objects: limit scope in 'add_object_entry_from_pack()'
722 + pack-objects: use standard option incompatibility functions
723 + (this branch is used by ps/object-store-midx.)
724
725 "pack-objects" has been taught to avoid pointing into objects in
726 cruft packs from midx.