What's cooking (2024/03 #01)

Junio C Hamano committed Mar 4, 2024 at 14:35 UTC 1b60a6f7b5d61875186ac6915d548edf19d7d598
1 file changed +359 -346
whats-cooking.txt
+359 -346
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 -Subject: What's cooking in git.git (Feb 2024, #09; Tue, 27)
3 -X-master-at: 0f9d4d28b7e6021b7e6db192b7bf47bd3a0d0d1d
4 -X-next-at: dc8dd223a70561ef1480098663d61af5531a1f47
2 +Subject: What's cooking in git.git (Mar 2024, #01; Mon, 4)
3 +X-master-at: b387623c12f3f4a376e4d35a610fd3e55d7ea907
4 +X-next-at: de5f6a74cb92fb2d418f67c29f18e8f21f7e420c
5 Bcc: lwn@lwn.net, gitster@pobox.com
6
7 -What's cooking in git.git (Feb 2024, #09; Tue, 27)
7 +What's cooking in git.git (Mar 2024, #01; Mon, 4)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking in my tree. Commits
@@ -48,177 +48,272 @@ Release tarballs are available at:
48 --------------------------------------------------
49 [Graduated to 'master']
50
51 -* ba/credential-test-clean-fix (2024-02-15) 1 commit
52 - (merged to 'next' on 2024-02-19 at 290708b10a)
53 - + t/lib-credential: clean additional credential
54 - (this branch is used by jk/t0303-clean.)
51 +* cp/t9146-use-test-path-helpers (2024-02-14) 1 commit
52 + (merged to 'next' on 2024-02-21 at 0b8356ef33)
53 + + t9146: replace test -d/-e/-f with appropriate test_path_is_* function
54
56 - Test clean-up.
57 - source: <pull.1664.git.1707959036807.gitgitgadget@gmail.com>
55 + Test script clean-up.
56 + source: <pull.1661.v3.git.1707933048210.gitgitgadget@gmail.com>
57
58
60 -* bb/completion-no-grep-into-awk (2024-02-16) 1 commit
61 - (merged to 'next' on 2024-02-19 at 8373f95424)
62 - + completion: use awk for filtering the config entries
59 +* ds/doc-send-email-capitalization (2024-02-20) 1 commit
60 + (merged to 'next' on 2024-02-21 at c4aac4b993)
61 + + documentation: send-email: use camel case consistently
62
64 - Some parts of command line completion script (in contrib/) have
65 - been micro-optimized.
66 - source: <20240216171046.927552-1-dev+git@drbeat.li>
63 + Doc update.
64 + source: <88f1fe08c3047e14090957093ee8d98b0f60cb6c.1708467601.git.dsimic@manjaro.org>
65
66
69 -* cp/apply-core-filemode (2023-12-26) 3 commits
70 - (merged to 'next' on 2024-02-07 at 089a3fbb86)
71 - + apply: code simplification
72 - + apply: correctly reverse patch's pre- and post-image mode bits
73 - + apply: ignore working tree filemode when !core.filemode
67 +* hs/rebase-not-in-progress (2024-02-21) 1 commit
68 + (merged to 'next' on 2024-02-23 at ce53f5243f)
69 + + rebase: make warning less passive aggressive
70
75 - "git apply" on a filesystem without filemode support have learned
76 - to take a hint from what is in the index for the path, even when
77 - not working with the "--index" or "--cached" option, when checking
78 - the executable bit match what is required by the preimage in the
79 - patch.
80 - cf. <xmqqzfwb53a9.fsf@gitster.g>
81 - source: <20231226233218.472054-1-gitster@pobox.com>
71 + Error message update.
72 + source: <pull.1669.v2.git.1708537097448.gitgitgadget@gmail.com>
73
74
84 -* gt/at-is-synonym-for-head-in-add-patch (2024-02-13) 2 commits
85 - (merged to 'next' on 2024-02-14 at cd901555d6)
86 - + add -p tests: remove PERL prerequisites
87 - + add-patch: classify '@' as a synonym for 'HEAD'
75 +* ja/doc-placeholders-markup-rules (2024-02-21) 1 commit
76 + (merged to 'next' on 2024-02-23 at b6761ceeac)
77 + + doc: clarify the format of placeholders
78
89 - Teach "git checkout -p" and friends that "@" is a synonym for
90 - "HEAD".
91 - source: <20240211202035.7196-2-shyamthakkar001@gmail.com>
79 + The way placeholders are to be marked-up in documentation have been
80 + specified; use "_<placeholder>_" to typeset the word inside a pair
81 + of <angle-brakets> emphasized.
82 + source: <pull.1671.git.1708550340094.gitgitgadget@gmail.com>
83
84
94 -* jb/doc-interactive-singlekey-do-not-need-perl (2024-02-19) 1 commit
95 - (merged to 'next' on 2024-02-19 at 9eda75497d)
96 - + doc: remove outdated information about interactive.singleKey
85 +* ja/docfixes (2024-02-20) 3 commits
86 + (merged to 'next' on 2024-02-21 at 6d778ca672)
87 + + doc: end sentences with full-stop
88 + + doc: close unclosed angle-bracket of a placeholder in git-clone doc
89 + + doc: git-rev-parse: enforce command-line description syntax
90
98 - Doc clean-up.
99 - source: <20240218030327.40453-1-julio.bacel@gmail.com>
91 + Doc update.
92 + source: <pull.1670.git.1708468374.gitgitgadget@gmail.com>
93
94
102 -* jc/am-whitespace-doc (2024-02-14) 1 commit
103 - (merged to 'next' on 2024-02-19 at 492f0f9174)
104 - + doc: add shortcut to "am --whitespace=<action>"
95 +* jc/doc-add-placeholder-fix (2024-02-21) 1 commit
96 + (merged to 'next' on 2024-02-23 at 6950ff216b)
97 + + doc: apply the new placeholder rules to git-add documentation
98
106 - "git am --help" now tells readers what actions are available in
107 - "git am --whitespace=<action>", in addition to saying that the
108 - option is passed through to the underlying "git apply".
109 - source: <xmqqplwyvqby.fsf@gitster.g>
99 + Practice the new mark-up rule for <placeholders> with "git add"
100 + documentation page.
101 + source: <xmqqbk89molz.fsf@gitster.g>
102
103
112 -* jc/t9210-lazy-fix (2024-02-08) 1 commit
113 - (merged to 'next' on 2024-02-13 at fb61ca2fba)
114 - + t9210: do not rely on lazy fetching to fail
115 - (this branch is used by cc/rev-list-allow-missing-tips.)
104 +* jw/remote-doc-typofix (2024-02-21) 1 commit
105 + (merged to 'next' on 2024-02-23 at fe95873cfa)
106 + + git-remote.txt: fix typo
107
117 - Adjust use of "rev-list --missing" in an existing tests so that it
118 - does not depend on a buggy failure mode.
119 - source: <xmqq7cjemttr.fsf@gitster.g>
108 + Docfix.
109 + source: <20240221083554.5255-1-jwilk@jwilk.net>
110
111
122 -* jk/t0303-clean (2024-02-19) 2 commits
123 - (merged to 'next' on 2024-02-19 at f57b65215f)
124 - + t0303: check that helper_test_clean removes all credentials
125 - + Merge branch 'ba/credential-test-clean-fix' into jk/t0303-clean
126 - (this branch uses ba/credential-test-clean-fix.)
112 +* ps/difftool-dir-diff-exit-code (2024-02-20) 1 commit
113 + (merged to 'next' on 2024-02-21 at a7bbef5a5f)
114 + + git-difftool--helper: honor `--trust-exit-code` with `--dir-diff`
115
128 - Test clean-up.
129 - source: <20240217045814.GA539459@coredump.intra.peff.net>
116 + "git difftool --dir-diff" learned to honor the "--trust-exit-code"
117 + option; it used to always exit with 0 and signalled success.
118 + Acked-by: David Aguilar <davvid@gmail.com>
119 + cf. <CAJDDKr5+3jszG=psh=kUGDjNCeTDGPSS-qDuN=JAq-3ua=bNDg@mail.gmail.com>
120 + source: <0fac668f8fc021af9f9c4df5134da59816307ccc.1708423309.git.ps@pks.im>
121
122
132 -* kh/column-reject-negative-padding (2024-02-13) 2 commits
133 - (merged to 'next' on 2024-02-14 at c30c08e495)
134 - + column: guard against negative padding
135 - + column: disallow negative padding
123 +* ps/reflog-list (2024-02-21) 9 commits
124 + (merged to 'next' on 2024-02-23 at 7413632239)
125 + + builtin/reflog: introduce subcommand to list reflogs
126 + + refs: stop resolving ref corresponding to reflogs
127 + + refs: drop unused params from the reflog iterator callback
128 + + refs: always treat iterators as ordered
129 + + refs/files: sort merged worktree and common reflogs
130 + + refs/files: sort reflogs returned by the reflog iterator
131 + + dir-iterator: support iteration in sorted order
132 + + dir-iterator: pass name to `prepare_next_entry_data()` directly
133 + + Merge branch 'ps/reftable-backend' into ps/reflog-list
134
137 - "git column" has been taught to reject negative padding value, as
138 - it would lead to nonsense behaviour including division by zero.
139 - source: <cover.1707839454.git.code@khaugsbakk.name>
135 + "git reflog" learned a "list" subcommand that enumerates known reflogs.
136 + source: <cover.1708518982.git.ps@pks.im>
137
138
142 -* km/mergetool-vimdiff-layout-fallback (2024-02-19) 1 commit
143 - (merged to 'next' on 2024-02-19 at bf7f086f05)
144 - + mergetools: vimdiff: use correct tool's name when reading mergetool config
139 +* tb/multi-pack-verbatim-reuse (2024-02-23) 1 commit
140 + (merged to 'next' on 2024-02-23 at 8ee07f1da4)
141 + + Documentation/config/pack.txt: fix broken AsciiDoc mark-up
142
146 - Variants of vimdiff learned to honor mergetool.<variant>.layout settings.
147 - source: <20240217162718.21272-1-kipras@kipras.org>
143 + Docfix.
144 + source: <72bb58e5f3b8a5a622394c5ff40426156e122580.1708720255.git.me@ttaylorr.com>
145 +
146 +--------------------------------------------------
147 +[New Topics]
148
149 +* jk/upload-pack-bounded-resources (2024-02-28) 9 commits
150 + (merged to 'next' on 2024-03-01 at b70b6f0913)
151 + + upload-pack: free tree buffers after parsing
152 + + upload-pack: use PARSE_OBJECT_SKIP_HASH_CHECK in more places
153 + + upload-pack: always turn off save_commit_buffer
154 + + upload-pack: disallow object-info capability by default
155 + + upload-pack: accept only a single packfile-uri line
156 + + upload-pack: use a strmap for want-ref lines
157 + + upload-pack: use oidset for deepen_not list
158 + + upload-pack: switch deepen-not list to an oid_array
159 + + upload-pack: drop separate v2 "haves" array
160
150 -* mh/libsecret-empty-password-fix (2024-02-19) 1 commit
151 - (merged to 'next' on 2024-02-19 at b2e17695ca)
152 - + libsecret: retrieve empty password
161 + Originally merged to 'next' on 2024-02-29
162
154 - Credential helper based on libsecret (in contrib/) has been updated
155 - to handle an empty password correctly.
156 - source: <pull.1676.v2.git.git.1708375258296.gitgitgadget@gmail.com>
163 + Various parts of upload-pack has been updated to bound the resource
164 + consumption relative to the size of the repository to protect from
165 + abusive clients.
166
167 + Will merge to 'master'.
168 + source: <20240228223700.GA1157826@coredump.intra.peff.net>
169
159 -* ps/ref-tests-update-even-more (2024-02-15) 7 commits
160 - (merged to 'next' on 2024-02-15 at 064b2b4089)
161 - + t7003: ensure filter-branch prunes reflogs with the reftable backend
162 - + t2011: exercise D/F conflicts with HEAD with the reftable backend
163 - + t1405: remove unneeded cleanup step
164 - + t1404: make D/F conflict tests compatible with reftable backend
165 - + t1400: exercise reflog with gaps with reftable backend
166 - + t0410: convert tests to use DEFAULT_REPO_FORMAT prereq
167 - + t: move tests exercising the "files" backend
170
169 - More tests that are marked as "ref-files only" have been updated to
170 - improve test coverage of reftable backend.
171 - source: <cover.1707985173.git.ps@pks.im>
171 +* jk/upload-pack-v2-capability-cleanup (2024-02-29) 4 commits
172 + (merged to 'next' on 2024-03-01 at 2750893db7)
173 + + upload-pack: only accept packfile-uris if we advertised it
174 + + upload-pack: use existing config mechanism for advertisement
175 + + upload-pack: centralize setup of sideband-all config
176 + + upload-pack: use repository struct to get config
177
178 + Originally merged to 'next' on 2024-02-29
179
174 -* ps/reftable-backend (2024-02-07) 3 commits
175 - (merged to 'next' on 2024-02-08 at ba1c4c52bb)
176 - + refs/reftable: fix leak when copying reflog fails
177 - (merged to 'next' on 2024-02-07 at 1115200acb)
178 - + ci: add jobs to test with the reftable backend
179 - + refs: introduce reftable backend
180 - (this branch is used by kn/for-all-refs and ps/reflog-list.)
180 + The upload-pack program, when talking over v2, accepted the
181 + packfile-uris protocol extension from the client, even if it did
182 + not advertise the capability, which has been corrected.
183
182 - Integrate the reftable code into the refs framework as a backend.
183 - source: <cover.1707288261.git.ps@pks.im>
184 + Will merge to 'master'.
185 + source: <20240228224625.GA1158651@coredump.intra.peff.net>
186
187
186 -* ps/reftable-iteration-perf (2024-02-12) 7 commits
187 - (merged to 'next' on 2024-02-12 at 6abaf58383)
188 - + reftable/reader: add comments to `table_iter_next()`
189 - + reftable/record: don't try to reallocate ref record name
190 - + reftable/block: swap buffers instead of copying
191 - + reftable/pq: allocation-less comparison of entry keys
192 - + reftable/merged: skip comparison for records of the same subiter
193 - + reftable/merged: allocation-less dropping of shadowed records
194 - + reftable/record: introduce function to compare records by key
195 - (this branch is used by ps/reftable-iteration-perf-part2.)
188 +* es/config-doc-sort-sections (2024-02-29) 1 commit
189 + (merged to 'next' on 2024-03-04 at 0752144ed7)
190 + + docs: sort configuration variable groupings alphabetically
191
197 - The code to iterate over refs with the reftable backend has seen
198 - some optimization.
199 - source: <cover.1707726654.git.ps@pks.im>
192 + Doc updates.
193
194 + Will merge to 'master'.
195 + source: <20240229190229.20222-1-ericsunshine@charter.net>
196
202 -* rj/tag-column-fix (2024-02-14) 1 commit
203 - (merged to 'next' on 2024-02-19 at 9aa52b4ffb)
204 - + tag: error when git-column fails
197
206 - "git tag --column" failed to check the exit status of its "git
207 - column" invocation, which has been corrected.
208 - source: <59df085d-0de8-45b1-9b8b-c69e91e56a1f@gmail.com>
198 +* kh/doc-dashed-commands-have-not-worked-for-a-long-time (2024-03-01) 1 commit
199 + (merged to 'next' on 2024-03-04 at 7e070c67f9)
200 + + gitcli: drop mention of “non-dashed form”
201
202 + Doc update.
203
211 -* rs/use-xstrncmpz (2024-02-12) 1 commit
212 - (merged to 'next' on 2024-02-12 at 37e5f0fc14)
213 - + use xstrncmpz()
204 + Will merge to 'master'.
205 + source: <5b34bc4e22816f7f19bd26c15a08fe4c749b72f8.1709316230.git.code@khaugsbakk.name>
206
215 - Code clean-up.
216 - source: <954b75d0-1504-4f57-b34e-e770a4b7b3ea@web.de>
207 +
208 +* jc/xwrite-cleanup (2024-03-02) 3 commits
209 + - repack: check error writing to pack-objects subprocess
210 + - sideband: avoid short write(2)
211 + - unpack: replace xwrite() loop with write_in_full()
212 +
213 + Uses of xwrite() helper have been audited and updated for better
214 + error checking and simpler code.
215 + source: <20240302190348.3946569-1-gitster@pobox.com>
216 +
217 +
218 +* jc/test-i18ngrep (2024-03-02) 1 commit
219 + - test_i18ngrep: hard deprecate and forbid its use
220 +
221 + With release 2.44 we got rid of all uses of test_i18ngrep and there
222 + is no in-flight topic that adds a new use of it. Make a call to
223 + test_i18ngrep a hard failure, so that we can remove it at the end
224 + of this release cycle.
225 +
226 + Comments?
227 + source: <xmqq5xy4zhdc.fsf@gitster.g>
228 +
229 +
230 +* gt/core-bare-in-templates (2024-03-04) 1 commit
231 + - setup: remove unnecessary variable
232 +
233 + Code simplification.
234 +
235 + Will merge to 'next'?
236 + source: <20240304151811.511780-1-shyamthakkar001@gmail.com>
237 +
238 +
239 +* so/clean-dry-run-without-force (2024-03-04) 2 commits
240 + - clean: further clean-up of implementation around "--force"
241 + - clean: improve -n and -f implementation and documentation
242 +
243 + The implementation in "git clean" that makes "-n" and "-i" ignore
244 + clean.requireForce has been simplified, together with the
245 + documentation.
246 +
247 + Will merge to 'next'.
248 + source: <87le6ziqzb.fsf_-_@osv.gnss.ru>
249 + source: <20240303220600.2491792-1-gitster@pobox.com>
250 +
251 +
252 +* jh/trace2-missing-def-param-fix (2024-03-04) 4 commits
253 + - trace2: remove unneeded calls to generate 'def_param' set
254 + - trace2: emit 'def_param' set with 'cmd_name' event
255 + - trace2: avoid emitting 'def_param' set more than once
256 + - t0211: demonstrate missing 'def_param' events for certain commands
257 +
258 + Some trace2 events that lacked def_param have learned to show it,
259 + enriching the output.
260 +
261 + Needs review.
262 + source: <pull.1679.git.1709566808.gitgitgadget@gmail.com>
263 +
264 +
265 +* ps/reftable-stack-tempfile (2024-03-04) 4 commits
266 + - reftable/stack: register compacted tables as tempfiles
267 + - reftable/stack: register lockfiles during compaction
268 + - reftable/stack: register new tables as tempfiles
269 + - lockfile: report when rollback fails
270 +
271 + The code in reftable backend that creates new table files works
272 + better with the tempfile framework to avoid leaving cruft after a
273 + failure.
274 +
275 + Needs review.
276 + source: <cover.1709549619.git.ps@pks.im>
277 +
278 +
279 +* rs/opt-parse-long-fixups (2024-03-03) 6 commits
280 + - parse-options: rearrange long_name matching code
281 + - parse-options: normalize arg and long_name before comparison
282 + - parse-options: detect ambiguous self-negation
283 + - parse-options: factor out register_abbrev() and struct parsed_option
284 + - parse-options: set arg of abbreviated option lazily
285 + - parse-options: recognize abbreviated negated option with arg
286 +
287 + The parse-options code that deals with abbreviated long option
288 + names have been cleaned up.
289 +
290 + Needs review.
291 + source: <20240303121944.20627-1-l.s.r@web.de>
292 +
293 +
294 +* sj/t9117-path-is-file (2024-03-04) 1 commit
295 + (merged to 'next' on 2024-03-04 at de5f6a74cb)
296 + + t9117: prefer test_path_* helper functions
297 +
298 + GSoC practice to replace "test -f" with "test_path_is_file".
299 +
300 + Will merge to 'master'.
301 + source: <20240304095436.56399-2-shejialuo@gmail.com>
302 +
303 +
304 +* vm/t7301-use-test-path-helpers (2024-03-04) 1 commit
305 + - t7301: use test_path_is_(missing|file)
306 +
307 + GSoC practice to replace "test -f" with "test_path_is_file".
308 +
309 + Will merge to 'next'?
310 + source: <20240304171732.64457-2-vincenzo.mezzela@gmail.com>
311
312 --------------------------------------------------
219 -[New Topics]
313 +[Cooking]
314
221 -* cw/git-std-lib (2024-02-22) 3 commits
315 +* cw/git-std-lib (2024-02-28) 4 commits
316 + - SQUASH??? get rid of apparent debugging crufts
317 - test-stdlib: show that git-std-lib is independent
318 - git-std-lib: introduce Git Standard Library
319 - pager: include stdint.h because uintmax_t is used
@@ -229,48 +324,47 @@ Release tarballs are available at:
324 source: <cover.1696021277.git.jonathantanmy@google.com>
325
326
232 -* js/merge-base-with-missing-commit (2024-02-27) 11 commits
233 - - repo_get_merge_bases_many_dirty(): pass on errors from `merge_bases_many()`
234 - - repo_get_merge_bases_many(): pass on errors from `merge_bases_many()`
235 - - get_octopus_merge_bases(): pass on errors from `merge_bases_many()`
236 - - repo_get_merge_bases(): pass on errors from `merge_bases_many()`
237 - - get_merge_bases_many_0(): pass on errors from `merge_bases_many()`
238 - - merge_bases_many(): pass on errors from `paint_down_to_common()`
239 - - commit-reach: start reporting errors in `paint_down_to_common()`
240 - - Prepare `paint_down_to_common()` for handling shallow commits
241 - - Start reporting missing commits in `repo_in_merge_bases_many()`
242 - - Prepare `repo_in_merge_bases_many()` to optionally expect missing commits
243 - - paint_down_to_common: plug two memory leaks
327 +* js/merge-base-with-missing-commit (2024-02-29) 11 commits
328 + (merged to 'next' on 2024-03-01 at 3e3eabaee9)
329 + + commit-reach(repo_get_merge_bases_many_dirty): pass on errors
330 + + commit-reach(repo_get_merge_bases_many): pass on "missing commits" errors
331 + + commit-reach(get_octopus_merge_bases): pass on "missing commits" errors
332 + + commit-reach(repo_get_merge_bases): pass on "missing commits" errors
333 + + commit-reach(get_merge_bases_many_0): pass on "missing commits" errors
334 + + commit-reach(merge_bases_many): pass on "missing commits" errors
335 + + commit-reach(paint_down_to_common): start reporting errors
336 + + commit-reach(paint_down_to_common): prepare for handling shallow commits
337 + + commit-reach(repo_in_merge_bases_many): report missing commits
338 + + commit-reach(repo_in_merge_bases_many): optionally expect missing commits
339 + + commit-reach(paint_down_to_common): plug two memory leaks
340
245 - Make sure failure return from merge_bases_many() is properly caught.
341 + Originally merged to 'next' on 2024-02-29
342
247 - Needs review.
248 - source: <pull.1657.v3.git.1709040497.gitgitgadget@gmail.com>
249 -
250 -
251 -* tb/multi-pack-verbatim-reuse (2024-02-23) 1 commit
252 - (merged to 'next' on 2024-02-23 at 8ee07f1da4)
253 - + Documentation/config/pack.txt: fix broken AsciiDoc mark-up
343 + Make sure failure return from merge_bases_many() is properly caught.
344
255 - Docfix.
345 + Needs an incremental fix-up.
346 + cf.<20240301065805.GB2680308@coredump.intra.peff.net>
347 + source: <pull.1657.v4.git.1709113457.gitgitgadget@gmail.com>
348
257 - Will merge to 'master'.
258 - source: <72bb58e5f3b8a5a622394c5ff40426156e122580.1708720255.git.me@ttaylorr.com>
349
350 +* eg/add-uflags (2024-02-29) 1 commit
351 + (merged to 'next' on 2024-03-01 at 5dbc997561)
352 + + add: use unsigned type for collection of bits
353
261 -* eg/add-uflags (2024-02-24) 1 commit
262 - - add: use unsigned type for collection of bits
354 + Originally merged to 'next' on 2024-02-29
355
356 Code clean-up practice.
357
266 - cf. <CAP8UFD3qR8E0gvUQtzzkLPWv4Db45kFS4pEqHKQr5siciVJ-zQ@mail.gmail.com>
267 - source: <20240224112638.72257-2-giganteeugenio2@gmail.com>
358 + Will merge to 'master'.
359 + source: <20240229194444.8499-2-giganteeugenio2@gmail.com>
360
361
362 * jc/doc-compat-util (2024-02-27) 1 commit
271 - (merged to 'next' on 2024-02-27 at a838805d8c)
363 + (merged to 'next' on 2024-03-01 at 89b76c65d7)
364 + doc: clarify the wording on <git-compat-util.h> requirement
365
366 + Originally merged to 'next' on 2024-02-27
367 +
368 Clarify wording in the CodingGuidelines that requires <git-compat-util.h>
369 to be the first header file.
370
@@ -279,9 +373,11 @@ Release tarballs are available at:
373
374
375 * jc/no-include-of-compat-util-from-headers (2024-02-24) 1 commit
282 - (merged to 'next' on 2024-02-26 at 85857c09d9)
376 + (merged to 'next' on 2024-03-01 at ebb921087e)
377 + compat: drop inclusion of <git-compat-util.h>
378
379 + Originally merged to 'next' on 2024-02-26
380 +
381 Header file clean-up.
382
383 Will merge to 'master'.
@@ -289,11 +385,13 @@ Release tarballs are available at:
385
386
387 * jk/reflog-special-cases-fix (2024-02-26) 3 commits
292 - (merged to 'next' on 2024-02-27 at e9fbe29d06)
388 + (merged to 'next' on 2024-03-01 at 2b67f6e668)
389 + read_ref_at(): special-case ref@{0} for an empty reflog
390 + get_oid_basic(): special-case ref@{n} for oldest reflog entry
391 + Revert "refs: allow @{n} to work with n-sized reflog"
392
393 + Originally merged to 'next' on 2024-02-27
394 +
395 The logic to access reflog entries by date and number had ugly
396 corner cases at the boundaries, which have been cleaned up.
397
@@ -302,9 +400,11 @@ Release tarballs are available at:
400
401
402 * jk/textconv-cache-outside-repo-fix (2024-02-26) 1 commit
305 - (merged to 'next' on 2024-02-26 at d4a81531ef)
403 + (merged to 'next' on 2024-03-01 at 8508b83758)
404 + userdiff: skip textconv caching when not in a repository
405
406 + Originally merged to 'next' on 2024-02-26
407 +
408 The code incorrectly attempted to use textconv cache when asked,
409 even when we are not running in a repository, which has been
410 corrected.
@@ -314,9 +414,11 @@ Release tarballs are available at:
414
415
416 * js/remove-cruft-files (2024-02-26) 1 commit
317 - (merged to 'next' on 2024-02-26 at c6491c1c5d)
417 + (merged to 'next' on 2024-03-01 at 63100a274b)
418 + neue: remove a bogus empty file
419
420 + Originally merged to 'next' on 2024-02-26
421 +
422 Remove an empty file that shouldn't have been added in the first
423 place.
424
@@ -325,20 +427,25 @@ Release tarballs are available at:
427
428
429 * jt/commit-redundant-scissors-fix (2024-02-27) 2 commits
328 - - commit: unify logic to avoid multiple scissors lines when merging
329 - - commit: avoid redundant scissor line with --cleanup=scissors -v
430 + (merged to 'next' on 2024-03-01 at e5983498f1)
431 + + commit: unify logic to avoid multiple scissors lines when merging
432 + + commit: avoid redundant scissor line with --cleanup=scissors -v
433 +
434 + Originally merged to 'next' on 2024-02-29
435
436 "git commit -v --cleanup=scissors" used to add the scissors line
437 twice in the log message buffer, which has been corrected.
438
334 - Comments?
439 + Will merge to 'master'.
440 source: <Zd2eLxPelxvP8FDk@localhost>
441
442
443 * pb/ort-make-submodule-conflict-message-an-advice (2024-02-26) 1 commit
339 - (merged to 'next' on 2024-02-27 at abe2ab5ed7)
444 + (merged to 'next' on 2024-03-01 at df880cde2e)
445 + merge-ort: turn submodule conflict suggestions into an advice
446
447 + Originally merged to 'next' on 2024-02-27
448 +
449 When a merge conflicted at a submodule, merge-ort backend used to
450 unconditionally give a lengthy message to suggest how to resolve
451 it. Now the message can be squelched as an advice message.
@@ -359,9 +466,11 @@ Release tarballs are available at:
466
467
468 * rs/fetch-simplify-with-starts-with (2024-02-26) 1 commit
362 - (merged to 'next' on 2024-02-27 at 84bba0a921)
469 + (merged to 'next' on 2024-03-01 at 000e015fff)
470 + fetch: convert strncmp() with strlen() to starts_with()
471
472 + Originally merged to 'next' on 2024-02-27
473 +
474 Code simplification.
475
476 Will merge to 'master'.
@@ -369,10 +478,12 @@ Release tarballs are available at:
478
479
480 * rs/name-rev-with-mempool (2024-02-26) 2 commits
372 - (merged to 'next' on 2024-02-27 at b10b58ad64)
481 + (merged to 'next' on 2024-03-01 at d53eac1836)
482 + name-rev: use mem_pool_strfmt()
483 + mem-pool: add mem_pool_strfmt()
484
485 + Originally merged to 'next' on 2024-02-27
486 +
487 Many small allocations "git name-rev" makes have been updated to
488 allocate from a mem-pool.
489
@@ -381,30 +492,36 @@ Release tarballs are available at:
492
493
494 * rs/submodule-prefix-simplify (2024-02-26) 1 commit
384 - (merged to 'next' on 2024-02-27 at c6051f9f6b)
495 + (merged to 'next' on 2024-03-01 at 05d4d90201)
496 + submodule: use strvec_pushf() for --submodule-prefix
497
498 + Originally merged to 'next' on 2024-02-27
499 +
500 Code simplification.
501
502 Will merge to 'master'.
503 source: <8cd983fb-32b9-41c6-a9e7-a485b190488c@web.de>
504
505
393 -* rs/t-ctype-simplify (2024-02-26) 3 commits
394 - - t-ctype: do one test per class and char
395 - - t-ctype: avoid duplicating class names
396 - - t-ctype: allow NUL anywhere in the specification string
506 +* rs/t-ctype-simplify (2024-03-03) 4 commits
507 + (merged to 'next' on 2024-03-04 at 9bd84a8877)
508 + + t-ctype: avoid duplicating class names
509 + + t-ctype: align output of i
510 + + t-ctype: simplify EOF check
511 + + t-ctype: allow NUL anywhere in the specification string
512
513 Code simplification to one unit-test program.
514
400 - Comments?
401 - source: <20240225112722.89221-1-l.s.r@web.de>
515 + Will merge to 'master'.
516 + source: <20240303101330.20187-1-l.s.r@web.de>
517
518
519 * sg/upload-pack-error-message-fix (2024-02-26) 1 commit
405 - (merged to 'next' on 2024-02-27 at 7cd7a4c4d8)
520 + (merged to 'next' on 2024-03-01 at b94664a7a0)
521 + upload-pack: don't send null character in abort message to the client
522
523 + Originally merged to 'next' on 2024-02-27
524 +
525 An error message from "git upload-pack", which responds to "git
526 fetch" requests, had a trialing NUL in it, which has been
527 corrected.
@@ -414,9 +531,11 @@ Release tarballs are available at:
531
532
533 * ak/rebase-autosquash (2024-02-27) 1 commit
417 - (merged to 'next' on 2024-02-27 at 1a37c5ed5e)
534 + (merged to 'next' on 2024-03-01 at 57a34830b7)
535 + rebase: fix typo in autosquash documentation
536
537 + Originally merged to 'next' on 2024-02-27
538 +
539 Typofix.
540
541 Will merge to 'master'.
@@ -424,25 +543,31 @@ Release tarballs are available at:
543
544
545 * ps/reftable-repo-init-fix (2024-02-27) 2 commits
427 - - refs/reftable: don't fail empty transactions in repo without HEAD
428 - - Merge branch 'ps/remote-helper-repo-initialization-fix' into ps/reftable-repo-init-fix
546 + (merged to 'next' on 2024-03-01 at abbf85051b)
547 + + refs/reftable: don't fail empty transactions in repo without HEAD
548 + + Merge branch 'ps/remote-helper-repo-initialization-fix' into ps/reftable-repo-init-fix
549 (this branch uses ps/remote-helper-repo-initialization-fix.)
550
551 + Originally merged to 'next' on 2024-02-29
552 +
553 Clear the fallout from a fix for 2.44 regression.
554
433 - Will merge to 'next'?
555 + Will merge to 'master'.
556 source: <95be968e10bd02c64448786e690bbefe5c082577.1709041721.git.ps@pks.im>
557
558
559 * ps/remote-helper-repo-initialization-fix (2024-02-27) 1 commit
438 - - builtin/clone: allow remote helpers to detect repo
560 + (merged to 'next' on 2024-03-01 at 7b79ffbd8f)
561 + + builtin/clone: allow remote helpers to detect repo
562 (this branch is used by ps/reftable-repo-init-fix.)
563
564 + Originally merged to 'next' on 2024-02-29
565 +
566 A custom remote helper no longer cannot access the newly created
567 repository during "git clone", which is a regression in Git 2.44.
568 This has been corrected.
569
445 - Will merge to 'next'?
570 + Will merge to 'master'.
571 source: <9d888adf92e9a8af7c18847219f97d3e595e3e36.1709041721.git.ps@pks.im>
572
573
@@ -455,84 +580,6 @@ Release tarballs are available at:
580 Comments?
581 source: <pull.1678.git.1709042783847.gitgitgadget@gmail.com>
582
458 ---------------------------------------------------
459 -[Cooking]
460 -
461 -* ps/difftool-dir-diff-exit-code (2024-02-20) 1 commit
462 - (merged to 'next' on 2024-02-21 at a7bbef5a5f)
463 - + git-difftool--helper: honor `--trust-exit-code` with `--dir-diff`
464 -
465 - "git difftool --dir-diff" learned to honor the "--trust-exit-code"
466 - option; it used to always exit with 0 and signalled success.
467 -
468 - Will merge to 'master'.
469 - source: <0fac668f8fc021af9f9c4df5134da59816307ccc.1708423309.git.ps@pks.im>
470 -
471 -
472 -* ds/doc-send-email-capitalization (2024-02-20) 1 commit
473 - (merged to 'next' on 2024-02-21 at c4aac4b993)
474 - + documentation: send-email: use camel case consistently
475 -
476 - Doc update.
477 -
478 - Will merge to 'master'.
479 - source: <88f1fe08c3047e14090957093ee8d98b0f60cb6c.1708467601.git.dsimic@manjaro.org>
480 -
481 -
482 -* ja/docfixes (2024-02-20) 3 commits
483 - (merged to 'next' on 2024-02-21 at 6d778ca672)
484 - + doc: end sentences with full-stop
485 - + doc: close unclosed angle-bracket of a placeholder in git-clone doc
486 - + doc: git-rev-parse: enforce command-line description syntax
487 -
488 - Doc update.
489 -
490 - Will merge to 'master'.
491 - source: <pull.1670.git.1708468374.gitgitgadget@gmail.com>
492 -
493 -
494 -* hs/rebase-not-in-progress (2024-02-21) 1 commit
495 - (merged to 'next' on 2024-02-23 at ce53f5243f)
496 - + rebase: make warning less passive aggressive
497 -
498 - Error message update.
499 -
500 - Will merge to 'master'.
501 - source: <pull.1669.v2.git.1708537097448.gitgitgadget@gmail.com>
502 -
503 -
504 -* jw/remote-doc-typofix (2024-02-21) 1 commit
505 - (merged to 'next' on 2024-02-23 at fe95873cfa)
506 - + git-remote.txt: fix typo
507 -
508 - Docfix.
509 -
510 - Will merge to 'master'.
511 - source: <20240221083554.5255-1-jwilk@jwilk.net>
512 -
513 -
514 -* ja/doc-placeholders-markup-rules (2024-02-21) 1 commit
515 - (merged to 'next' on 2024-02-23 at b6761ceeac)
516 - + doc: clarify the format of placeholders
517 -
518 - The way placeholders are to be marked-up in documentation have been
519 - specified; use "_<placeholder>_" to typeset the word inside a pair
520 - of <angle-brakets> emphasized.
521 -
522 - Will merge to 'master'.
523 - source: <pull.1671.git.1708550340094.gitgitgadget@gmail.com>
524 -
525 -
526 -* jc/doc-add-placeholder-fix (2024-02-21) 1 commit
527 - (merged to 'next' on 2024-02-23 at 6950ff216b)
528 - + doc: apply the new placeholder rules to git-add documentation
529 -
530 - Practice the new mark-up rule for <placeholders> with "git add"
531 - documentation page.
532 -
533 - Will merge to 'master'.
534 - source: <xmqqbk89molz.fsf@gitster.g>
535 -
583
584 * as/option-names-in-messages (2024-02-16) 5 commits
585 - revision.c: trivial fix to message
@@ -547,24 +594,6 @@ Release tarballs are available at:
594 source: <20240216101647.28837-1-ash@kambanaria.org>
595
596
550 -* ps/reflog-list (2024-02-21) 9 commits
551 - (merged to 'next' on 2024-02-23 at 7413632239)
552 - + builtin/reflog: introduce subcommand to list reflogs
553 - + refs: stop resolving ref corresponding to reflogs
554 - + refs: drop unused params from the reflog iterator callback
555 - + refs: always treat iterators as ordered
556 - + refs/files: sort merged worktree and common reflogs
557 - + refs/files: sort reflogs returned by the reflog iterator
558 - + dir-iterator: support iteration in sorted order
559 - + dir-iterator: pass name to `prepare_next_entry_data()` directly
560 - + Merge branch 'ps/reftable-backend' into ps/reflog-list
561 -
562 - "git reflog" learned a "list" subcommand that enumerates known reflogs.
563 -
564 - Will merge to 'master'.
565 - source: <cover.1708518982.git.ps@pks.im>
566 -
567 -
597 * jh/fsmonitor-icase-corner-case-fix (2024-02-26) 14 commits
598 - fsmonitor: support case-insensitive events
599 - fsmonitor: refactor bit invalidation in refresh callback
@@ -589,7 +618,8 @@ Release tarballs are available at:
618 source: <pull.1662.v3.git.1708983565.gitgitgadget@gmail.com>
619
620
592 -* ps/reftable-iteration-perf-part2 (2024-02-14) 13 commits
621 +* ps/reftable-iteration-perf-part2 (2024-03-04) 13 commits
622 + - refs/reftable: precompute prefix length
623 - reftable: allow inlining of a few functions
624 - reftable/record: decode keys in place
625 - reftable/record: reuse refname when copying
@@ -602,23 +632,12 @@ Release tarballs are available at:
632 - reftable/merged: advance subiter on subsequent iteration
633 - reftable/merged: make `merged_iter` structure private
634 - reftable/pq: use `size_t` to track iterator index
605 - - Merge branch 'ps/reftable-iteration-perf' into ps/reftable-iteration-perf-part2
635
636 The code to iterate over refs with the reftable backend has seen
637 some optimization.
638
610 - Needs review.
611 - source: <cover.1707895758.git.ps@pks.im>
612 -
613 -
614 -* cp/t9146-use-test-path-helpers (2024-02-14) 1 commit
615 - (merged to 'next' on 2024-02-21 at 0b8356ef33)
616 - + t9146: replace test -d/-e/-f with appropriate test_path_is_* function
617 -
618 - Test script clean-up.
619 -
620 - Will merge to 'master'.
621 - source: <pull.1661.v3.git.1707933048210.gitgitgadget@gmail.com>
639 + Will merge to 'next'?
640 + source: <cover.1709548907.git.ps@pks.im>
641
642
643 * js/cmake-with-test-tool (2024-02-23) 2 commits
@@ -633,7 +652,7 @@ Release tarballs are available at:
652
653
654 * kn/for-all-refs (2024-02-23) 6 commits
636 - (merged to 'next' on 2024-02-27 at aef2406cca)
655 + (merged to 'next' on 2024-03-01 at 76a1297ace)
656 + for-each-ref: add new option to include root refs
657 + ref-filter: rename 'FILTER_REFS_ALL' to 'FILTER_REFS_REGULAR'
658 + refs: introduce `refs_for_each_include_root_refs()`
@@ -641,25 +660,28 @@ Release tarballs are available at:
660 + refs: introduce `is_pseudoref()` and `is_headref()`
661 + Merge branch 'ps/reftable-backend' into kn/for-all-refs
662
644 - "git for-each-ref" filters its output with prefixes given from the
645 - command line, but it did not honor an empty string to mean "pass
646 - everything", which has been corrected.
663 + Originally merged to 'next' on 2024-02-27
664 +
665 + "git for-each-ref" learned "--include-root-refs" option to show
666 + even the stuff outside the 'refs/' hierarchy.
667
668 Will merge to 'master'.
669 source: <20240223100112.44127-1-karthik.188@gmail.com>
670
671
672 * jc/no-lazy-fetch (2024-02-27) 3 commits
653 - - git: extend --no-lazy-fetch to work across subprocesses
654 - - git: document GIT_NO_REPLACE_OBJECTS environment variable
655 - (merged to 'next' on 2024-02-13 at 7c7136e547)
673 + (merged to 'next' on 2024-03-01 at 14303cdbfe)
674 + + git: extend --no-lazy-fetch to work across subprocesses
675 + + git: document GIT_NO_REPLACE_OBJECTS environment variable
676 + git: --no-lazy-fetch option
677
678 + Originally merged to 'next' on 2024-02-29
679 +
680 "git --no-lazy-fetch cmd" allows to run "cmd" while disabling lazy
681 fetching of objects from the promisor remote, which may be handy
682 for debugging.
683
662 - Will merge to 'next'?
684 + Will merge to 'master'.
685 source: <xmqq1q8xx38i.fsf@gitster.g>
686 source: <xmqq1q9cl3xv.fsf@gitster.g>
687 source: <xmqq1q9mmtpw.fsf@gitster.g>
@@ -683,13 +705,17 @@ Release tarballs are available at:
705 source: <cover.1708728717.git.steadmon@google.com>
706
707
686 -* cc/rev-list-allow-missing-tips (2024-02-14) 4 commits
687 - (merged to 'next' on 2024-02-21 at 9b63eec23f)
708 +* cc/rev-list-allow-missing-tips (2024-02-28) 5 commits
709 + (merged to 'next' on 2024-03-01 at fd7b109d04)
710 + + revision: fix --missing=[print|allow*] for annotated tags
711 + (merged to 'next' on 2024-03-01 at ac0fc94378)
712 + rev-list: allow missing tips with --missing=[print|allow*]
713 + t6022: fix 'test' style and 'even though' typo
714 + oidset: refactor oidset_insert_from_set()
715 + revision: clarify a 'return NULL' in get_reference()
716
717 + Originally merged to 'next' on 2024-02-28
718 +
719 "git rev-list --missing=print" has learned to optionally take
720 "--allow-missing-tips", which allows the objects at the starting
721 points to be missing.
@@ -699,46 +725,51 @@ Release tarballs are available at:
725
726
727 * js/merge-tree-3-trees (2024-02-23) 7 commits
702 - - fill_tree_descriptor(): mark error message for translation
703 - - cache-tree: avoid an unnecessary check
704 - - Always check `parse_tree*()`'s return value
705 - - t4301: verify that merge-tree fails on missing blob objects
706 - - merge-ort: do check `parse_tree()`'s return value
707 - - merge-tree: fail with a non-zero exit code on missing tree objects
708 - (merged to 'next' on 2024-01-30 at 0c77b04e59)
728 + (merged to 'next' on 2024-03-01 at a75dc95f04)
729 + + fill_tree_descriptor(): mark error message for translation
730 + + cache-tree: avoid an unnecessary check
731 + + Always check `parse_tree*()`'s return value
732 + + t4301: verify that merge-tree fails on missing blob objects
733 + + merge-ort: do check `parse_tree()`'s return value
734 + + merge-tree: fail with a non-zero exit code on missing tree objects
735 + merge-tree: accept 3 trees as arguments
736
737 + Originally merged to 'next' on 2024-02-28
738 +
739 "git merge-tree" has learned that the three trees involved in the
740 3-way merge only need to be trees, not necessarily commits.
741
714 - Will merge to 'next'?
742 + Will merge to 'master'.
743 source: <pull.1647.git.1706277694231.gitgitgadget@gmail.com>
744 source: <pull.1651.v4.git.1708677266.gitgitgadget@gmail.com>
745
746
719 -* rj/complete-reflog (2024-01-26) 4 commits
747 +* rj/complete-reflog (2024-03-03) 5 commits
748 + - completion: reflog subcommands and options
749 + - completion: factor out __git_resolve_builtins
750 + - completion: introduce __git_find_subcommand
751 - completion: reflog show <log-options>
752 - completion: reflog with implicit "show"
722 - - completion: introduce __git_find_subcommand
723 - - completion: introduce __gitcomp_subcommand
753
754 The command line completion script (in contrib/) learned to
755 complete "git reflog" better.
756
728 - Expecting a reroll.
729 - cf. <dd106d87-3363-426a-90a2-16e1f2d04661@gmail.com>
730 - source: <98daf977-dbad-4d3b-a293-6a769895088f@gmail.com>
757 + Will merge to 'next'?
758 + source: <ea6c8890-9ff3-46c9-b933-6a52083b1001@gmail.com>
759 +
760
761 +* ml/log-merge-with-cherry-pick-and-other-pseudo-heads (2024-02-28) 2 commits
762 + (merged to 'next' on 2024-03-01 at 339111ec08)
763 + + revision: implement `git log --merge` also for rebase/cherry-pick/revert
764 + + revision: ensure MERGE_HEAD is a ref in prepare_show_merge
765
733 -* ml/log-merge-with-cherry-pick-and-other-pseudo-heads (2024-02-27) 2 commits
734 - - revision: implement `git log --merge` also for rebase/cherry-pick/revert
735 - - revision: ensure MERGE_HEAD is a ref in prepare_show_merge
766 + Originally merged to 'next' on 2024-02-29
767
768 "git log --merge" learned to pay attention to CHERRY_PICK_HEAD and
769 other kinds of *_HEAD pseudorefs.
770
740 - Will merge to 'next'?
741 - source: <20240225-ml-log-merge-with-cherry-pick-and-other-pseudo-heads-v5-0-af1ef2d9e44d@gmail.com>
771 + Will merge to 'master'.
772 + source: <20240228-ml-log-merge-with-cherry-pick-and-other-pseudo-heads-v6-0-8ec34c052b39@gmail.com>
773
774
775 * bk/complete-dirname-for-am-and-format-patch (2024-01-12) 1 commit
@@ -765,22 +796,18 @@ Release tarballs are available at:
796 source: <a718b5ee-afb0-44bd-a299-3208fac43506@smtp-relay.sendinblue.com>
797
798
768 -* la/trailer-api (2024-02-16) 9 commits
769 - (merged to 'next' on 2024-02-21 at 631e28bbbc)
770 - + format_trailers_from_commit(): indirectly call trailer_info_get()
771 - + format_trailer_info(): move "fast path" to caller
772 - + format_trailers(): use strbuf instead of FILE
773 - + trailer_info_get(): reorder parameters
774 - + trailer: start preparing for formatting unification
775 - + trailer: move interpret_trailers() to interpret-trailers.c
776 - + trailer: prepare to expose functions as part of API
777 - + shortlog: add test for de-duplicating folded trailers
778 - + trailer: free trailer_info _after_ all related usage
799 +* la/trailer-api (2024-03-01) 9 commits
800 + - format_trailers_from_commit(): indirectly call trailer_info_get()
801 + - format_trailer_info(): move "fast path" to caller
802 + - format_trailers(): use strbuf instead of FILE
803 + - trailer_info_get(): reorder parameters
804 + - trailer: move interpret_trailers() to interpret-trailers.c
805 + - trailer: reorder format_trailers_from_commit() parameters
806 + - trailer: rename functions to use 'trailer'
807 + - shortlog: add test for de-duplicating folded trailers
808 + - trailer: free trailer_info _after_ all related usage
809
780 - Code clean-up.
781 -
782 - Will merge to 'master'.
783 - source: <pull.1632.v5.git.1708124950.gitgitgadget@gmail.com>
810 + source: <pull.1632.v6.git.1709252086.gitgitgadget@gmail.com>
811
812
813 * tb/path-filter-fix (2024-01-31) 16 commits
@@ -859,17 +886,3 @@ Release tarballs are available at:
886
887 Not ready to be reviewed yet.
888 source: <20230824205456.1231371-1-gitster@pobox.com>
862 -
863 ---------------------------------------------------
864 -[Discarded]
865 -
866 -* mh/credential-oauth-refresh-token-with-osxkeychain (2024-02-14) 1 commit
867 - . credential/osxkeychain: store new attributes
868 -
869 - OAuth refresh tokens and password expiry timestamps are now stored
870 - in the osxkeychain backend , just the way libsecret and wincred
871 - backends of the credential subsystem do.
872 -
873 - Retracted.
874 - cf. <CAGJzqsknN_RmYeT0xcn4cTLcJhsxSOUC6ppRVepxMDf3day5Fw@mail.gmail.com>
875 - source: <pull.1663.git.1707860618119.gitgitgadget@gmail.com>