What's cooking (2025/02 #03)

Junio C Hamano committed Feb 10, 2025 at 11:54 UTC 15c6383f8035fc902bedfef8b79084d2af2492db
1 file changed +138 -164
whats-cooking.txt
+138 -164
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 -Subject: What's cooking in git.git (Feb 2025, #02; Fri, 7)
3 -X-master-at: 9520f7d9985d8879bddd157309928fc0679c8e92
4 -X-next-at: 30ceb7b040fb0d98a6c17a39c106f6eb9a112b24
2 +Subject: What's cooking in git.git (Feb 2025, #03; Mon, 10)
3 +X-master-at: 388218fac77d0405a5083cd4b4ee20f6694609c3
4 +X-next-at: 782243c5383dd40d26d75dc97d7fc39900fb60a7
5 Bcc: lwn@lwn.net, gitster@pobox.com
6
7 -What's cooking in git.git (Feb 2025, #02; Fri, 7)
7 +What's cooking in git.git (Feb 2025, #03; Mon, 10)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking in my tree. Commits
@@ -48,74 +48,125 @@ Release tarballs are available at:
48 --------------------------------------------------
49 [Graduated to 'master']
50
51 -* js/bundle-unbundle-fd-reuse-fix (2025-01-25) 1 commit
52 - (merged to 'next' on 2025-01-29 at e490587933)
53 - + bundle: avoid closing file descriptor twice
54 -
55 - The code path used when "git fetch" fetches from a bundle file
56 - closed the same file descriptor twice, which sometimes broke things
57 - unexpectedly when the file descriptor was reused, which has been
58 - corrected.
59 - source: <pull.1857.git.1737849456338.gitgitgadget@gmail.com>
60 -
61 -
62 -* ps/ci-misc-updates (2025-01-10) 10 commits
63 - (merged to 'next' on 2025-01-29 at 4d2f9d7f18)
64 - + ci: remove stale code for Azure Pipelines
65 - + ci: use latest Ubuntu release
66 - + ci: stop special-casing for Ubuntu 16.04
67 - + gitlab-ci: add linux32 job testing against i386
68 - + gitlab-ci: remove the "linux-old" job
69 - + github: simplify computation of the job's distro
70 - + github: convert all Linux jobs to be containerized
71 - + github: adapt containerized jobs to be rootless
72 - + t7422: fix flaky test caused by buffered stdout
73 - + t0060: fix EBUSY in MinGW when setting up runtime prefix
74 - (this branch is used by jk/ci-coverity-update.)
75 -
76 - CI updates (containerization, dropping stale ones, etc.).
77 - source: <20250110-b4-pks-ci-fixes-v4-0-6e4613446080@pks.im>
78 -
79 -
80 -* ps/leakfixes-0129 (2025-01-30) 2 commits
81 - (merged to 'next' on 2025-01-30 at 6dc24dfdaf)
82 - + scalar: free result of `remote_default_branch()`
83 - + unix-socket: fix memory leak when chdir(3p) fails
84 -
85 - A few more leakfixes.
86 - source: <20250130-b4-pks-memory-leaks-v2-0-fc29dc7d4b19@pks.im>
87 -
88 -
89 -* ps/zlib-ng (2025-01-28) 12 commits
90 - (merged to 'next' on 2025-01-30 at ecf8e8bbef)
91 - + ci: make "linux-musl" job use zlib-ng
92 - + ci: switch linux-musl to use Meson
93 - + compat/zlib: allow use of zlib-ng as backend
94 - + git-zlib: cast away potential constness of `next_in` pointer
95 - + compat/zlib: provide stubs for `deflateSetHeader()`
96 - + compat/zlib: provide `deflateBound()` shim centrally
97 - + git-compat-util: move include of "compat/zlib.h" into "git-zlib.h"
98 - + compat: introduce new "zlib.h" header
99 - + git-compat-util: drop `z_const` define
100 - + compat: drop `uncompress2()` compatibility shim
101 - + Merge branch 'ps/build-meson-fixes' into ps/zlib-ng
102 - + Merge branch 'ps/meson-weak-sha1-build' into ps/zlib-ng
103 -
104 - The code paths to interact with zlib has been cleaned up in
105 - preparation for building with zlib-ng.
106 - source: <20250128-b4-pks-compat-drop-uncompress2-v4-0-129bc36ae8f5@pks.im>
51 +* jk/ci-coverity-update (2025-02-03) 2 commits
52 + (merged to 'next' on 2025-02-03 at 9597182d1d)
53 + + ci: set CI_JOB_IMAGE for coverity job
54 + + Merge branch 'ps/ci-misc-updates' into jk/ci-coverity-update
55 +
56 + CI update to make Coverity job work again.
57 +
58 + source: <20250131233015.GA3544301@coredump.intra.peff.net>
59 +
60 +
61 +* jt/gitlab-ci-base-fix (2025-01-31) 1 commit
62 + (merged to 'next' on 2025-02-03 at bf225248c9)
63 + + ci: fix base commit fallback for check-whitespace and check-style
64 +
65 + Two CI tasks, whitespace check and style check, work on the
66 + difference from the base version and the version being checked, but
67 + the base was computed incorrectly in GitLab CI in some cases, which
68 + has been corrected.
69 +
70 + source: <20250131173938.3592899-1-jltobler@gmail.com>
71 +
72 +
73 +* ps/hash-cleanup (2025-01-31) 5 commits
74 + (merged to 'next' on 2025-02-03 at 98bdef7666)
75 + + global: adapt callers to use generic hash context helpers
76 + + hash: provide generic wrappers to update hash contexts
77 + + hash: stop typedeffing the hash context
78 + + hash: convert hashing context to a structure
79 + + Merge branch 'tb/unsafe-hash-cleanup' into ps/hash-cleanup
80 +
81 + Further code clean-up on the use of hash functions. Now the
82 + context object knows what hash function it is working with.
83 +
84 + source: <20250131-b4-pks-hash-context-direct-v1-0-67a6d3f49d6e@pks.im>
85 +
86 +
87 +* ps/setup-reinit-fixes (2025-01-30) 3 commits
88 + (merged to 'next' on 2025-02-03 at b4eb8f2fc8)
89 + + setup: fix reinit of repos with incompatible GIT_DEFAULT_HASH
90 + + setup: fix reinit of repos with incompatible GIT_DEFAULT_REF_FORMAT
91 + + t0001: remove duplicate test
92 +
93 + "git init" to reinitialize a repository that already exists cannot
94 + change the hash function and ref backends; such a request is
95 + silently ignored now.
96 +
97 + source: <20250130-b4-pks-reinit-default-ref-format-v1-0-d2769ca01207@pks.im>
98 +
99 +
100 +* pw/apply-ulong-overflow-check (2025-01-30) 1 commit
101 + (merged to 'next' on 2025-02-03 at e2b37c2c77)
102 + + apply: detect overflow when parsing hunk header
103 +
104 + "git apply" internally uses unsigned long for line numbers and uses
105 + strtoul() to parse numbers on the hunk headers. It however forgot
106 + to check parse errors.
107 +
108 + source: <pull.1858.git.1738235310815.gitgitgadget@gmail.com>
109 +
110 +
111 +* sk/unit-tests-0130 (2025-01-31) 4 commits
112 + (merged to 'next' on 2025-02-03 at 163109072c)
113 + + t/unit-tests: convert strcmp-offset test to use clar test framework
114 + + t/unit-tests: convert strbuf test to use clar test framework
115 + + t/unit-tests: adapt example decorate test to use clar test framework
116 + + t/unit-tests: convert hashmap test to use clar test framework
117 +
118 + Convert a handful of unit tests to work with the clar framework.
119 +
120 + source: <20250131221420.38161-1-kuforiji98@gmail.com>
121
122 --------------------------------------------------
123 [New Topics]
124
125 +* lo/t7603-path-is-file-update (2025-02-10) 1 commit
126 + - t7603: replace test -f by test_path_is_file
127 +
128 + Test clean-up.
129 +
130 + Will merge to 'next'.
131 + source: <20250208165731.78804-1-lucasseikioshiro@gmail.com>
132 +
133 +
134 +* ps/path-sans-the-repository (2025-02-07) 16 commits
135 + - path: adjust last remaining users of `the_repository`
136 + - environment: move access to "core.sharedRepository" into repo settings
137 + - environment: move access to "core.hooksPath" into repo settings
138 + - repo-settings: introduce function to clear struct
139 + - path: drop `git_path()` in favor of `repo_git_path()`
140 + - rerere: let `rerere_path()` write paths into a caller-provided buffer
141 + - path: drop `git_common_path()` in favor of `repo_common_path()`
142 + - worktree: return allocated string from `get_worktree_git_dir()`
143 + - path: drop `git_path_buf()` in favor of `repo_git_path_replace()`
144 + - path: drop `git_pathdup()` in favor of `repo_git_path()`
145 + - path: drop unused `strbuf_git_path()` function
146 + - path: refactor `repo_submodule_path()` family of functions
147 + - submodule: refactor `submodule_to_gitdir()` to accept a repo
148 + - path: refactor `repo_worktree_path()` family of functions
149 + - path: refactor `repo_git_path()` family of functions
150 + - path: refactor `repo_common_path()` family of functions
151 +
152 + The path.[ch] API takes an explicit repository parameter passed
153 + throughout the callchain, instead of relying on the_repository
154 + singleton instance.
155 +
156 + source: <20250207-b4-pks-path-drop-the-repository-v2-0-13cad3c11b8a@pks.im>
157 +
158 +--------------------------------------------------
159 +[Cooking]
160 +
161 * jt/rev-list-missing-print-info (2025-02-05) 2 commits
112 - - rev-list: extend print-info to print missing object type
113 - - rev-list: add print-info action to print missing object path
162 + (merged to 'next' on 2025-02-10 at 88955fe5b4)
163 + + rev-list: extend print-info to print missing object type
164 + + rev-list: add print-info action to print missing object path
165
166 "git rev-list --missing=" learned to accept "print-info" that gives
167 known details expected of the missing objects, like path and type.
168
118 - Will merge to 'next'.
169 + Will merge to 'master'.
170 cf. <CAP8UFD31kbtqXQDp9LyA+x+h+m592=HQHHbskSfar3S2GOfWVg@mail.gmail.com>
171 source: <20250205004147.887106-1-jltobler@gmail.com>
172
@@ -162,19 +213,6 @@ Release tarballs are available at:
213 Waiting for the base topic.
214 source: <20250206-b4-pks-reftable-win32-in-use-errors-v2-1-56985a4f6186@pks.im>
215
165 ---------------------------------------------------
166 -[Cooking]
167 -
168 -* jk/ci-coverity-update (2025-02-03) 2 commits
169 - (merged to 'next' on 2025-02-03 at 9597182d1d)
170 - + ci: set CI_JOB_IMAGE for coverity job
171 - + Merge branch 'ps/ci-misc-updates' into jk/ci-coverity-update
172 -
173 - CI update to make Coverity job work again.
174 -
175 - Will merge to 'master'.
176 - source: <20250131233015.GA3544301@coredump.intra.peff.net>
177 -
216
217 * ps/repack-keep-unreachable-in-unpacked-repo (2025-02-04) 1 commit
218 (merged to 'next' on 2025-02-04 at 96a862b6f8)
@@ -243,13 +281,14 @@ Release tarballs are available at:
281
282
283 * da/difftool-sans-the-repository (2025-02-06) 3 commits
246 - - difftool: eliminate use of USE_THE_REPOSITORY_VARIABLE
247 - - difftool: eliminate use of the_repository
248 - - difftool: eliminate use of global variables
284 + (merged to 'next' on 2025-02-10 at e22cc108b6)
285 + + difftool: eliminate use of USE_THE_REPOSITORY_VARIABLE
286 + + difftool: eliminate use of the_repository
287 + + difftool: eliminate use of global variables
288
289 "git difftool" code clean-up.
290
252 - Will merge to 'next'.
291 + Will merge to 'master'.
292 cf. <xmqq4j15hch1.fsf@gitster.g>
293 source: <20250206042010.865947-3-davvid@gmail.com>
294
@@ -277,58 +316,6 @@ Release tarballs are available at:
316 source: <20250130-b4-pks-meson-improvements-v2-0-2f05581ffb44@pks.im>
317
318
280 -* ps/setup-reinit-fixes (2025-01-30) 3 commits
281 - (merged to 'next' on 2025-02-03 at b4eb8f2fc8)
282 - + setup: fix reinit of repos with incompatible GIT_DEFAULT_HASH
283 - + setup: fix reinit of repos with incompatible GIT_DEFAULT_REF_FORMAT
284 - + t0001: remove duplicate test
285 -
286 - "git init" to reinitialize a repository that already exists cannot
287 - change the hash function and ref backends; such a request is
288 - silently ignored now.
289 -
290 - Will merge to 'master'.
291 - source: <20250130-b4-pks-reinit-default-ref-format-v1-0-d2769ca01207@pks.im>
292 -
293 -
294 -* pw/apply-ulong-overflow-check (2025-01-30) 1 commit
295 - (merged to 'next' on 2025-02-03 at e2b37c2c77)
296 - + apply: detect overflow when parsing hunk header
297 -
298 - "git apply" internally uses unsigned long for line numbers and uses
299 - strtoul() to parse numbers on the hunk headers. It however forgot
300 - to check parse errors.
301 -
302 - Will merge to 'master'.
303 - source: <pull.1858.git.1738235310815.gitgitgadget@gmail.com>
304 -
305 -
306 -* sk/unit-tests-0130 (2025-01-31) 4 commits
307 - (merged to 'next' on 2025-02-03 at 163109072c)
308 - + t/unit-tests: convert strcmp-offset test to use clar test framework
309 - + t/unit-tests: convert strbuf test to use clar test framework
310 - + t/unit-tests: adapt example decorate test to use clar test framework
311 - + t/unit-tests: convert hashmap test to use clar test framework
312 -
313 - Convert a handful of unit tests to work with the clar framework.
314 -
315 - Will merge to 'master'.
316 - source: <20250131221420.38161-1-kuforiji98@gmail.com>
317 -
318 -
319 -* jt/gitlab-ci-base-fix (2025-01-31) 1 commit
320 - (merged to 'next' on 2025-02-03 at bf225248c9)
321 - + ci: fix base commit fallback for check-whitespace and check-style
322 -
323 - Two CI tasks, whitespace check and style check, work on the
324 - difference from the base version and the version being checked, but
325 - the base was computed incorrectly in GitLab CI in some cases, which
326 - has been corrected.
327 -
328 - Will merge to 'master'.
329 - source: <20250131173938.3592899-1-jltobler@gmail.com>
330 -
331 -
319 * op/worktree-is-main-bare-fix (2025-02-05) 1 commit
320 (merged to 'next' on 2025-02-06 at 25c618bf37)
321 + worktree: detect from secondary worktree if main worktree is bare
@@ -341,21 +328,6 @@ Release tarballs are available at:
328 source: <pull.1829.v4.git.1738737014194.gitgitgadget@gmail.com>
329
330
344 -* ps/hash-cleanup (2025-01-31) 5 commits
345 - (merged to 'next' on 2025-02-03 at 98bdef7666)
346 - + global: adapt callers to use generic hash context helpers
347 - + hash: provide generic wrappers to update hash contexts
348 - + hash: stop typedeffing the hash context
349 - + hash: convert hashing context to a structure
350 - + Merge branch 'tb/unsafe-hash-cleanup' into ps/hash-cleanup
351 -
352 - Further code clean-up on the use of hash functions. Now the
353 - context object knows what hash function it is working with.
354 -
355 - Will merge to 'master'.
356 - source: <20250131-b4-pks-hash-context-direct-v1-0-67a6d3f49d6e@pks.im>
357 -
358 -
331 * tc/clone-single-revision (2025-02-06) 7 commits
332 (merged to 'next' on 2025-02-06 at d67b50d35c)
333 + builtin/clone: teach git-clone(1) the --revision= option
@@ -577,19 +549,20 @@ Release tarballs are available at:
549
550
551 * ds/backfill (2025-02-03) 7 commits
580 - - backfill: assume --sparse when sparse-checkout is enabled
581 - - backfill: add --sparse option
582 - - backfill: add --min-batch-size=<n> option
583 - - backfill: basic functionality and tests
584 - - backfill: add builtin boilerplate
585 - - Merge branch 'master' into ds/backfill
586 - - Merge branch 'ds/path-walk-1' into ds/backfill
552 + (merged to 'next' on 2025-02-10 at d6348c9f60)
553 + + backfill: assume --sparse when sparse-checkout is enabled
554 + + backfill: add --sparse option
555 + + backfill: add --min-batch-size=<n> option
556 + + backfill: basic functionality and tests
557 + + backfill: add builtin boilerplate
558 + + Merge branch 'master' into ds/backfill
559 + + Merge branch 'ds/path-walk-1' into ds/backfill
560
561 Lazy-loading missing files in a blobless clone on demand is costly
562 as it tends to be one-blob-at-a-time. "git backfill" is introduced
563 to help bulk-download necessary files beforehand.
564
592 - Will merge to 'next'.
565 + Will merge to 'master'.
566 cf. <Z6MQK6anxpMhlL9i@pks.im>
567 source: <pull.1820.v3.git.1738602667.gitgitgadget@gmail.com>
568
@@ -618,20 +591,21 @@ Release tarballs are available at:
591
592
593 * ps/send-pack-unhide-error-in-atomic-push (2025-02-03) 8 commits
621 - - send-pack: gracefully close the connection for atomic push
622 - - t5543: atomic push reports exit code failure
623 - - send-pack: new return code "ERROR_SEND_PACK_BAD_REF_STATUS"
624 - - t5548: add porcelain push test cases for dry-run mode
625 - - t5548: add new porcelain test cases
626 - - t5548: refactor test cases by resetting upstream
627 - - t5548: refactor to reuse setup_upstream() function
628 - - t5504: modernize test by moving heredocs into test bodies
594 + (merged to 'next' on 2025-02-10 at 7d93e5ad97)
595 + + send-pack: gracefully close the connection for atomic push
596 + + t5543: atomic push reports exit code failure
597 + + send-pack: new return code "ERROR_SEND_PACK_BAD_REF_STATUS"
598 + + t5548: add porcelain push test cases for dry-run mode
599 + + t5548: add new porcelain test cases
600 + + t5548: refactor test cases by resetting upstream
601 + + t5548: refactor to reuse setup_upstream() function
602 + + t5504: modernize test by moving heredocs into test bodies
603
604 "git push --atomic --porcelain" used to ignore failures from the
605 other side, losing the error status from the child process, which
606 has been corrected.
607
634 - Will merge to 'next'.
608 + Will merge to 'master'.
609 cf. <xmqqh65azk3a.fsf@gitster.g>
610 source: <20250203-pks-push-atomic-respect-exit-code-v5-0-d66481e36622@pks.im>
611