What's cooking (2025/04 #01)

Junio C Hamano committed Apr 7, 2025 at 09:37 UTC b025e0933290aa57baed7487b23d6ffd20a93343
1 file changed +590 -411
whats-cooking.txt
+590 -411
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 -Subject: What's cooking in git.git (Mar 2025, #07; Wed, 26)
3 -X-master-at: 66b90d9bad8476f6f3d71f5add5cf78809a998ed
4 -X-next-at: 12c9017322054d91838b18540dea310d9448fd6e
2 +Subject: What's cooking in git.git (Apr 2025, #01; Mon, 7)
3 +X-master-at: 5b97a56fa0e7d580dc8865b73107407c9b3f0eff
4 +X-next-at: ff1f9ca942cece7b528239c099ac8bd8fcf768ce
5 Bcc: lwn@lwn.net, gitster@pobox.com
6
7 -What's cooking in git.git (Mar 2025, #07; Wed, 26)
7 +What's cooking in git.git (Apr 2025, #01; Mon, 7)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking in my tree. Commits
@@ -17,8 +17,13 @@ topic without enough support may be discarded after a long period of
17 no activity (of course they can be resubmit when new interests
18 arise).
19
20 -I am still officially on vacation, but 2.50 cycle has been started
21 -and the first batch of topics are now in 'master'.
20 +As you can see, a handful of topics are marked as "Need to pick up a
21 +newer iteration"; I am aware of these newer threads but haven't
22 +caught up with them. I'll probably spend more time on flushing what
23 +has been cooking already in my tree down to 'master', and then
24 +replace these topics with newer iteration before merging them to
25 +'next', before starting to pick up new topics that haven't hit my
26 +tree yet. Hopefully that would happen in a few days.
27
28 Copies of the source code to Git live in many repositories, and the
29 following is a list of the ones I push into or their mirrors. Some
@@ -51,88 +56,421 @@ Release tarballs are available at:
56 --------------------------------------------------
57 [Graduated to 'master']
58
54 -* en/merge-process-renames-crash-fix (2025-03-06) 2 commits
55 - (merged to 'next' on 2025-03-06 at 8f38331e32)
56 - + merge-ort: fix slightly overzealous assertion for rename-to-self
57 - + t6423: add a testcase causing a failed assertion in process_renames
59 +* ab/decorate-code-cleanup (2025-03-10) 1 commit
60 + (merged to 'next' on 2025-03-18 at 7ede1484eb)
61 + + decorate: fix sign comparison warnings
62
59 - The merge-recursive and merge-ort machinery crashed in corner cases
60 - when certain renames are involved.
61 -
62 - source: <pull.1873.git.1741275027.gitgitgadget@gmail.com>
63 + Code clean-up.
64 + source: <7c219279-8151-49c0-8fc0-8abe2624aca9@gmail.com>
65
66
65 -* ja/doc-block-delimiter-markup-fix (2025-03-10) 1 commit
66 - (merged to 'next' on 2025-03-11 at 8d6641a77e)
67 - + doc: add a blank line around block delimiters
67 +* am/dir-dedup-decl-of-repository (2025-03-11) 1 commit
68 + (merged to 'next' on 2025-03-18 at 9075454132)
69 + + dir.h: remove duplicate forward declaration of struct repository
70
69 - Doc markup updates.
70 -
71 - source: <pull.1878.git.1741549511665.gitgitgadget@gmail.com>
71 + Code cleanup.
72 + source: <pull.1879.git.1741705175922.gitgitgadget@gmail.com>
73
74
74 -* jt/diff-pairs (2025-03-03) 4 commits
75 - (merged to 'next' on 2025-03-03 at 32346e0c3b)
76 - + builtin/diff-pairs: allow explicit diff queue flush
77 - + builtin: introduce diff-pairs command
78 - + diff: add option to skip resolving diff statuses
79 - + diff: return diff_filepair from diff queue helpers
75 +* cc/signed-fast-export-import (2025-03-10) 6 commits
76 + (merged to 'next' on 2025-03-18 at d98973e2cb)
77 + + fast-export, fast-import: add support for signed-commits
78 + + fast-export: do not modify memory from get_commit_buffer
79 + + git-fast-export.adoc: clarify why 'verbatim' may not be a good idea
80 + + fast-export: rename --signed-tags='warn' to 'warn-verbatim'
81 + + fast-export: fix missing whitespace after switch
82 + + git-fast-import.adoc: add missing LF in the BNF
83
81 - A post-processing filter for "diff --raw" output has been
82 - introduced.
83 -
84 - source: <20250228213346.1335224-1-jltobler@gmail.com>
85 -
86 -
87 -* sj/ref-consistency-checks-more (2025-02-27) 9 commits
88 - (merged to 'next' on 2025-03-05 at 6bea9376c4)
89 - + builtin/fsck: add `git refs verify` child process
90 - + packed-backend: check whether the "packed-refs" is sorted
91 - + packed-backend: add "packed-refs" entry consistency check
92 - + packed-backend: check whether the refname contains NUL characters
93 - + packed-backend: add "packed-refs" header consistency check
94 - + packed-backend: check if header starts with "# pack-refs with: "
95 - + packed-backend: check whether the "packed-refs" is regular file
96 - + builtin/refs: get worktrees without reading head information
97 - + t0602: use subshell to ensure working directory unchanged
98 -
99 - "git fsck" becomes more careful when checking the refs.
100 -
101 - source: <Z8CMx7O19PMs9sVY@ArchLinux>
84 + "git fast-export | git fast-import" learns to deal with commit and
85 + tag objects with embedded signatures a bit better.
86 + cf. <CABPp-BGyA8iBA0BFO8FcpZAMca94aVu2vHHRi4Oz=nCWxJSDPg@mail.gmail.com>
87 + source: <20250310155746.879481-1-christian.couder@gmail.com>
88
89
104 -* tb/refs-exclude-fixes (2025-03-06) 2 commits
105 - (merged to 'next' on 2025-03-06 at 50707f29db)
106 - + refs.c: stop matching non-directory prefixes in exclude patterns
107 - + refs.c: remove empty '--exclude' patterns
90 +* en/diff-rename-follow-fix (2025-03-14) 1 commit
91 + (merged to 'next' on 2025-03-18 at 56808a7eda)
92 + + diffcore-rename: fix BUG when break detection and --follow used together
93
109 - The refname exclusion logic in the packed-ref backend has been
110 - broken for some time, which confused upload-pack to advertise
111 - different set of refs. This has been corrected.
112 -
113 - source: <cover.1741275245.git.me@ttaylorr.com>
114 -
115 -
116 -* ua/some-builtins-wo-the-repository (2025-03-07) 8 commits
117 - (merged to 'next' on 2025-03-07 at 01f2b84529)
118 - + builtin/checkout-index: stop using `the_repository`
119 - + builtin/for-each-ref: stop using `the_repository`
120 - + builtin/ls-files: stop using `the_repository`
121 - + builtin/pack-refs: stop using `the_repository`
122 - + builtin/send-pack: stop using `the_repository`
123 - + builtin/verify-commit: stop using `the_repository`
124 - + builtin/verify-tag: stop using `the_repository`
125 - + config: teach repo_config to allow `repo` to be NULL
126 -
127 - A handful of built-in command implementations have been rewritten
128 - to use the repository instance supplied by git.c:run_builtin(), its
129 - caller.
130 -
131 - source: <20250307233543.1721552-1-usmanakinyemi202@gmail.com>
94 + A corner-case bug in "git log --follow -B" has been fixed.
95 + source: <pull.1876.v2.git.1742000894041.gitgitgadget@gmail.com>
96 +
97 +
98 +* en/merge-ort-prepare-to-remove-recursive (2025-03-18) 6 commits
99 + (merged to 'next' on 2025-03-18 at a911944a1c)
100 + + am: switch from merge_recursive_generic() to merge_ort_generic()
101 + + merge-ort: fix merge.directoryRenames=false
102 + + t3650: document bug when directory renames are turned off
103 + + merge-ort: support having merge verbosity be set to 0
104 + + merge-ort: allow rename detection to be disabled
105 + + merge-ort: add new merge_ort_generic() function
106 +
107 + First step of deprecating and removing merge-recursive.
108 + source: <pull.1875.v2.git.1741834001.gitgitgadget@gmail.com>
109 +
110 +
111 +* en/random-cleanups (2025-03-17) 5 commits
112 + (merged to 'next' on 2025-03-18 at 87acd24a85)
113 + + merge-ort: remove extraneous word in comment
114 + + merge-ort: fix accidental strset<->strintmap
115 + + t7615: be more explicit about diff algorithm used
116 + + t6423: fix a comment that accidentally reversed two commits
117 + + stash: remove merge-recursive.h include
118 +
119 + Miscellaneous code clean-ups.
120 + source: <pull.1882.git.1742108339.gitgitgadget@gmail.com>
121 +
122 +
123 +* es/meson-building-docs-requires-perl (2025-03-17) 1 commit
124 + (merged to 'next' on 2025-03-18 at 1c1d88dcb7)
125 + + meson: fix perl detection when docs are enabled, but perl bindings aren't
126 +
127 + Build update.
128 + source: <20250316060605.166364-1-eschwartz@gentoo.org>
129 +
130 +
131 +* hj/doc-rev-list-ancestry-fix (2025-03-18) 1 commit
132 + (merged to 'next' on 2025-03-18 at e94155a9ec)
133 + + doc: add missing commit C to the graph for --ancestry-path=H D..M
134 +
135 + Doc update.
136 + source: <pull.1883.git.1742089659610.gitgitgadget@gmail.com>
137 +
138 +
139 +* jk/fetch-ref-prefix-cleanup (2025-03-10) 9 commits
140 + (merged to 'next' on 2025-03-18 at ab3e5cf19f)
141 + + fetch: use ref prefix list to skip ls-refs
142 + + fetch: avoid ls-refs only to ask for HEAD symref update
143 + + fetch: stop protecting additions to ref-prefix list
144 + + fetch: ask server to advertise HEAD for config-less fetch
145 + + refspec_ref_prefixes(): clean up refspec_item logic
146 + + t5516: beef up exact-oid ref prefixes test
147 + + t5516: drop NEEDSWORK about v2 reachability behavior
148 + + t5516: prefer "oid" to "sha1" in some test titles
149 + + t5702: fix typo in test name
150 + (this branch is used by jk/fetch-follow-remote-head-fix and tb/refspec-fetch-cleanup.)
151 +
152 + In protocol v2 where the refs advertisement is constrained, we try
153 + to tell the server side not to limit the advertisement when there
154 + is no specific need to, which has been the source of confusion and
155 + recent bugs. Revamp the logic to simplify.
156 + source: <20250309030101.GA2334064@coredump.intra.peff.net>
157 +
158 +
159 +* jk/use-wunreachable-code-for-devs (2025-03-17) 3 commits
160 + (merged to 'next' on 2025-03-18 at fe32168eef)
161 + + config.mak.dev: enable -Wunreachable-code
162 + + git-compat-util: add NOT_CONSTANT macro and use it in atfork_prepare()
163 + + run-command: use errno to check for sigfillset() error
164 +
165 + Enable -Wunreachable-code for developer builds.
166 + source: <20250317235329.809302-1-gitster@pobox.com>
167 +
168 +
169 +* ps/meson-with-breaking-changes (2025-03-12) 3 commits
170 + (merged to 'next' on 2025-03-18 at 15b1c62eff)
171 + + meson: don't install git-pack-redundant(1) docs with breaking changes
172 + + meson: don't compile git-pack-redundant(1) with breaking changes
173 + + meson: define WITH_BREAKING_CHANGES when enabling breaking changes
174 +
175 + Update meson based build procedure for breaking changes support.
176 + source: <20250312-b4-pks-meson-breaking-changes-v1-0-b89e9a59d228@pks.im>
177 +
178 +
179 +* ps/refname-avail-check-optim (2025-03-12) 16 commits
180 + (merged to 'next' on 2025-03-18 at 726197f7e0)
181 + + refs: reuse iterators when determining refname availability
182 + + refs/iterator: implement seeking for files iterators
183 + + refs/iterator: implement seeking for packed-ref iterators
184 + + refs/iterator: implement seeking for ref-cache iterators
185 + + refs/iterator: implement seeking for reftable iterators
186 + + refs/iterator: implement seeking for merged iterators
187 + + refs/iterator: provide infrastructure to re-seek iterators
188 + + refs/iterator: separate lifecycle from iteration
189 + + refs: stop re-verifying common prefixes for availability
190 + + refs/files: batch refname availability checks for initial transactions
191 + + refs/files: batch refname availability checks for normal transactions
192 + + refs/reftable: batch refname availability checks
193 + + refs: introduce function to batch refname availability checks
194 + + builtin/update-ref: skip ambiguity checks when parsing object IDs
195 + + object-name: allow skipping ambiguity checks in `get_oid()` family
196 + + object-name: introduce `repo_get_oid_with_flags()`
197 + (this branch is used by kn/non-transactional-batch-updates.)
198 +
199 + The code paths to check whether a refname X is available (by seeing
200 + if another ref X/Y exists, etc.) have been optimized.
201 + source: <20250312-pks-update-ref-optimization-v6-0-f778e0414f55@pks.im>
202 +
203 +
204 +* rs/xdiff-context-length-fix (2025-03-14) 1 commit
205 + (merged to 'next' on 2025-03-18 at aca4b320d2)
206 + + xdiff: avoid arithmetic overflow in xdl_get_hunk()
207 +
208 + The xdiff code on 32-bit platform misbehaved when an insanely large
209 + context size is given, which has been corrected.
210 + source: <4e9b6b4c-aaa1-4c6f-93f4-7bb04607e843@web.de>
211 +
212 +
213 +* tb/multi-cruft-pack-refresh-fix (2025-03-13) 1 commit
214 + (merged to 'next' on 2025-03-18 at e3f090e427)
215 + + builtin/pack-objects.c: freshen objects from existing cruft packs
216 + (this branch is used by tb/combine-cruft-below-size.)
217 +
218 + Certain "cruft" objects would have never been refreshed when there
219 + are multiple cruft packs in the repository, which has been
220 + corrected.
221 + source: <1563552bbda0bc910c9f41b0fabc3225c4d778fc.1741889018.git.me@ttaylorr.com>
222
223 --------------------------------------------------
224 [New Topics]
225
226 +* js/range-check-codeql-workaround (2025-03-28) 1 commit
227 + - read-cache: check range before dereferencing an array element
228 +
229 + Work around false positive from CodeQL checker.
230 +
231 + Will merge to 'next'?
232 + source: <73cae30129338cf219a810c3a2a78ef48d5637d0.1743073557.git.gitgitgadget@gmail.com>
233 +
234 +
235 +* jt/help-sha-backend-info-in-build-options (2025-03-28) 2 commits
236 + - help: include unsafe SHA-1 build info in version
237 + - help: include SHA implementation in version info
238 +
239 + "git help --build-options" reports SHA-1 and SHA-256 backends used
240 + in the build.
241 +
242 + Need to pick up a newer iteration.
243 + cf. <20250403140529.497876-1-jltobler@gmail.com>
244 + source: <20250328170121.157563-1-jltobler@gmail.com>
245 +
246 +
247 +* pb/perf-test-fixes (2025-03-28) 2 commits
248 + - p9210: fix 'scalar clone' when running from a detached HEAD
249 + - p7821: fix test_perf invocation for prereqs
250 +
251 + "make perf" fixes.
252 +
253 + Will merge to 'next'?
254 + cf. <Z-pD1puYT87YKAd4@pks.im>
255 + source: <pull.1936.git.git.1743181669.gitgitgadget@gmail.com>
256 +
257 +
258 +* pb/status-rebase-fixes (2025-03-28) 4 commits
259 + - wt-status: suggest 'git rebase --continue' to conclude 'merge' instruction
260 + - wt-status: also abbreviate 'merge' and 'fixup -C' lines during rebase
261 + - SQUASH??? - <CAPig+cS92W_gYuNsaTvQxiP3xBK7Wpg0__uVkgAU1x0OFJUZgQ@mail.gmail.com>
262 + - rebase -r: do create merge commit after empty resolution
263 +
264 + A few fixes around "git status" while "git rebase" is running.
265 +
266 + Comments? It probably deserves a clarifying reroll.
267 + cf. <c2f93d99-2f4d-ee6d-7087-42320c6df0f2@gmx.de>
268 + source: <pull.1897.git.1743181401.gitgitgadget@gmail.com>
269 +
270 +
271 +* ps/cat-file-filter-batch (2025-03-28) 11 commits
272 + - builtin/cat-file: use bitmaps to efficiently filter by object type
273 + - builtin/cat-file: deduplicate logic to iterate over all objects
274 + - pack-bitmap: introduce function to check whether a pack is bitmapped
275 + - pack-bitmap: add function to iterate over filtered bitmapped objects
276 + - pack-bitmap: allow passing payloads to `show_reachable_fn()`
277 + - builtin/cat-file: support "object:type=" objects filter
278 + - builtin/cat-file: support "blob:limit=" objects filter
279 + - builtin/cat-file: support "blob:none" objects filter
280 + - builtin/cat-file: wire up an option to filter objects
281 + - builtin/cat-file: rename variable that tracks usage
282 + - Merge branch 'tb/incremental-midx-part-2' into ps/cat-file-filter-batch
283 + (this branch uses tb/incremental-midx-part-2.)
284 +
285 + "git cat-file --batch" and friends learned to allow "--filter=" to
286 + omit certain objects, just like the transport layer does.
287 +
288 + Need to pick up a newer iteration.
289 + cf. <20250402-pks-cat-file-object-type-filter-v3-0-4da6bb21871c@pks.im>
290 + source: <20250327-pks-cat-file-object-type-filter-v2-0-4bbc7085d7c5@pks.im>
291 +
292 +
293 +* ps/misc-build-fixes (2025-04-01) 5 commits
294 + - ci: use Visual Studio for win+meson job on GitHub Workflows
295 + - meson: distinguish build and target host binaries
296 + - meson: respect 'tests' build option in contrib
297 + - gitweb: fix generation of "gitweb.js"
298 + - meson: fix handling of '-Dcurl=auto'
299 +
300 + Random build fixes.
301 +
302 + Will merge to 'next'?
303 + cf. <CAOLa=ZQ8bTn-prAs2ycLdLLjVaLQL4GtLw_gFsvAcx_6j=MBjA@mail.gmail.com>
304 + source: <20250331-b4-pks-collect-build-fixes-v2-0-6b06136808f3@pks.im>
305 +
306 +
307 +* ps/test-wo-perl-prereq (2025-03-28) 20 commits
308 + - t5703: refactor test to not depend on Perl
309 + - t5316: refactor `max_chain()` to not depend on Perl
310 + - t0210: refactor trace2 scrubbing to not use Perl
311 + - t0021: refactor `generate_random_characters()` to not depend on Perl
312 + - t/lib-httpd: refactor "one-time-perl" CGI script to not depend on Perl
313 + - t/lib-t6000: refactor `name_from_description()` to not depend on Perl
314 + - t/lib-gpg: refactor `sanitize_pgp()` to not depend on Perl
315 + - t: refactor tests depending on Perl for textconv scripts
316 + - t: refactor tests depending on Perl to print data
317 + - t: refactor tests depending on Perl substitution operator
318 + - t: refactor tests depending on Perl transliteration operator
319 + - Makefile: stop requiring Perl when running tests
320 + - meson: stop requiring Perl when tests are enabled
321 + - t: adapt existing PERL prerequisites
322 + - t: introduce PERL_TEST_HELPERS prerequisite
323 + - t: adapt `test_readlink()` to not use Perl
324 + - t: adapt `test_copy_bytes()` to not use Perl
325 + - t: adapt character translation helpers to not use Perl
326 + - t: refactor environment sanitization to not use Perl
327 + - t: skip chain lint when PERL_PATH is unset
328 +
329 + "make test" used to have a hard dependency on (basic) Perl; tests
330 + have been rewritten help environment with NO_PERL test the build as
331 + much as possible.
332 +
333 + Need to pick up a newer iteration.
334 + cf. <20250327-b4-pks-t-perlless-v3-0-b436de9da1b8@pks.im>
335 + source: <20250327-b4-pks-t-perlless-v3-0-b436de9da1b8@pks.im>
336 +
337 +
338 +* pw/custom-conflict-marker-size-for-merge-related-docs (2025-03-29) 1 commit
339 + - merge-file doc: set conflict-marker-size attribute
340 +
341 + "git-merge-file" documentation source, which has lines that look
342 + like conflict markers, lacked custom conflict marker size defined,
343 + which has been corrected..
344 +
345 + Will merge to 'next'.
346 + source: <pull.1895.git.1743173140253.gitgitgadget@gmail.com>
347 +
348 +
349 +* ab/rm-sign-compare (2025-03-29) 1 commit
350 + - rm: fix sign comparison warnings
351 +
352 + Some warnings from "-Wsign-compare" for builtin/rm.c have been
353 + squelched.
354 +
355 + Will merge to 'next'.
356 + source: <ecaaa968-f337-466b-b719-22ebb3587167@gmail.com>
357 +
358 +
359 +* kn/blame-porcelain-unblamable (2025-03-29) 1 commit
360 + - blame: print unblamable and ignored commits in porcelain mode
361 +
362 + "git blame --porcelain" mode now talks about unblamable lines and
363 + lines that are blamed to an ignored commit.
364 +
365 + Need to pick up a newer iteration.
366 + cf. <20250403160326.120124-1-karthik.188@gmail.com>
367 + source: <20250329-514-git-blame-1-s-porcelain-output-does-not-emit-unblamable-and-ignored-markers-v3-1-10f695ae519a@gmail.com>
368 +
369 +
370 +* ua/update-update-server-info (2025-03-29) 1 commit
371 + - builtin/update-server-info: remove unnecessary if statement
372 +
373 + Expecting a (hopefully minor and final) reroll.
374 + cf. <xmqqa58snf9c.fsf@gitster.g>
375 + source: <20250329120327.105925-2-usmanakinyemi202@gmail.com>
376 +
377 +
378 +* ab/pathspec-sign-compare-workaround (2025-04-01) 1 commit
379 + - pathspec: fix sign comparison warnings
380 +
381 + Some warnings from "-Wsign-compare" for pathspec.c have been
382 + squelched.
383 +
384 + Will merge to 'next'?
385 + source: <127c3010-4b23-436e-a07d-e6031e746113@gmail.com>
386 +
387 +
388 +* bc/allow-upload-pack-from-other-people (2025-04-01) 1 commit
389 + - t5605: fix test for cloning from a different user
390 +
391 + Test fix for an already graduated topic.
392 +
393 + Will merge to 'next'.
394 + source: <Z-sO9gcWAi_xh0tI@tapette.crustytoothpaste.net>
395 +
396 +
397 +* en/merge-recursive-debug (2025-04-01) 8 commits
398 + - builtin/{merge,rebase,revert}: remove GIT_TEST_MERGE_ALGORITHM
399 + - tests: remove GIT_TEST_MERGE_ALGORITHM and test_expect_merge_algorithm
400 + - merge-recursive.[ch]: thoroughly debug these
401 + - merge, sequencer: switch recursive merges over to ort
402 + - sequencer: switch non-recursive merges over to ort
403 + - merge-ort: enable diff-algorithms other than histogram
404 + - builtin/merge-recursive: switch to using merge_ort_generic()
405 + - checkout: replace merge_trees() with merge_ort_nonrecursive()
406 +
407 + Need to pick up a newer iteration.
408 + cf. <pull.1898.v2.git.1743891374.gitgitgadget@gmail.com>
409 + source: <pull.1898.git.1743436279.gitgitgadget@gmail.com>
410 +
411 +
412 +* ja/doc-reset-mv-rm-markup-updates (2025-04-01) 5 commits
413 + - doc: convert git-mv to new documentation format
414 + - doc: move synopsis git-mv commands in the synopsis section
415 + - doc: convert git-rm to new documentation format
416 + - doc: fix synopsis analysis logic
417 + - doc: convert git-reset to new documentation format
418 +
419 +
420 + Expecting a reroll.
421 + cf. <CAN0heSodC8_Uwg_Lw31rtkdLfOEDyGg=iE0gb1TRrUWQEynT+w@mail.gmail.com>
422 + cf. <dfe21538-e70c-4d19-a90f-2c3cf8d3d377@free.fr>
423 + source: <pull.1896.git.1743354964.gitgitgadget@gmail.com>
424 +
425 +
426 +* md/userdiff-bash-shell-function (2025-04-01) 1 commit
427 + - userdiff: extend Bash pattern to cover more shell function forms
428 +
429 + The userdiff pattern for shell scripts has been updated to cope
430 + with more bash-isms.
431 +
432 + Comments?
433 + source: <20250330134018.9662-2-dhar61595@gmail.com>
434 +
435 +
436 +* mh/left-right-limited (2025-04-01) 1 commit
437 + - revision: fix --left/right-only use with unrelated histories
438 +
439 + "git log --{left,right}-only A...B", when A and B does not share
440 + any common ancestor, now behaves as expected.
441 +
442 + Will merge to 'next'?
443 + source: <20250330112850.2477673-1-m@lfurio.us>
444 +
445 +
446 +* ps/reftable-api-revamp (2025-04-01) 18 commits
447 + - reftable/table: move printing logic into test helper
448 + - reftable/constants: make block types part of the public interface
449 + - SQUASH???
450 + - reftable/table: introduce iterator for table blocks
451 + - reftable/table: add `reftable_table` to the public interface
452 + - reftable/block: expose a generic iterator over reftable records
453 + - reftable/block: make block iterators reseekable
454 + - reftable/block: store block pointer in the block iterator
455 + - reftable/block: create public interface for reading blocks
456 + - git-zlib: use `struct z_stream_s` instead of typedef
457 + - reftable/block: rename `block_reader` to `reftable_block`
458 + - reftable/block: rename `block` to `block_data`
459 + - reftable/table: move reading block into block reader
460 + - reftable/block: simplify how we track restart points
461 + - reftable/blocksource: consolidate code into a single file
462 + - reftable/reader: rename data structure to "table"
463 + - reftable: fix formatting of the license header
464 + - Merge branch 'ps/reftable-sans-compat-util' into ps/reftable-api-revamp
465 + (this branch uses ps/reftable-sans-compat-util.)
466 +
467 + Need to pick up a newer iteration.
468 + cf. <20250407-pks-reftable-polishing-v2-0-316c4ff10571@pks.im>
469 + source: <20250331-pks-reftable-polishing-v1-0-ebed5247434c@pks.im>
470 +
471 +--------------------------------------------------
472 +[Cooking]
473 +
474 * ds/maintenance-loose-objects-batchsize (2025-03-23) 2 commits
475 - maintenance: add loose-objects.batchSize config
476 - maintenance: force progress/no-quiet to children
@@ -140,21 +478,10 @@ Release tarballs are available at:
478 The job to coalesce loose objects into packfiles in "git
479 maintenance" now has configurable batch size.
480
143 - Will merge to 'next'?
481 + Will merge to 'next'.
482 source: <pull.1885.git.1742777512.gitgitgadget@gmail.com>
483
484
147 -* js/libgit-cargo-package (2025-03-22) 5 commits
148 - . libgit-{sys,rs}: add license and description fields
149 - . libgit-sys: exclude unnecessary directories in git-src
150 - . libgit-sys: parallelize build with Cargo's jobserver
151 - . libgit-sys: add symlink to git repo root and build out of tree
152 - . libgitpub: move to separate contrib/ directory
153 -
154 - Breaks Windows CI job with "../.." symbolic link in the source.
155 - source: <cover.1742594960.git.steadmon@google.com>
156 -
157 -
485 * jt/clone-guess-remote-head-fix (2025-03-25) 3 commits
486 - advice: allow disabling default branch name advice
487 - builtin/clone: suppress unexpected default branch advice
@@ -163,69 +490,78 @@ Release tarballs are available at:
490 "git clone" still gave the message about the default branch name;
491 this message has been turned into an advice message that can be
492 turned off.
493 +
494 + Will merge to 'next'.
495 + cf. <69ccc682-3f81-440f-8e96-a5af5d49fa60@gmail.com>
496 source: <20250325005148.1771502-1-jltobler@gmail.com>
497
498
169 -* lo/userdiff-gitconfig (2025-03-23) 1 commit
170 - - userdiff: add builtin driver for gitconfig syntax
499 +* lo/userdiff-gitconfig (2025-04-01) 1 commit
500 + - userdiff: add builtin driver for INI files
501
172 - Expecting a reroll?
173 - source: <20250324021101.7483-1-lucasseikioshiro@gmail.com>
502 + Will merge to 'next'.
503 + cf. <Z-pGdyh0eG3xSe4W@pks.im>
504 + source: <20250331031309.94682-1-lucasseikioshiro@gmail.com>
505
506
507 * rs/clear-commit-marks-simplify (2025-03-24) 1 commit
177 - - commit: move clear_commit_marks_many() loop body to clear_commit_marks()
508 + (merged to 'next' on 2025-03-29 at 222799fc4e)
509 + + commit: move clear_commit_marks_many() loop body to clear_commit_marks()
510
511 Code clean-up.
512
181 - Will merge to 'next'.
513 + Will merge to 'master'.
514 source: <80bfd7a9-904c-49d8-a367-ca268c096a9f@web.de>
515
516
517 * ta/bulk-checkin-signed-compare-false-warning-fix (2025-03-25) 1 commit
186 - - bulk-checkin: fix sign compare warnings
518 + (merged to 'next' on 2025-03-29 at 6f33c692ce)
519 + + bulk-checkin: fix sign compare warnings
520
521 Compiler warnings workaround.
522
190 - Will merge to 'next'.
523 + Will merge to 'master'.
524 source: <20250324214703.7547-1-taahol@utu.fi>
525
526
527 * dk/vimdiff-doc-fix (2025-03-25) 1 commit
195 - - vimdiff: clarify the sigil used for marking the buffer to save
528 + (merged to 'next' on 2025-03-29 at d0c7a36752)
529 + + vimdiff: clarify the sigil used for marking the buffer to save
530
531 Doc update.
532
199 - Will merge to 'next'.
533 + Will merge to 'master'.
534 source: <20250324205327.79627-1-ben.knoble+github@gmail.com>
535
536
537 * es/meson-build-skip-coccinelle (2025-03-25) 1 commit
204 - - meson: disable coccinelle configuration when building from a tarball
538 + (merged to 'next' on 2025-03-29 at 748d830ce7)
539 + + meson: disable coccinelle configuration when building from a tarball
540
541 Build fix.
542
208 - Will merge to 'next'.
543 + Will merge to 'master'.
544 source: <20250325200920.198057-1-eschwartz@gentoo.org>
545
546
547 * fr/vimdiff-layout-fixes (2025-03-25) 2 commits
213 - - mergetools: vimdiff: add tests for layout with REMOTE as the target
214 - - mergetools: vimdiff: fix layout where REMOTE is the target
548 + (merged to 'next' on 2025-03-29 at 367b2105c0)
549 + + mergetools: vimdiff: add tests for layout with REMOTE as the target
550 + + mergetools: vimdiff: fix layout where REMOTE is the target
551
552 Layout configuration in vimdiff backend didn't work as advertised,
553 which has been corrected.
554
219 - Will merge to 'next'.
555 + Will merge to 'master'.
556 source: <20250325222311.400748-1-greenfoo@u92.eu>
557
558
223 -* js/comma-semicolon-confusion (2025-03-25) 10 commits
559 +* js/comma-semicolon-confusion (2025-03-28) 10 commits
560 - detect-compiler: detect clang even if it found CUDA
561 - clang: warn when the comma operator is used
562 - compat/regex: explicitly mark intentional use of the comma operator
227 - - wildmatch: explicitly mark intentional use of the comma operator
228 - - diff-delta: explicitly mark intentional use of the comma operator
563 + - wildmatch: avoid using of the comma operator
564 + - diff-delta: avoid using the comma operator
565 - xdiff: avoid using the comma operator unnecessarily
566 - clar: avoid using the comma operator unnecessarily
567 - kwset: avoid using the comma operator unnecessarily
@@ -234,8 +570,8 @@ Release tarballs are available at:
570
571 Code clean-up.
572
237 - Will merge to 'next'?
238 - source: <pull.1889.v2.git.1742945534.gitgitgadget@gmail.com>
573 + Will merge to 'next'.
574 + source: <pull.1889.v3.git.1743076383.gitgitgadget@gmail.com>
575
576
577 * js/imap-send-peer-cert-verify (2025-03-25) 1 commit
@@ -256,19 +592,18 @@ Release tarballs are available at:
592 Will merge to 'master'.
593 source: <pull.1893.git.1742899110.gitgitgadget@gmail.com>
594
259 ---------------------------------------------------
260 -[Cooking]
595
596 * en/assert-wo-side-effects (2025-03-21) 3 commits
263 - - treewide: replace assert() with ASSERT() in special cases
264 - - ci: add build checking for side-effects in assert() calls
265 - - git-compat-util: introduce ASSERT() macro
597 + (merged to 'next' on 2025-03-29 at de89bb3075)
598 + + treewide: replace assert() with ASSERT() in special cases
599 + + ci: add build checking for side-effects in assert() calls
600 + + git-compat-util: introduce ASSERT() macro
601
602 Ensure what we write in assert() does not have side effects,
603 and introduce ASSERT() macro to mark those that cannot be
604 mechanically checked for lack of side effects.
605
271 - Will merge to 'next'.
606 + Will merge to 'master'.
607 source: <pull.1881.v3.git.1742401378.gitgitgadget@gmail.com>
608
609
@@ -277,7 +612,8 @@ Release tarballs are available at:
612
613 A ref transaction corner case fix.
614
280 - Will merge to 'next'?
615 + Will merge to 'next'.
616 + cf. <Z-E2ns9VziejSLB2@pks.im>
617 source: <20250321004437.505461-1-jltobler@gmail.com>
618
619
@@ -294,14 +630,15 @@ Release tarballs are available at:
630
631
632 * ms/reftable-block-writer-errors (2025-03-21) 3 commits
297 - - reftable: adapt write_object_record() to propagate block_writer_add() errors
298 - - reftable: adapt writer_add_record() to propagate block_writer_add() errors
299 - - reftable: propagate specific error codes in block_writer_add()
633 + (merged to 'next' on 2025-03-29 at 67fdddb622)
634 + + reftable: adapt write_object_record() to propagate block_writer_add() errors
635 + + reftable: adapt writer_add_record() to propagate block_writer_add() errors
636 + + reftable: propagate specific error codes in block_writer_add()
637
638 Give more meaningful error return values from block writer layer of
639 the reftable ref-API backend.
640
304 - Will merge to 'next'.
641 + Will merge to 'master'.
642 cf. <Z9rnZzbEasyRbHIY@pks.im>
643 source: <20250319152927.1263033-1-meetsoni3017@gmail.com>
644
@@ -317,88 +654,56 @@ Release tarballs are available at:
654
655
656 * tb/http-curl-keepalive (2025-03-21) 4 commits
320 - - http.c: allow custom TCP keepalive behavior via config
321 - - http.c: inline `set_curl_keepalive()`
322 - - http.c: introduce `set_long_from_env()` for convenience
323 - - http.c: remove unnecessary casts to long
657 + (merged to 'next' on 2025-03-29 at 4782cca658)
658 + + http.c: allow custom TCP keepalive behavior via config
659 + + http.c: inline `set_curl_keepalive()`
660 + + http.c: introduce `set_long_from_env()` for convenience
661 + + http.c: remove unnecessary casts to long
662
663 TCP keepalive behaviour on http transports can now be configured by
664 calling cURL library.
665
328 - Will merge to 'next'.
666 + Will merge to 'master'.
667 cf. <CABPp-BEn+NfGu1c=ZWjwnFBJgmsxRVSq+Roin-KDQGqKPdDhCg@mail.gmail.com>
668 source: <cover.1742423021.git.me@ttaylorr.com>
669
670
671 * tb/refspec-fetch-cleanup (2025-03-21) 5 commits
334 - - refspec: replace `refspec_item_init()` with fetch/push variants
335 - - refspec: remove refspec_item_init_or_die()
336 - - refspec: replace `refspec_init()` with fetch/push variants
337 - - refspec: treat 'fetch' as a Boolean value
338 - - Merge branch 'jk/fetch-ref-prefix-cleanup' into tb/refspec-fetch-cleanup
339 - (this branch uses jk/fetch-ref-prefix-cleanup.)
672 + (merged to 'next' on 2025-03-29 at 6cf1359bf4)
673 + + refspec: replace `refspec_item_init()` with fetch/push variants
674 + + refspec: remove refspec_item_init_or_die()
675 + + refspec: replace `refspec_init()` with fetch/push variants
676 + + refspec: treat 'fetch' as a Boolean value
677 + + Merge branch 'jk/fetch-ref-prefix-cleanup' into tb/refspec-fetch-cleanup
678
679 Code clean-up.
680
343 - Will merge to 'next'.
681 + Will merge to 'master'.
682 cf. <CABPp-BE6JmiXB+pUL1Z4ewVDbG2RBxCdA2m5-WTYtoKMTtu_Xw@mail.gmail.com>
683 source: <cover.1742338207.git.me@ttaylorr.com>
684
685
348 -* zy/send-email-error-handling (2025-03-25) 2 commits
349 - - send-email: finer-grained SMTP error handling
350 - - send-email: capture errors in an eval {} block
351 -
352 - Auth-related (and unrelated) error handling in send-email has been
353 - made more robust.
354 -
355 - Getting there.
356 - source: <20250324145332.571813-1-05ZYT30@gmail.com>
357 -
358 -
359 -* aj/doc-restore-p-update (2025-03-18) 1 commit
360 - (merged to 'next' on 2025-03-24 at bdcfdc7f4e)
361 - + doc: restore: remove note on --patch w/ pathspecs
362 -
363 - Stale description in "git restore -p" documentation has been
364 - updated.
365 -
366 - Will merge to 'master'.
367 - source: <pull.1504.v2.git.git.1685654097812.gitgitgadget@gmail.com>
368 -
369 -
370 -* en/random-cleanups (2025-03-17) 5 commits
371 - (merged to 'next' on 2025-03-18 at 87acd24a85)
372 - + merge-ort: remove extraneous word in comment
373 - + merge-ort: fix accidental strset<->strintmap
374 - + t7615: be more explicit about diff algorithm used
375 - + t6423: fix a comment that accidentally reversed two commits
376 - + stash: remove merge-recursive.h include
377 -
378 - Miscellaneous code clean-ups.
379 -
380 - Will merge to 'master'.
381 - source: <pull.1882.git.1742108339.gitgitgadget@gmail.com>
382 -
383 -
384 -* es/meson-building-docs-requires-perl (2025-03-17) 1 commit
385 - (merged to 'next' on 2025-03-18 at 1c1d88dcb7)
386 - + meson: fix perl detection when docs are enabled, but perl bindings aren't
686 +* zy/send-email-error-handling (2025-03-25) 2 commits
687 + - send-email: finer-grained SMTP error handling
688 + - send-email: capture errors in an eval {} block
689
388 - Build update.
690 + Auth-related (and unrelated) error handling in send-email has been
691 + made more robust.
692
390 - Will merge to 'master'.
391 - source: <20250316060605.166364-1-eschwartz@gentoo.org>
693 + Need to pick up a newer iteration.
694 + cf. <20250326075246.2612627-1-05ZYT30@gmail.com>
695 + source: <20250324145332.571813-1-05ZYT30@gmail.com>
696
697
394 -* hj/doc-rev-list-ancestry-fix (2025-03-18) 1 commit
395 - (merged to 'next' on 2025-03-18 at e94155a9ec)
396 - + doc: add missing commit C to the graph for --ancestry-path=H D..M
698 +* aj/doc-restore-p-update (2025-03-18) 1 commit
699 + (merged to 'next' on 2025-03-24 at bdcfdc7f4e)
700 + + doc: restore: remove note on --patch w/ pathspecs
701
398 - Doc update.
702 + Stale description in "git restore -p" documentation has been
703 + updated.
704
705 Will merge to 'master'.
401 - source: <pull.1883.git.1742089659610.gitgitgadget@gmail.com>
706 + source: <pull.1504.v2.git.git.1685654097812.gitgitgadget@gmail.com>
707
708
709 * ja/doc-branch-markup (2025-03-20) 2 commits
@@ -418,31 +723,11 @@ Release tarballs are available at:
723
724 Fix lockfile contention in reftable code on Windows.
725
421 - Comments?
726 + Will merge to 'next'.
727 + cf. <801fac5d-dd98-d157-6ff3-c3e8aa6a68ae@gmx.de>
728 source: <20250320-b4-pks-mingw-lockfile-flake-v2-0-a84c90cfc6c2@pks.im>
729
730
425 -* rs/xdiff-context-length-fix (2025-03-14) 1 commit
426 - (merged to 'next' on 2025-03-18 at aca4b320d2)
427 - + xdiff: avoid arithmetic overflow in xdl_get_hunk()
428 -
429 - The xdiff code on 32-bit platform misbehaved when an insanely large
430 - context size is given, which has been corrected.
431 -
432 - Will merge to 'master'.
433 - source: <4e9b6b4c-aaa1-4c6f-93f4-7bb04607e843@web.de>
434 -
435 -
436 -* sj/meson-test-environ-fix (2025-03-14) 1 commit
437 - - meson: use test_environment conditionally.
438 -
439 - meson-based build procedure was overly aggressive in using test
440 - environment in two contrib/ directories, which was corrected.
441 -
442 - Needs review.
443 - source: <3d127f293818f935efdb9ca7bb556e6a8f233ef7.1741975557.git.sam@gentoo.org>
444 -
445 -
731 * tb/combine-cruft-below-size (2025-03-21) 6 commits
732 (merged to 'next' on 2025-03-24 at 699b83a925)
733 + repack: begin combining cruft packs with `--combine-cruft-below-size`
@@ -451,7 +736,6 @@ Release tarballs are available at:
736 + t/t7704-repack-cruft.sh: clarify wording in --max-cruft-size tests
737 + t/t5329-pack-objects-cruft.sh: evict 'repack'-related tests
738 + Merge branch 'tb/multi-cruft-pack-refresh-fix' into tb/combine-cruft-below-size
454 - (this branch uses tb/multi-cruft-pack-refresh-fix.)
739
740 "git repack" learned "--combine-cruft-below-size" option that
741 controls how cruft-packs are combined.
@@ -476,13 +760,13 @@ Release tarballs are available at:
760 - fetch: don't ask for remote HEAD if followRemoteHEAD is "never"
761 - fetch: only respect followRemoteHEAD with configured refspecs
762 - Merge branch 'jk/fetch-ref-prefix-cleanup' into jk/fetch-follow-remote-head-fix
479 - (this branch uses jk/fetch-ref-prefix-cleanup.)
763
764 "git fetch [<remote>]" with only the configured fetch refspec
765 should be the only thing to update refs/remotes/<remote>/HEAD,
766 but the code was overly eager to do so in other cases.
767
485 - Will merge to 'next'?
768 + Will merge to 'next'.
769 + cf. <Z9n7myvpnDOWFWqt@nand.local>
770 source: <20250318053905.GA2051217@coredump.intra.peff.net>
771
772
@@ -515,57 +799,11 @@ Release tarballs are available at:
799 than normal branches as anchoring points to optimize the follow-up
800 fetch during "git clone"; now it is told to utilize all.
801
518 - Comments?
802 + Needs more work on tests.
803 + cf. <e4244e04-d2f3-43ab-88cf-58d9804731b8@gmail.com>
804 source: <pull.1897.v3.git.git.1742312173.gitgitgadget@gmail.com>
805
806
522 -* en/diff-rename-follow-fix (2025-03-14) 1 commit
523 - (merged to 'next' on 2025-03-18 at 56808a7eda)
524 - + diffcore-rename: fix BUG when break detection and --follow used together
525 -
526 - A corner-case bug in "git log --follow -B" has been fixed.
527 -
528 - Will merge to 'master'.
529 - source: <pull.1876.v2.git.1742000894041.gitgitgadget@gmail.com>
530 -
531 -
532 -* en/merge-ort-prepare-to-remove-recursive (2025-03-18) 6 commits
533 - (merged to 'next' on 2025-03-18 at a911944a1c)
534 - + am: switch from merge_recursive_generic() to merge_ort_generic()
535 - + merge-ort: fix merge.directoryRenames=false
536 - + t3650: document bug when directory renames are turned off
537 - + merge-ort: support having merge verbosity be set to 0
538 - + merge-ort: allow rename detection to be disabled
539 - + merge-ort: add new merge_ort_generic() function
540 -
541 - First step of deprecating and removing merge-recursive.
542 -
543 - Will merge to 'master'.
544 - source: <pull.1875.v2.git.1741834001.gitgitgadget@gmail.com>
545 -
546 -
547 -* jk/use-wunreachable-code-for-devs (2025-03-17) 3 commits
548 - (merged to 'next' on 2025-03-18 at fe32168eef)
549 - + config.mak.dev: enable -Wunreachable-code
550 - + git-compat-util: add NOT_CONSTANT macro and use it in atfork_prepare()
551 - + run-command: use errno to check for sigfillset() error
552 -
553 - Enable -Wunreachable-code for developer builds.
554 -
555 - Will merge to 'master'.
556 - source: <20250317235329.809302-1-gitster@pobox.com>
557 -
558 -
559 -* ab/decorate-code-cleanup (2025-03-10) 1 commit
560 - (merged to 'next' on 2025-03-18 at 7ede1484eb)
561 - + decorate: fix sign comparison warnings
562 -
563 - Code clean-up.
564 -
565 - Will merge to 'master'.
566 - source: <7c219279-8151-49c0-8fc0-8abe2624aca9@gmail.com>
567 -
568 -
807 * ds/path-walk-2 (2025-03-25) 13 commits
808 - pack-objects: allow --shallow and --path-walk
809 - path-walk: add new 'edge_aggressive' option
@@ -605,28 +843,6 @@ Release tarballs are available at:
843 source: <20250311212505.2920181-1-gitster@pobox.com>
844
845
608 -* jk/fetch-ref-prefix-cleanup (2025-03-10) 9 commits
609 - (merged to 'next' on 2025-03-18 at ab3e5cf19f)
610 - + fetch: use ref prefix list to skip ls-refs
611 - + fetch: avoid ls-refs only to ask for HEAD symref update
612 - + fetch: stop protecting additions to ref-prefix list
613 - + fetch: ask server to advertise HEAD for config-less fetch
614 - + refspec_ref_prefixes(): clean up refspec_item logic
615 - + t5516: beef up exact-oid ref prefixes test
616 - + t5516: drop NEEDSWORK about v2 reachability behavior
617 - + t5516: prefer "oid" to "sha1" in some test titles
618 - + t5702: fix typo in test name
619 - (this branch is used by jk/fetch-follow-remote-head-fix and tb/refspec-fetch-cleanup.)
620 -
621 - In protocol v2 where the refs advertisement is constrained, we try
622 - to tell the server side not to limit the advertisement when there
623 - is no specific need to, which has been the source of confusion and
624 - recent bugs. Revamp the logic to simplify.
625 -
626 - Will merge to 'master'.
627 - source: <20250309030101.GA2334064@coredump.intra.peff.net>
628 -
629 -
846 * jt/rev-list-z (2025-03-21) 5 commits
847 - rev-list: support NUL-delimited --missing option
848 - rev-list: support NUL-delimited --boundary option
@@ -648,20 +864,11 @@ Release tarballs are available at:
864 "git reflog" learns "drop" subcommand, that discards the entire
865 reflog data for a ref.
866
651 - Will merge to 'next'?
867 + Will merge to 'next'.
868 + cf. <CAP8UFD1vTkPH=5b++6+=koozC31=wD1gQszvdFmzb73B9HM4Aw@mail.gmail.com>
869 source: <20250314-493-add-command-to-purge-reflog-entries-v3-0-c24e23a6146d@gmail.com>
870
871
655 -* am/dir-dedup-decl-of-repository (2025-03-11) 1 commit
656 - (merged to 'next' on 2025-03-18 at 9075454132)
657 - + dir.h: remove duplicate forward declaration of struct repository
658 -
659 - Code cleanup.
660 -
661 - Will merge to 'master'.
662 - source: <pull.1879.git.1741705175922.gitgitgadget@gmail.com>
663 -
664 -
872 * cc/lop-remote (2025-03-18) 4 commits
873 (merged to 'next' on 2025-03-24 at 3b685ceef0)
874 + promisor-remote: compare remote names case sensitively
@@ -676,30 +883,21 @@ Release tarballs are available at:
883
884
885 * ps/ci-meson-check-build-docs (2025-03-12) 1 commit
679 - - ci: perform build and smoke tests for Meson docs
886 + (merged to 'next' on 2025-03-29 at 5aed226a96)
887 + + ci: perform build and smoke tests for Meson docs
888
889 CI update.
890
683 - Will merge to 'next'.
684 - source: <20250312-b4-pks-ci-meson-docs-v1-1-5e7cf7ac959a@pks.im>
685 -
686 -
687 -* ps/meson-with-breaking-changes (2025-03-12) 3 commits
688 - (merged to 'next' on 2025-03-18 at 15b1c62eff)
689 - + meson: don't install git-pack-redundant(1) docs with breaking changes
690 - + meson: don't compile git-pack-redundant(1) with breaking changes
691 - + meson: define WITH_BREAKING_CHANGES when enabling breaking changes
692 -
693 - Update meson based build procedure for breaking changes support.
694 -
891 Will merge to 'master'.
696 - source: <20250312-b4-pks-meson-breaking-changes-v1-0-b89e9a59d228@pks.im>
892 + source: <20250312-b4-pks-ci-meson-docs-v1-1-5e7cf7ac959a@pks.im>
893
894
895 * md/t1403-path-is-file (2025-03-04) 1 commit
896 - t1403: verify that path exists and is a file
897
898 Test tweak.
899 +
900 + Will merge to 'next'.
901 source: <20250304112728.41228-2-danimahendra0904@gmail.com>
902
903
@@ -710,7 +908,8 @@ Release tarballs are available at:
908 A few traditional unit tests have been rewritten to use the clar
909 framework.
910
713 - Comments?
911 + Will merge to 'next'?
912 + cf. <xmqqzfi0pthr.fsf@gitster.g>
913 source: <20250304113323.10564-1-kuforiji98@gmail.com>
914
915
@@ -727,7 +926,8 @@ Release tarballs are available at:
926 source: <17274df2746d304db876ebd82ad8d932@mandelberg.org>
927
928
730 -* kn/non-transactional-batch-updates (2025-03-21) 9 commits
929 +* kn/non-transactional-batch-updates (2025-03-29) 10 commits
930 + - SQUASH??? - <6141866.lOV4Wx5bFT@cayenne>
931 - update-ref: add --batch-updates flag for stdin mode
932 - refs: support rejection in batch updates during F/D checks
933 - refs: implement batch reference update support
@@ -737,7 +937,6 @@ Release tarballs are available at:
937 - refs: move duplicate refname update check to generic layer
938 - refs/files: remove redundant check in split_symref_update()
939 - Merge branch 'ps/refname-avail-check-optim' into kn/non-transactional-batch-updates
740 - (this branch uses ps/refname-avail-check-optim.)
940
941 Updating multiple references have only been possible in all-or-none
942 fashion with transactions, but it can be more efficient to batch
@@ -745,8 +944,9 @@ Release tarballs are available at:
944 best-effort manner. A new "best effort batches of updates" mode
945 has been introduced.
946
748 - Comments?
749 - source: <20250320-245-partially-atomic-ref-updates-v4-0-3dcc1b311dc9@gmail.com>
947 + Expecting a (small and hopefully final) reroll.
948 + cf. <CAOLa=ZQDiCx_VJRbQB1K6EeuA2mDj4twEB98ByddUNLtB8rEKQ@mail.gmail.com>
949 + source: <20250327-245-partially-atomic-ref-updates-v5-0-4db2a3e34404@gmail.com>
950
951
952 * ps/object-wo-the-repository (2025-03-10) 12 commits
@@ -766,7 +966,8 @@ Release tarballs are available at:
966 The object layer has been updated to take an explicit repository
967 instance as a parameter in more code paths.
968
769 - Looking good.
969 + Will merge to 'next'.
970 + cf. <CABPp-BFrjqf=dMNwxzyMj3EQrAXTYkH7rDTi7X7xoWnoW_A4eA@mail.gmail.com>
971 source: <20250310-b4-pks-objects-without-the-repository-v4-0-f201b8ec57ba@pks.im>
972
973
@@ -780,50 +981,12 @@ Release tarballs are available at:
981
982 "git maintenance" learns a new task to expire reflog entries.
983
783 - Needs (real) review.
984 + Expecting a (small and hopefully final) reroll.
985 + cf. <ammsrvhyzo6f7hfcizlh42e3e5cznfb2j37tcicliqqpqaaqgs@4mniagc5ejzz>
986 + cf. <usf4pzrp322xvfrvsasgy22rnw7d2a6krzuctwpp23ppdgh6ji@ram73wv5dn54>
987 source: <20250226-pks-maintenance-reflog-expire-v1-0-a1204a814952@pks.im>
988
989
787 -* ps/refname-avail-check-optim (2025-03-12) 16 commits
788 - (merged to 'next' on 2025-03-18 at 726197f7e0)
789 - + refs: reuse iterators when determining refname availability
790 - + refs/iterator: implement seeking for files iterators
791 - + refs/iterator: implement seeking for packed-ref iterators
792 - + refs/iterator: implement seeking for ref-cache iterators
793 - + refs/iterator: implement seeking for reftable iterators
794 - + refs/iterator: implement seeking for merged iterators
795 - + refs/iterator: provide infrastructure to re-seek iterators
796 - + refs/iterator: separate lifecycle from iteration
797 - + refs: stop re-verifying common prefixes for availability
798 - + refs/files: batch refname availability checks for initial transactions
799 - + refs/files: batch refname availability checks for normal transactions
800 - + refs/reftable: batch refname availability checks
801 - + refs: introduce function to batch refname availability checks
802 - + builtin/update-ref: skip ambiguity checks when parsing object IDs
803 - + object-name: allow skipping ambiguity checks in `get_oid()` family
804 - + object-name: introduce `repo_get_oid_with_flags()`
805 - (this branch is used by kn/non-transactional-batch-updates.)
806 -
807 - The code paths to check whether a refname X is available (by seeing
808 - if another ref X/Y exists, etc.) have been optimized.
809 -
810 - Will merge to 'master'.
811 - source: <20250312-pks-update-ref-optimization-v6-0-f778e0414f55@pks.im>
812 -
813 -
814 -* tb/multi-cruft-pack-refresh-fix (2025-03-13) 1 commit
815 - (merged to 'next' on 2025-03-18 at e3f090e427)
816 - + builtin/pack-objects.c: freshen objects from existing cruft packs
817 - (this branch is used by tb/combine-cruft-below-size.)
818 -
819 - Certain "cruft" objects would have never been refreshed when there
820 - are multiple cruft packs in the repository, which has been
821 - corrected.
822 -
823 - Will merge to 'master'.
824 - source: <1563552bbda0bc910c9f41b0fabc3225c4d778fc.1741889018.git.me@ttaylorr.com>
825 -
826 -
990 * jk/zlib-inflate-fixes (2025-02-25) 10 commits
991 - unpack_loose_rest(): rewrite return handling for clarity
992 - unpack_loose_rest(): simplify error handling
@@ -838,28 +1001,10 @@ Release tarballs are available at:
1001
1002 Fix our use of zlib corner cases.
1003
841 - Still being discussed.
842 - cf. <20250304065501.GB1283901@coredump.intra.peff.net>
1004 + Will merge to 'next'.
1005 source: <20250225062518.GA1293854@coredump.intra.peff.net>
1006
1007
846 -* cc/signed-fast-export-import (2025-03-10) 6 commits
847 - (merged to 'next' on 2025-03-18 at d98973e2cb)
848 - + fast-export, fast-import: add support for signed-commits
849 - + fast-export: do not modify memory from get_commit_buffer
850 - + git-fast-export.adoc: clarify why 'verbatim' may not be a good idea
851 - + fast-export: rename --signed-tags='warn' to 'warn-verbatim'
852 - + fast-export: fix missing whitespace after switch
853 - + git-fast-import.adoc: add missing LF in the BNF
854 -
855 - "git fast-export | git fast-import" learns to deal with commit and
856 - tag objects with embedded signatures a bit better.
857 -
858 - Will merge to 'master'.
859 - cf. <CABPp-BGyA8iBA0BFO8FcpZAMca94aVu2vHHRi4Oz=nCWxJSDPg@mail.gmail.com>
860 - source: <20250310155746.879481-1-christian.couder@gmail.com>
861 -
862 -
1008 * ib/diff-S-G-with-longhand (2025-02-12) 10 commits
1009 - diff: docs: Use --patch-{grep,modifies} over -G/-S
1010 - diff: --pickaxe-{all,regex} help: Add --patch-{grep,modifies}
@@ -875,7 +1020,7 @@ Release tarballs are available at:
1020 The commands in the "diff" family learned longhands for "-S" and
1021 "-G" options.
1022
878 - The core part looked mostly good.
1023 + Expecting a reroll.
1024 source: <20250212032657.1807939-1-illia.bobyr@gmail.com>
1025
1026
@@ -886,70 +1031,62 @@ Release tarballs are available at:
1031
1032 Portability fix.
1033
889 - Waiting for the base topic to settle.
1034 + Will merge to 'next'.
1035 source: <20250206-b4-pks-reftable-win32-in-use-errors-v2-1-56985a4f6186@pks.im>
1036
1037
1038 * ps/reftable-sans-compat-util (2025-02-18) 18 commits
894 - - Makefile: skip reftable library for Coccinelle
895 - - reftable: decouple from Git codebase by pulling in "compat/posix.h"
896 - - git-compat-util.h: split out POSIX-emulating bits
897 - - compat/mingw: split out POSIX-related bits
898 - - reftable/basics: introduce `REFTABLE_UNUSED` annotation
899 - - reftable/basics: stop using `SWAP()` macro
900 - - reftable/stack: stop using `sleep_millisec()`
901 - - reftable/system: introduce `reftable_rand()`
902 - - reftable/reader: stop using `ARRAY_SIZE()` macro
903 - - reftable/basics: provide wrappers for big endian conversion
904 - - reftable/basics: stop using `st_mult()` in array allocators
905 - - reftable: stop using `BUG()` in trivial cases
906 - - reftable/record: don't `BUG()` in `reftable_record_cmp()`
907 - - reftable/record: stop using `BUG()` in `reftable_record_init()`
908 - - reftable/record: stop using `COPY_ARRAY()`
909 - - reftable/blocksource: stop using `xmmap()`
910 - - reftable/stack: stop using `write_in_full()`
911 - - reftable/stack: stop using `read_in_full()`
912 - (this branch is used by ps/reftable-windows-unlink-fix.)
1039 + (merged to 'next' on 2025-03-29 at 4e9fbae111)
1040 + + Makefile: skip reftable library for Coccinelle
1041 + + reftable: decouple from Git codebase by pulling in "compat/posix.h"
1042 + + git-compat-util.h: split out POSIX-emulating bits
1043 + + compat/mingw: split out POSIX-related bits
1044 + + reftable/basics: introduce `REFTABLE_UNUSED` annotation
1045 + + reftable/basics: stop using `SWAP()` macro
1046 + + reftable/stack: stop using `sleep_millisec()`
1047 + + reftable/system: introduce `reftable_rand()`
1048 + + reftable/reader: stop using `ARRAY_SIZE()` macro
1049 + + reftable/basics: provide wrappers for big endian conversion
1050 + + reftable/basics: stop using `st_mult()` in array allocators
1051 + + reftable: stop using `BUG()` in trivial cases
1052 + + reftable/record: don't `BUG()` in `reftable_record_cmp()`
1053 + + reftable/record: stop using `BUG()` in `reftable_record_init()`
1054 + + reftable/record: stop using `COPY_ARRAY()`
1055 + + reftable/blocksource: stop using `xmmap()`
1056 + + reftable/stack: stop using `write_in_full()`
1057 + + reftable/stack: stop using `read_in_full()`
1058 + (this branch is used by ps/reftable-api-revamp and ps/reftable-windows-unlink-fix.)
1059
1060 Make the code in reftable library less reliant on the service
1061 routines it used to borrow from Git proper, to make it easier to
1062 use by external users of the library.
1063
918 - Waiting for Acks, especially for Windows bits?
1064 + Will merge to 'master'.
1065 + cf. <Z-Y1YbE2EVqLZhGO@pks.im>
1066 source: <20250218-pks-reftable-drop-git-compat-util-v6-0-8c1f39fb4c02@pks.im>
1067
1068
922 -* jc/doc-attr-tree (2024-12-14) 1 commit
923 - - doc: give attr.tree a bit more visibility
924 -
925 - Make sure that "git --attr-source=X", GIT_ATTR_SOURCE, and
926 - attr.tree configuration variables appear at the same places in the
927 - documentation.
928 -
929 - On hold.
930 - cf. <20241216111112.GA2201417@coredump.intra.peff.net>
931 - source: <xmqq5xnladwi.fsf@gitster.g>
932 -
933 -
1069 * tb/incremental-midx-part-2 (2025-03-21) 14 commits
935 - - midx: implement writing incremental MIDX bitmaps
936 - - pack-bitmap.c: use `ewah_or_iterator` for type bitmap iterators
937 - - pack-bitmap.c: keep track of each layer's type bitmaps
938 - - ewah: implement `struct ewah_or_iterator`
939 - - pack-bitmap.c: apply pseudo-merge commits with incremental MIDXs
940 - - pack-bitmap.c: compute disk-usage with incremental MIDXs
941 - - pack-bitmap.c: teach `rev-list --test-bitmap` about incremental MIDXs
942 - - pack-bitmap.c: support bitmap pack-reuse with incremental MIDXs
943 - - pack-bitmap.c: teach `show_objects_for_type()` about incremental MIDXs
944 - - pack-bitmap.c: teach `bitmap_for_commit()` about incremental MIDXs
945 - - pack-bitmap.c: open and store incremental bitmap layers
946 - - pack-revindex: prepare for incremental MIDX bitmaps
947 - - Documentation: describe incremental MIDX bitmaps
948 - - Documentation: remove a "future work" item from the MIDX docs
1070 + (merged to 'next' on 2025-03-29 at 1db17d1a9b)
1071 + + midx: implement writing incremental MIDX bitmaps
1072 + + pack-bitmap.c: use `ewah_or_iterator` for type bitmap iterators
1073 + + pack-bitmap.c: keep track of each layer's type bitmaps
1074 + + ewah: implement `struct ewah_or_iterator`
1075 + + pack-bitmap.c: apply pseudo-merge commits with incremental MIDXs
1076 + + pack-bitmap.c: compute disk-usage with incremental MIDXs
1077 + + pack-bitmap.c: teach `rev-list --test-bitmap` about incremental MIDXs
1078 + + pack-bitmap.c: support bitmap pack-reuse with incremental MIDXs
1079 + + pack-bitmap.c: teach `show_objects_for_type()` about incremental MIDXs
1080 + + pack-bitmap.c: teach `bitmap_for_commit()` about incremental MIDXs
1081 + + pack-bitmap.c: open and store incremental bitmap layers
1082 + + pack-revindex: prepare for incremental MIDX bitmaps
1083 + + Documentation: describe incremental MIDX bitmaps
1084 + + Documentation: remove a "future work" item from the MIDX docs
1085 + (this branch is used by ps/cat-file-filter-batch.)
1086
1087 Incrementally updating multi-pack index files.
1088
952 - Comments?
1089 + Will merge to 'master'.
1090 source: <cover.1742493373.git.me@ttaylorr.com>
1091
1092
@@ -965,6 +1102,9 @@ Release tarballs are available at:
1102
1103 "git cat-file --batch" and friends can optionally ask a remote
1104 server about objects it does not have.
1105 +
1106 + Expecting a reroll.
1107 + cf. <CAN2LT1Cc-UaUpabqcGascicR3nk6ZdFythamKje33Orhy5WoNA@mail.gmail.com>
1108 source: <20250221190451.12536-1-eric.peijian@gmail.com>
1109
1110 --------------------------------------------------
@@ -983,3 +1123,42 @@ Release tarballs are available at:
1123 cf. <xmqqmsdi49h8.fsf_-_@gitster.g>
1124 cf. <CAOLa=ZRODjYfDXQ8m+hDosV7RBGDWeehzSvsR-+-HCmbS+tAcQ@mail.gmail.com>
1125 source: <20250314184130.GA578421@coredump.intra.peff.net>
1126 +
1127 +
1128 +* js/libgit-cargo-package (2025-03-22) 5 commits
1129 + . libgit-{sys,rs}: add license and description fields
1130 + . libgit-sys: exclude unnecessary directories in git-src
1131 + . libgit-sys: parallelize build with Cargo's jobserver
1132 + . libgit-sys: add symlink to git repo root and build out of tree
1133 + . libgitpub: move to separate contrib/ directory
1134 +
1135 + Breaks Windows CI job with "../.." symbolic link in the source.
1136 + Retracted for now.
1137 + cf. <xnjgoym6makh7q64sp5efvkmcubslklkjeidja45rtl2wjm4jd@xfww2a52hj34>
1138 + source: <cover.1742594960.git.steadmon@google.com>
1139 +
1140 +
1141 +* sj/meson-test-environ-fix (2025-03-14) 1 commit
1142 + . meson: use test_environment conditionally.
1143 +
1144 + meson-based build procedure was overly aggressive in using test
1145 + environment in two contrib/ directories, which was corrected.
1146 +
1147 + Superseded by ps/misc-build-fixes.
1148 + source: <3d127f293818f935efdb9ca7bb556e6a8f233ef7.1741975557.git.sam@gentoo.org>
1149 +
1150 +
1151 +--------------------------------------------------
1152 +[Discarded]
1153 +
1154 +* jc/doc-attr-tree (2024-12-14) 1 commit
1155 + - doc: give attr.tree a bit more visibility
1156 +
1157 + Make sure that "git --attr-source=X", GIT_ATTR_SOURCE, and
1158 + attr.tree configuration variables appear at the same places in the
1159 + documentation.
1160 +
1161 + Will discard.
1162 + cf. <20241216111112.GA2201417@coredump.intra.peff.net>
1163 + source: <xmqq5xnladwi.fsf@gitster.g>
1164 +