What's cooking (2024/05 #13)
Junio C Hamano committed
May 30, 2024 at 16:32 UTC
bd128a8c9767ecc76f0b39d9076ea3fbf1c4dc03
1 file changed
+260
-371
whats-cooking.txt
+260
-371
@@ -1,10 +1,10 @@
1
To: git@vger.kernel.org
2
-Subject: What's cooking in git.git (May 2024, #12; Tue, 28)
3
-X-master-at: 3a57aa566a21e7a510c64881bc6bdff7eb397988
4
-X-next-at: bab1589fc04ad0202329dc933a2f485402c51dfa
2
+Subject: What's cooking in git.git (May 2024, #13; Thu, 30)
3
+X-master-at: 58bac47f8eb2c5e92e354f33ee079a244e5b5003
4
+X-next-at: 366b0e951c73ed6cf46e8bec53d1f3c71c34a718
5
Bcc: lwn@lwn.net, gitster@pobox.com
6
7
-What's cooking in git.git (May 2024, #12; Tue, 28)
7
+What's cooking in git.git (May 2024, #13; Thu, 30)
8
--------------------------------------------------
9
10
Here are the topics that have been cooking in my tree. Commits
@@ -22,7 +22,7 @@ to 2.39 maintenance track are affected), and we are trying to assess
22
the extent of damage and which changes that went into the release to
23
revert. We know about "git lfs" and "git annex" getting affected.
24
We have bunch of reverts planned to fix these regressions that are
25
-already in 'next'. Please test it if you think you're affected, so
25
+already in 'master'. Please test it if you think you're affected, so
26
that we can have 2.45.2 and friends to fix these regressions early
27
next month.
28
@@ -57,174 +57,265 @@ Release tarballs are available at:
57
--------------------------------------------------
58
[Graduated to 'master']
59
60
-* ds/send-email-per-message-block (2024-04-10) 1 commit
61
- (merged to 'next' on 2024-05-20 at 189c49a1ca)
62
- + send-email: move newline characters out of a few translatable strings
60
+* es/chainlint-ncores-fix (2024-05-22) 3 commits
61
+ (merged to 'next' on 2024-05-22 at 1e4ab85522)
62
+ + chainlint.pl: latch CPU count directly reported by /proc/cpuinfo
63
+ + chainlint.pl: fix incorrect CPU count on Linux SPARC
64
+ + chainlint.pl: make CPU count computation more robust
65
64
- Preliminary code clean-up for "git send-email".
65
- The topmost commit in the original series was dropped per author's request.
66
- cf. <a07d3807a24f6d68cb48ee48366ae25e@manjaro.org>
67
- source: <29ea3a9b07bf1aa17b5d6a1e41325379c494bcb2.1712732383.git.dsimic@manjaro.org>
66
+ The chainlint script (invoked during "make test") did nothing when
67
+ it failed to detect the number of available CPUs. It now falls
68
+ back to 1 CPU to avoid the problem.
69
+ source: <20240520190131.94904-1-ericsunshine@charter.net>
70
71
70
-* jc/doc-diff-name-only (2024-05-17) 1 commit
71
- (merged to 'next' on 2024-05-20 at 13b6f9350d)
72
- + diff: document what --name-only shows
72
+* gt/unit-test-strcmp-offset (2024-05-20) 1 commit
73
+ (merged to 'next' on 2024-05-23 at f672ec425f)
74
+ + t/: port helper/test-strcmp-offset.c to unit-tests/t-strcmp-offset.c
75
74
- The documentation for "git diff --name-only" has been clarified
75
- that it is about showing the names in the post-image tree.
76
- source: <xmqqeda0jr7d.fsf@gitster.g>
76
+ The strcmp-offset tests have been rewritten using the unit test
77
+ framework.
78
+ source: <20240519204530.12258-3-shyamthakkar001@gmail.com>
79
80
79
-* jc/doc-manpages-l10n (2024-05-17) 1 commit
80
- (merged to 'next' on 2024-05-20 at fb103ed70f)
81
- + SubmittingPatches: advertise git-manpages-l10n project a bit
81
+* jc/add-patch-enforce-single-letter-input (2024-05-22) 1 commit
82
+ (merged to 'next' on 2024-05-23 at 12fef48392)
83
+ + add-patch: enforce only one-letter response to prompts
84
83
- The SubmittingPatches document now refers folks to manpages
84
- translation project.
85
- source: <xmqqv83muc12.fsf@gitster.g>
85
+ "git add -p" learned to complain when an answer with more than one
86
+ letter is given to a prompt that expects a single letter answer.
87
+ source: <xmqqh6ep1pwz.fsf_-_@gitster.g>
88
89
88
-* jc/format-patch-more-aggressive-range-diff (2024-05-06) 1 commit
89
- (merged to 'next' on 2024-05-21 at 899cce93fb)
90
- + format-patch: run range-diff with larger creation-factor
90
+* jc/fix-2.45.1-and-friends-for-2.39 (2024-05-22) 12 commits
91
+ + Revert "fsck: warn about symlink pointing inside a gitdir"
92
+ + Revert "Add a helper function to compare file contents"
93
+ + clone: drop the protections where hooks aren't run
94
+ + tests: verify that `clone -c core.hooksPath=/dev/null` works again
95
+ + Revert "core.hooksPath: add some protection while cloning"
96
+ + init: use the correct path of the templates directory again
97
+ + hook: plug a new memory leak
98
+ + ci: stop installing "gcc-13" for osx-gcc
99
+ + ci: avoid bare "gcc" for osx-gcc job
100
+ + ci: drop mention of BREW_INSTALL_PACKAGES variable
101
+ + send-email: avoid creating more than one Term::ReadLine object
102
+ + send-email: drop FakeTerm hack
103
+ (this branch is used by jc/fix-2.45.1-and-friends-for-maint.)
104
92
- The default "creation-factor" used by "git format-patch" has been
93
- raised to make it more aggressively find matching commits.
94
- source: <xmqqbk5i3ncw.fsf_-_@gitster.g>
105
+ Revert overly aggressive "layered defence" that went into 2.45.1
106
+ and friends, which broke "git-lfs", "git-annex", and other use
107
+ cases, so that we can rebuild necessary counterparts in the open.
108
+ source: <20240521195659.870714-1-gitster@pobox.com>
109
110
97
-* jc/rev-parse-fatal-doc (2024-05-01) 1 commit
98
- (merged to 'next' on 2024-05-21 at 9bbb973b7b)
99
- + rev-parse: document how --is-* options work outside a repository
111
+* jc/fix-2.45.1-and-friends-for-maint (2024-05-24) 6 commits
112
+ (merged to 'next' on 2024-05-25 at a090491028)
113
+ + Merge branch 'fixes/2.45.1/2.44' into jc/fix-2.45.1-and-friends-for-maint
114
+ + Merge branch 'fixes/2.45.1/2.43' into fixes/2.45.1/2.44
115
+ + Merge branch 'fixes/2.45.1/2.42' into fixes/2.45.1/2.43
116
+ + Merge branch 'fixes/2.45.1/2.41' into fixes/2.45.1/2.42
117
+ + Merge branch 'fixes/2.45.1/2.40' into fixes/2.45.1/2.41
118
+ + Merge branch 'jc/fix-2.45.1-and-friends-for-2.39' into fixes/2.45.1/2.40
119
+ (this branch uses jc/fix-2.45.1-and-friends-for-2.39.)
120
101
- Doc update.
102
- source: <xmqqplu54fbg.fsf@gitster.g>
121
+ Adjust jc/fix-2.45.1-and-friends-for-2.39 for more recent
122
+ maintenance track.
123
124
105
-* jc/t0017-clarify-bogus-expectation (2024-05-16) 1 commit
106
- (merged to 'next' on 2024-05-20 at c64016ec43)
107
- + t0017: clarify dubious test set-up
125
+* jc/undecided-is-not-necessarily-sha1-fix (2024-05-21) 6 commits
126
+ (merged to 'next' on 2024-05-22 at 4bd7982ebe)
127
+ + apply: fix uninitialized hash function
128
+ + builtin/hash-object: fix uninitialized hash function
129
+ + builtin/patch-id: fix uninitialized hash function
130
+ + t1517: test commands that are designed to be run outside repository
131
+ + setup: add an escape hatch for "no more default hash algorithm" change
132
+ + Merge branch 'ps/undecided-is-not-necessarily-sha1' into jc/undecided-is-not-necessarily-sha1-fix
133
+ (this branch uses ps/undecided-is-not-necessarily-sha1.)
134
109
- Test clean-up.
110
- source: <xmqqcypmx44l.fsf@gitster.g>
135
+ The base topic started to make it an error for a command to leave
136
+ the hash algorithm unspecified, which revealed a few commands that
137
+ were not ready for the change. Give users a knob to revert back to
138
+ the "default is sha-1" behaviour as an escape hatch, and start
139
+ fixing these breakages.
140
+ source: <20240520231434.1816979-1-gitster@pobox.com>
141
142
113
-* kn/osxkeychain-skip-idempotent-store (2024-05-15) 2 commits
114
- (merged to 'next' on 2024-05-21 at 4d757167ad)
115
- + osxkeychain: state to skip unnecessary store operations
116
- + osxkeychain: exclusive lock to serialize execution of operations
143
+* js/doc-decisions (2024-05-17) 1 commit
144
+ (merged to 'next' on 2024-05-22 at 891a062720)
145
+ + doc: describe the project's decision-making process
146
118
- The credential helper that talks with osx keychain learned to avoid
119
- storing back the authentication material it just got received from
120
- the keychain.
121
- source: <pull.1729.v3.git.1715800868.gitgitgadget@gmail.com>
147
+ The project decision making policy has been documented.
148
+ source: <10f217915600eda3ebec886e4f020f87c22e318a.1715978031.git.steadmon@google.com>
149
150
124
-* kn/patch-iteration-doc (2024-05-17) 2 commits
125
- (merged to 'next' on 2024-05-20 at e0ee0051a9)
126
- + SubmittingPatches: add section for iterating patches
127
- + Merge branch 'jc/patch-flow-updates' into kn/patch-iteration-doc
151
+* ps/refs-without-the-repository-updates (2024-05-17) 17 commits
152
+ (merged to 'next' on 2024-05-22 at 744f37ab2b)
153
+ + refs/packed: remove references to `the_hash_algo`
154
+ + refs/files: remove references to `the_hash_algo`
155
+ + refs/files: use correct repository
156
+ + refs: remove `dwim_log()`
157
+ + refs: drop `git_default_branch_name()`
158
+ + refs: pass repo when peeling objects
159
+ + refs: move object peeling into "object.c"
160
+ + refs: pass ref store when detecting dangling symrefs
161
+ + refs: convert iteration over replace refs to accept ref store
162
+ + refs: retrieve worktree ref stores via associated repository
163
+ + refs: refactor `resolve_gitlink_ref()` to accept a repository
164
+ + refs: pass repo when retrieving submodule ref store
165
+ + refs: track ref stores via strmap
166
+ + refs: implement releasing ref storages
167
+ + refs: rename `init_db` callback to avoid confusion
168
+ + refs: adjust names for `init` and `init_db` callbacks
169
+ + Merge branch 'ps/refs-without-the-repository' into ps/refs-without-the-repository-updates
170
+ (this branch is used by ps/ref-storage-migration.)
171
129
- Doc updates.
130
- source: <20240517122724.270706-1-knayak@gitlab.com>
172
+ Further clean-up the refs subsystem to stop relying on
173
+ the_repository, and instead use the repository associated to the
174
+ ref_store object.
175
+ source: <cover.1715929858.git.ps@pks.im>
176
177
133
-* mt/t0211-typofix (2024-05-16) 1 commit
134
- (merged to 'next' on 2024-05-20 at f4fba3c7d2)
135
- + t/t0211-trace2-perf.sh: fix typo patern -> pattern
178
+* ps/reftable-reusable-iterator (2024-05-13) 13 commits
179
+ (merged to 'next' on 2024-05-22 at b92eb9939f)
180
+ + reftable/merged: adapt interface to allow reuse of iterators
181
+ + reftable/stack: provide convenience functions to create iterators
182
+ + reftable/reader: adapt interface to allow reuse of iterators
183
+ + reftable/generic: adapt interface to allow reuse of iterators
184
+ + reftable/generic: move seeking of records into the iterator
185
+ + reftable/merged: simplify indices for subiterators
186
+ + reftable/merged: split up initialization and seeking of records
187
+ + reftable/reader: set up the reader when initializing table iterator
188
+ + reftable/reader: inline `reader_seek_internal()`
189
+ + reftable/reader: separate concerns of table iter and reftable reader
190
+ + reftable/reader: unify indexed and linear seeking
191
+ + reftable/reader: avoid copying index iterator
192
+ + reftable/block: use `size_t` to track restart point index
193
137
- Test fix.
138
- source: <ZkW5ggOVlglfi64u@telcontar>
194
+ Code clean-up to make the reftable iterator closer to be reusable.
195
+ source: <cover.1715589670.git.ps@pks.im>
196
197
141
-* ps/builtin-config-cleanup (2024-05-15) 22 commits
142
- (merged to 'next' on 2024-05-20 at b6f728f1f5)
143
- + builtin/config: pass data between callbacks via local variables
144
- + builtin/config: convert flags to a local variable
145
- + builtin/config: track "fixed value" option via flags only
146
- + builtin/config: convert `key` to a local variable
147
- + builtin/config: convert `key_regexp` to a local variable
148
- + builtin/config: convert `regexp` to a local variable
149
- + builtin/config: convert `value_pattern` to a local variable
150
- + builtin/config: convert `do_not_match` to a local variable
151
- + builtin/config: move `respect_includes_opt` into location options
152
- + builtin/config: move default value into display options
153
- + builtin/config: move type options into display options
154
- + builtin/config: move display options into local variables
155
- + builtin/config: move location options into local variables
156
- + builtin/config: refactor functions to have common exit paths
157
- + config: make the config source const
158
- + builtin/config: check for writeability after source is set up
159
- + builtin/config: move actions into `cmd_config_actions()`
160
- + builtin/config: move legacy options into `cmd_config()`
161
- + builtin/config: move subcommand options into `cmd_config()`
162
- + builtin/config: move legacy mode into its own function
163
- + builtin/config: stop printing full usage on misuse
164
- + Merge branch 'ps/config-subcommands' into ps/builtin-config-cleanup
198
+* ps/reftable-write-options (2024-05-13) 11 commits
199
+ (merged to 'next' on 2024-05-22 at ae8e378430)
200
+ + refs/reftable: allow configuring geometric factor
201
+ + reftable: make the compaction factor configurable
202
+ + refs/reftable: allow disabling writing the object index
203
+ + refs/reftable: allow configuring restart interval
204
+ + reftable: use `uint16_t` to track restart interval
205
+ + refs/reftable: allow configuring block size
206
+ + reftable/dump: support dumping a table's block structure
207
+ + reftable/writer: improve error when passed an invalid block size
208
+ + reftable/writer: drop static variable used to initialize strbuf
209
+ + reftable: pass opts as constant pointer
210
+ + reftable: consistently refer to `reftable_write_options` as `opts`
211
166
- Code clean-up to reduce inter-function communication inside
167
- builtin/config.c done via the use of global variables.
168
- source: <cover.1715755055.git.ps@pks.im>
212
+ The knobs to tweak how reftable files are written have been made
213
+ available as configuration variables.
214
+ source: <cover.1715587849.git.ps@pks.im>
215
216
171
-* ps/complete-config-w-subcommands (2024-05-17) 1 commit
172
- (merged to 'next' on 2024-05-20 at 14453d34fc)
173
- + completion: adapt git-config(1) to complete subcommands
217
+* ps/undecided-is-not-necessarily-sha1 (2024-05-06) 15 commits
218
+ (merged to 'next' on 2024-05-08 at 9f8e894685)
219
+ + repository: stop setting SHA1 as the default object hash
220
+ + oss-fuzz/commit-graph: set up hash algorithm
221
+ + builtin/shortlog: don't set up revisions without repo
222
+ + builtin/diff: explicitly set hash algo when there is no repo
223
+ + builtin/bundle: abort "verify" early when there is no repository
224
+ + builtin/blame: don't access potentially unitialized `the_hash_algo`
225
+ + builtin/rev-parse: allow shortening to more than 40 hex characters
226
+ + remote-curl: fix parsing of detached SHA256 heads
227
+ + attr: fix BUG() when parsing attrs outside of repo
228
+ + attr: don't recompute default attribute source
229
+ + parse-options-cb: only abbreviate hashes when hash algo is known
230
+ + path: move `validate_headref()` to its only user
231
+ + path: harden validation of HEAD with non-standard hashes
232
+ + Merge branch 'ps/the-index-is-no-more' into ps/undecided-is-not-necessarily-sha1
233
+ + Merge branch 'jc/no-default-attr-tree-in-bare' into ps/undecided-is-not-necessarily-sha1
234
+ (this branch is used by jc/undecided-is-not-necessarily-sha1-fix.)
235
175
- The command line completion script (in contrib/) has been adjusted
176
- to the recent update to "git config" that adopted subcommand based
177
- UI.
178
- source: <8d43dee33289969a5afbbf7635ac40b7312d8e19.1715926344.git.ps@pks.im>
236
+ Before discovering the repository details, We used to assume SHA-1
237
+ as the "default" hash function, which has been corrected. Hopefully
238
+ this will smoke out codepaths that rely on such an unwarranted
239
+ assumptions.
240
+ source: <cover.1715057362.git.ps@pks.im>
241
242
+--------------------------------------------------
243
+[New Topics]
244
181
-* ps/leakfixes-base (2024-05-27) 2 commits
182
- (merged to 'next' on 2024-05-27 at bab1589fc0)
183
- + t: mark a bunch of tests as leak-free
184
- + ci: add missing dependency for TTY prereq
185
- (this branch is used by ps/leakfixes.)
245
+* gt/decorate-unit-test (2024-05-28) 1 commit
246
+ - t/: migrate helper/test-example-decorate to the unit testing framework
247
187
- Will merge to 'master'.
188
- source: <cover.1716810168.git.ps@pks.im>
248
+ A test helper that essentially is unit tests on the "decorate"
249
+ logic has been rewritten using the unit-tests framework.
250
251
+ Needs review?
252
+ source: <20240528125837.31090-1-shyamthakkar001@gmail.com>
253
191
-* ps/pseudo-ref-terminology (2024-05-15) 10 commits
192
- (merged to 'next' on 2024-05-20 at fc0f1f2607)
193
- + refs: refuse to write pseudorefs
194
- + ref-filter: properly distinuish pseudo and root refs
195
- + refs: pseudorefs are no refs
196
- + refs: classify HEAD as a root ref
197
- + refs: do not check ref existence in `is_root_ref()`
198
- + refs: rename `is_special_ref()` to `is_pseudo_ref()`
199
- + refs: rename `is_pseudoref()` to `is_root_ref()`
200
- + Documentation/glossary: define root refs as refs
201
- + Documentation/glossary: clarify limitations of pseudorefs
202
- + Documentation/glossary: redefine pseudorefs as special refs
203
- (this branch is used by ps/ref-storage-migration.)
254
205
- Terminology to call various ref-like things are getting
206
- straightened out.
207
- cf. <vgzwb5xnlvz2gfiqamzrfcjs2xya3zhhoootyzopfpdrjapayq@wfsomyal4cf6>
208
- source: <cover.1715755591.git.ps@pks.im>
255
+* jc/safe-directory-leading-path (2024-05-29) 1 commit
256
+ - safe.directory: allow "lead/ing/path/*" match
257
258
+ source: <xmqqplt4zjw7.fsf@gitster.g>
259
211
-* tb/pack-bitmap-write-cleanups (2024-05-15) 6 commits
212
- (merged to 'next' on 2024-05-20 at 585e7bde21)
213
- + pack-bitmap: introduce `bitmap_writer_free()`
214
- + pack-bitmap-write.c: avoid uninitialized 'write_as' field
215
- + pack-bitmap: drop unused `max_bitmaps` parameter
216
- + pack-bitmap: avoid use of static `bitmap_writer`
217
- + pack-bitmap-write.c: move commit_positions into commit_pos fields
218
- + object.h: add flags allocated by pack-bitmap.h
219
- (this branch is used by tb/pseudo-merge-reachability-bitmap.)
260
221
- The pack bitmap code saw some clean-up to prepare for a follow-up topic.
222
- source: <cover.1715716605.git.me@ttaylorr.com>
261
+* ps/no-writable-strings (2024-05-30) 21 commits
262
+ - SQUASH???
263
+ - config.mak.dev: enable `-Wwrite-strings` warning
264
+ - builtin/merge: always store allocated strings in `pull_twohead`
265
+ - builtin/rebase: adapt code to not assign string constants to non-const
266
+ - imap-send: fix leaking memory in `imap_server_conf`
267
+ - imap-send: drop global `imap_server_conf` variable
268
+ - mailmap: always store allocated strings in mailmap blob
269
+ - revision: always store allocated strings in output encoding
270
+ - remote-curl: avoid assigning string constant to non-const variable
271
+ - send-pack: always allocate receive status
272
+ - parse-options: cast long name for OPTION_ALIAS
273
+ - object-file: make `buf` parameter of `index_mem()` a constant
274
+ - line-log: always allocate the output prefix
275
+ - http: do not assign string constant to non-const field
276
+ - refspec: remove global tag refspec structure
277
+ - reftable: improve const correctness when assigning string constants
278
+ - compat/win32: fix const-correctness with string constants
279
+ - global: convert intentionally-leaking config strings to consts
280
+ - global: assign non-const strings as required
281
+ - global: improve const correctness when assigning string constants
282
+ - Merge branch 'ps/leakfixes' into ps/no-writable-strings
283
+ (this branch uses ps/leakfixes.)
284
+
285
+ source: <cover.1716983704.git.ps@pks.im>
286
+
287
+
288
+* cp/reftable-unit-test (2024-05-30) 5 commits
289
+ - t: improve the test-case for parse_names()
290
+ - t: add test for put_be16()
291
+ - t: move tests from reftable/record_test.c to the new unit test
292
+ - t: move tests from reftable/stack_test.c to the new unit test
293
+ - t: move reftable/basics_test.c to the unit testing framework
294
+
295
+ source: <20240529171439.18271-1-chandrapratap3519@gmail.com>
296
+
297
+
298
+* jc/t1517-more (2024-05-30) 1 commit
299
+ - t1517: more coverage for commands that work without repository
300
+
301
+ source: <xmqqbk4np77d.fsf@gitster.g>
302
+
303
+
304
+* jk/leakfixes (2024-05-30) 6 commits
305
+ - mv: replace src_dir with a strvec
306
+ - mv: factor out empty src_dir removal
307
+ - mv: move src_dir cleanup to end of cmd_mv()
308
+ - t-strvec: mark variable-arg helper with LAST_ARG_MUST_BE_NULL
309
+ - t-strvec: use va_end() to match va_start()
310
+ - Merge branch 'ps/leakfixes' into jk/leakfixes
311
+ (this branch uses ps/leakfixes.)
312
+
313
+ source: <20240530063857.GA1942535@coredump.intra.peff.net>
314
315
--------------------------------------------------
316
[Cooking]
317
227
-* gt/t-hash-unit-test (2024-05-27) 2 commits
318
+* gt/t-hash-unit-test (2024-05-29) 2 commits
319
- t/: migrate helper/test-{sha1, sha256} to unit-tests/t-hash
320
- strbuf: introduce strbuf_addstrings() to repeatedly add a string
321
@@ -232,7 +323,7 @@ Release tarballs are available at:
323
algorithms have been rewritten using the unit-tests framework.
324
325
Will merge to 'next'?
235
- source: <20240526084345.24138-1-shyamthakkar001@gmail.com>
326
+ source: <20240529080030.64410-1-shyamthakkar001@gmail.com>
327
328
329
* pp/add-parse-range-unit-test (2024-05-27) 1 commit
@@ -246,11 +337,12 @@ Release tarballs are available at:
337
338
339
* rs/difftool-env-simplify (2024-05-27) 1 commit
249
- - difftool: add env vars directly in run_file_diff()
340
+ (merged to 'next' on 2024-05-29 at 4d3776a989)
341
+ + difftool: add env vars directly in run_file_diff()
342
343
Code simplification.
344
253
- Will merge to 'next'.
345
+ Will merge to 'master'.
346
source: <c7c843b9-0ccf-4bcb-a036-d794729a99d6@web.de>
347
348
@@ -309,29 +401,31 @@ Release tarballs are available at:
401
402
403
* ps/leakfixes (2024-05-27) 19 commits
312
- - builtin/mv: fix leaks for submodule gitfile paths
313
- - builtin/mv: refactor to use `struct strvec`
314
- - builtin/mv duplicate string list memory
315
- - builtin/mv: refactor `add_slash()` to always return allocated strings
316
- - strvec: add functions to replace and remove strings
317
- - submodule: fix leaking memory for submodule entries
318
- - commit-reach: fix memory leak in `ahead_behind()`
319
- - builtin/credential: clear credential before exit
320
- - config: plug various memory leaks
321
- - config: clarify memory ownership in `git_config_string()`
322
- - builtin/log: stop using globals for format config
323
- - builtin/log: stop using globals for log config
324
- - convert: refactor code to clarify ownership of check_roundtrip_encoding
325
- - diff: refactor code to clarify memory ownership of prefixes
326
- - config: clarify memory ownership in `git_config_pathname()`
327
- - http: refactor code to clarify memory ownership
328
- - checkout: clarify memory ownership in `unique_tracking_name()`
329
- - strbuf: fix leak when `appendwholeline()` fails with EOF
330
- - transport-helper: fix leaking helper name
404
+ (merged to 'next' on 2024-05-29 at e75dcb3beb)
405
+ + builtin/mv: fix leaks for submodule gitfile paths
406
+ + builtin/mv: refactor to use `struct strvec`
407
+ + builtin/mv duplicate string list memory
408
+ + builtin/mv: refactor `add_slash()` to always return allocated strings
409
+ + strvec: add functions to replace and remove strings
410
+ + submodule: fix leaking memory for submodule entries
411
+ + commit-reach: fix memory leak in `ahead_behind()`
412
+ + builtin/credential: clear credential before exit
413
+ + config: plug various memory leaks
414
+ + config: clarify memory ownership in `git_config_string()`
415
+ + builtin/log: stop using globals for format config
416
+ + builtin/log: stop using globals for log config
417
+ + convert: refactor code to clarify ownership of check_roundtrip_encoding
418
+ + diff: refactor code to clarify memory ownership of prefixes
419
+ + config: clarify memory ownership in `git_config_pathname()`
420
+ + http: refactor code to clarify memory ownership
421
+ + checkout: clarify memory ownership in `unique_tracking_name()`
422
+ + strbuf: fix leak when `appendwholeline()` fails with EOF
423
+ + transport-helper: fix leaking helper name
424
+ (this branch is used by jk/leakfixes and ps/no-writable-strings.)
425
426
Leakfixes.
427
334
- Will merge to 'next'.
428
+ Will merge to 'master'.
429
source: <cover.1716810168.git.ps@pks.im>
430
431
@@ -350,7 +444,6 @@ Release tarballs are available at:
444
- setup: unset ref storage when reinitializing repository version
445
- Merge branch 'ps/pseudo-ref-terminology' into ps/ref-storage-migration
446
- Merge branch 'ps/refs-without-the-repository-updates' into ps/ref-storage-migration
353
- (this branch uses ps/refs-without-the-repository-updates.)
447
448
Allow migrating a repository that uses the files backend for its
449
ref storage to use the reftable backend, with limitations.
@@ -359,20 +452,20 @@ Release tarballs are available at:
452
source: <cover.1716877224.git.ps@pks.im>
453
454
362
-* tb/midx-write-cleanup (2024-05-24) 8 commits
455
+* tb/midx-write-cleanup (2024-05-30) 8 commits
456
- pack-bitmap.c: reimplement `midx_bitmap_filename()` with helper
457
- midx: replace `get_midx_rev_filename()` with a generic helper
458
- midx-write.c: support reading an existing MIDX with `packs_to_include`
459
- midx-write.c: extract `fill_packs_from_midx()`
460
- midx-write.c: extract `should_include_pack()`
368
- - midx-write.c: pass `start_pack` to `get_sorted_entries()`
461
+ - midx-write.c: pass `start_pack` to `compute_sorted_entries()`
462
- midx-write.c: reduce argument count for `get_sorted_entries()`
463
- midx-write.c: tolerate `--preferred-pack` without bitmaps
464
465
Code clean-up around writing the .midx files.
466
374
- Needs review.
375
- source: <cover.1716482279.git.me@ttaylorr.com>
467
+ Will merge to 'next'.
468
+ source: <cover.1717023301.git.me@ttaylorr.com>
469
470
471
* tb/pseudo-merge-reachability-bitmap (2024-05-24) 25 commits
@@ -424,74 +517,14 @@ Release tarballs are available at:
517
518
519
* th/quiet-lazy-fetch-from-promisor (2024-05-26) 1 commit
427
- - promisor-remote: add promisor.quiet configuration option
520
+ (merged to 'next' on 2024-05-29 at bb12492199)
521
+ + promisor-remote: add promisor.quiet configuration option
522
523
The promisor.quiet configuration knob can be set to true to make
524
lazy fetching from promisor remotes silent.
525
432
- Will merge to 'next'.
433
- source: <20240525100927.2949808-1-tom@compton.nu>
434
-
435
-
436
-* gt/unit-test-strcmp-offset (2024-05-20) 1 commit
437
- (merged to 'next' on 2024-05-23 at f672ec425f)
438
- + t/: port helper/test-strcmp-offset.c to unit-tests/t-strcmp-offset.c
439
-
440
- The strcmp-offset tests have been rewritten using the unit test
441
- framework.
442
-
526
Will merge to 'master'.
444
- source: <20240519204530.12258-3-shyamthakkar001@gmail.com>
445
-
446
-
447
-* jc/add-patch-enforce-single-letter-input (2024-05-22) 1 commit
448
- (merged to 'next' on 2024-05-23 at 12fef48392)
449
- + add-patch: enforce only one-letter response to prompts
450
-
451
- "git add -p" learned to complain when an answer with more than one
452
- letter is given to a prompt that expects a single letter answer.
453
-
454
- Will merge to 'master'.
455
- source: <xmqqh6ep1pwz.fsf_-_@gitster.g>
456
-
457
-
458
-* jc/fix-2.45.1-and-friends-for-2.39 (2024-05-22) 12 commits
459
- + Revert "fsck: warn about symlink pointing inside a gitdir"
460
- + Revert "Add a helper function to compare file contents"
461
- + clone: drop the protections where hooks aren't run
462
- + tests: verify that `clone -c core.hooksPath=/dev/null` works again
463
- + Revert "core.hooksPath: add some protection while cloning"
464
- + init: use the correct path of the templates directory again
465
- + hook: plug a new memory leak
466
- + ci: stop installing "gcc-13" for osx-gcc
467
- + ci: avoid bare "gcc" for osx-gcc job
468
- + ci: drop mention of BREW_INSTALL_PACKAGES variable
469
- + send-email: avoid creating more than one Term::ReadLine object
470
- + send-email: drop FakeTerm hack
471
- (this branch is used by jc/fix-2.45.1-and-friends-for-maint.)
472
-
473
- Revert overly aggressive "layered defence" that went into 2.45.1
474
- and friends, which broke "git-lfs", "git-annex", and other use
475
- cases, so that we can rebuild necessary counterparts in the open.
476
-
477
- Will merge to 'master' and then prepare 2.45.2 and friends.
478
- source: <20240521195659.870714-1-gitster@pobox.com>
479
-
480
-
481
-* jc/fix-2.45.1-and-friends-for-maint (2024-05-24) 6 commits
482
- (merged to 'next' on 2024-05-25 at a090491028)
483
- + Merge branch 'fixes/2.45.1/2.44' into jc/fix-2.45.1-and-friends-for-maint
484
- + Merge branch 'fixes/2.45.1/2.43' into fixes/2.45.1/2.44
485
- + Merge branch 'fixes/2.45.1/2.42' into fixes/2.45.1/2.43
486
- + Merge branch 'fixes/2.45.1/2.41' into fixes/2.45.1/2.42
487
- + Merge branch 'fixes/2.45.1/2.40' into fixes/2.45.1/2.41
488
- + Merge branch 'jc/fix-2.45.1-and-friends-for-2.39' into fixes/2.45.1/2.40
489
- (this branch uses jc/fix-2.45.1-and-friends-for-2.39.)
490
-
491
- Adjust jc/fix-2.45.1-and-friends-for-2.39 for more recent
492
- maintenance track.
493
-
494
- Will be merged to 'next' when the base topic becomes ready.
527
+ source: <20240525100927.2949808-1-tom@compton.nu>
528
529
530
* ps/fix-reinit-includeif-onbranch (2024-05-22) 1 commit
@@ -506,28 +539,13 @@ Release tarballs are available at:
539
source: <cf182bb9ee7d4a7eb46e5dbf4f3ef5deb198d823.1716374321.git.ps@pks.im>
540
541
509
-* es/chainlint-ncores-fix (2024-05-22) 3 commits
510
- (merged to 'next' on 2024-05-22 at 1e4ab85522)
511
- + chainlint.pl: latch CPU count directly reported by /proc/cpuinfo
512
- + chainlint.pl: fix incorrect CPU count on Linux SPARC
513
- + chainlint.pl: make CPU count computation more robust
514
-
515
- The chainlint script (invoked during "make test") did nothing when
516
- it failed to detect the number of available CPUs. It now falls
517
- back to 1 CPU to avoid the problem.
518
-
519
- Will merge to 'master'.
520
- source: <20240520190131.94904-1-ericsunshine@charter.net>
521
-
522
-
523
-* kn/update-ref-symref (2024-05-27) 8 commits
524
- - SQUASH??? leakfix
542
+* kn/update-ref-symref (2024-05-30) 7 commits
543
- update-ref: add support for 'symref-update' command
544
- reftable: pick either 'oid' or 'target' for new updates
545
- update-ref: add support for 'symref-create' command
546
- update-ref: add support for 'symref-delete' command
547
- update-ref: add support for 'symref-verify' command
530
- - refs: create and use `ref_update_ref_must_exist()`
548
+ - refs: create and use `ref_update_expects_existing_old_ref()`
549
- Merge branch 'kn/ref-transaction-symref' into kn/update-ref-symref
550
551
"git update-ref --stdin" learned to handle transactional updates of
@@ -537,41 +555,13 @@ Release tarballs are available at:
555
source: <20240514124411.1037019-1-knayak@gitlab.com>
556
557
540
-* ps/refs-without-the-repository-updates (2024-05-17) 17 commits
541
- (merged to 'next' on 2024-05-22 at 744f37ab2b)
542
- + refs/packed: remove references to `the_hash_algo`
543
- + refs/files: remove references to `the_hash_algo`
544
- + refs/files: use correct repository
545
- + refs: remove `dwim_log()`
546
- + refs: drop `git_default_branch_name()`
547
- + refs: pass repo when peeling objects
548
- + refs: move object peeling into "object.c"
549
- + refs: pass ref store when detecting dangling symrefs
550
- + refs: convert iteration over replace refs to accept ref store
551
- + refs: retrieve worktree ref stores via associated repository
552
- + refs: refactor `resolve_gitlink_ref()` to accept a repository
553
- + refs: pass repo when retrieving submodule ref store
554
- + refs: track ref stores via strmap
555
- + refs: implement releasing ref storages
556
- + refs: rename `init_db` callback to avoid confusion
557
- + refs: adjust names for `init` and `init_db` callbacks
558
- + Merge branch 'ps/refs-without-the-repository' into ps/refs-without-the-repository-updates
559
- (this branch is used by ps/ref-storage-migration.)
560
-
561
- Further clean-up the refs subsystem to stop relying on
562
- the_repository, and instead use the repository associated to the
563
- ref_store object.
564
-
565
- Will merge to 'master'.
566
- source: <cover.1715929858.git.ps@pks.im>
567
-
568
-
558
* mt/openindiana-scalar (2024-05-17) 1 commit
570
- - scalar: make enlistment delete to work on all POSIX platforms
559
+ (merged to 'next' on 2024-05-30 at 190d4465cf)
560
+ + scalar: make enlistment delete to work on all POSIX platforms
561
562
Avoid removing the $(cwd) for portability.
563
574
- Needs review.
564
+ Will merge to 'master'.
565
source: <Zkds81OB7C5bTCl_@telcontar>
566
567
@@ -587,58 +577,6 @@ Release tarballs are available at:
577
source: <pull.1719.v2.git.git.1715967267420.gitgitgadget@gmail.com>
578
579
590
-* js/doc-decisions (2024-05-17) 1 commit
591
- (merged to 'next' on 2024-05-22 at 891a062720)
592
- + doc: describe the project's decision-making process
593
-
594
- The project decision making policy has been documented.
595
-
596
- Will merge to 'master'.
597
- source: <10f217915600eda3ebec886e4f020f87c22e318a.1715978031.git.steadmon@google.com>
598
-
599
-
600
-* jc/undecided-is-not-necessarily-sha1-fix (2024-05-21) 6 commits
601
- (merged to 'next' on 2024-05-22 at 4bd7982ebe)
602
- + apply: fix uninitialized hash function
603
- + builtin/hash-object: fix uninitialized hash function
604
- + builtin/patch-id: fix uninitialized hash function
605
- + t1517: test commands that are designed to be run outside repository
606
- + setup: add an escape hatch for "no more default hash algorithm" change
607
- + Merge branch 'ps/undecided-is-not-necessarily-sha1' into jc/undecided-is-not-necessarily-sha1-fix
608
- (this branch uses ps/undecided-is-not-necessarily-sha1.)
609
-
610
- The base topic started to make it an error for a command to leave
611
- the hash algorithm unspecified, which revealed a few commands that
612
- were not ready for the change. Give users a knob to revert back to
613
- the "default is sha-1" behaviour as an escape hatch, and start
614
- fixing these breakages.
615
-
616
- Will merge to 'master'.
617
- source: <20240520231434.1816979-1-gitster@pobox.com>
618
-
619
-
620
-* ps/reftable-reusable-iterator (2024-05-13) 13 commits
621
- (merged to 'next' on 2024-05-22 at b92eb9939f)
622
- + reftable/merged: adapt interface to allow reuse of iterators
623
- + reftable/stack: provide convenience functions to create iterators
624
- + reftable/reader: adapt interface to allow reuse of iterators
625
- + reftable/generic: adapt interface to allow reuse of iterators
626
- + reftable/generic: move seeking of records into the iterator
627
- + reftable/merged: simplify indices for subiterators
628
- + reftable/merged: split up initialization and seeking of records
629
- + reftable/reader: set up the reader when initializing table iterator
630
- + reftable/reader: inline `reader_seek_internal()`
631
- + reftable/reader: separate concerns of table iter and reftable reader
632
- + reftable/reader: unify indexed and linear seeking
633
- + reftable/reader: avoid copying index iterator
634
- + reftable/block: use `size_t` to track restart point index
635
-
636
- Code clean-up to make the reftable iterator closer to be reusable.
637
-
638
- Will merge to 'master'.
639
- source: <cover.1715589670.git.ps@pks.im>
640
-
641
-
580
* tb/precompose-getcwd (2024-05-21) 1 commit
581
- macOS: ls-files path fails if path of workdir is NFD
582
@@ -652,56 +590,7 @@ Release tarballs are available at:
590
source: <20240521141452.26210-1-tboegi@web.de>
591
592
655
-* ps/reftable-write-options (2024-05-13) 11 commits
656
- (merged to 'next' on 2024-05-22 at ae8e378430)
657
- + refs/reftable: allow configuring geometric factor
658
- + reftable: make the compaction factor configurable
659
- + refs/reftable: allow disabling writing the object index
660
- + refs/reftable: allow configuring restart interval
661
- + reftable: use `uint16_t` to track restart interval
662
- + refs/reftable: allow configuring block size
663
- + reftable/dump: support dumping a table's block structure
664
- + reftable/writer: improve error when passed an invalid block size
665
- + reftable/writer: drop static variable used to initialize strbuf
666
- + reftable: pass opts as constant pointer
667
- + reftable: consistently refer to `reftable_write_options` as `opts`
668
-
669
- The knobs to tweak how reftable files are written have been made
670
- available as configuration variables.
671
-
672
- Will merge to 'master'.
673
- source: <cover.1715587849.git.ps@pks.im>
674
-
675
-
676
-* ps/undecided-is-not-necessarily-sha1 (2024-05-06) 15 commits
677
- (merged to 'next' on 2024-05-08 at 9f8e894685)
678
- + repository: stop setting SHA1 as the default object hash
679
- + oss-fuzz/commit-graph: set up hash algorithm
680
- + builtin/shortlog: don't set up revisions without repo
681
- + builtin/diff: explicitly set hash algo when there is no repo
682
- + builtin/bundle: abort "verify" early when there is no repository
683
- + builtin/blame: don't access potentially unitialized `the_hash_algo`
684
- + builtin/rev-parse: allow shortening to more than 40 hex characters
685
- + remote-curl: fix parsing of detached SHA256 heads
686
- + attr: fix BUG() when parsing attrs outside of repo
687
- + attr: don't recompute default attribute source
688
- + parse-options-cb: only abbreviate hashes when hash algo is known
689
- + path: move `validate_headref()` to its only user
690
- + path: harden validation of HEAD with non-standard hashes
691
- + Merge branch 'ps/the-index-is-no-more' into ps/undecided-is-not-necessarily-sha1
692
- + Merge branch 'jc/no-default-attr-tree-in-bare' into ps/undecided-is-not-necessarily-sha1
693
- (this branch is used by jc/undecided-is-not-necessarily-sha1-fix.)
694
-
695
- Before discovering the repository details, We used to assume SHA-1
696
- as the "default" hash function, which has been corrected. Hopefully
697
- this will smoke out codepaths that rely on such an unwarranted
698
- assumptions.
699
-
700
- Will cook in 'next', as it has known breakage.
701
- source: <cover.1715057362.git.ps@pks.im>
702
-
703
-
704
-* pw/rebase-i-error-message (2024-04-08) 2 commits
593
+* pw/rebase-i-error-message (2024-05-30) 2 commits
594
- rebase -i: improve error message when picking merge
595
- rebase -i: pass struct replay_opts to parse_insn_line()
596
@@ -711,7 +600,7 @@ Release tarballs are available at:
600
601
Expecting a reroll.
602
cf. <88bc0787-e7ae-49e5-99e8-97f6c55ea8c6@gmail.com>
714
- source: <pull.1672.v2.git.1712585787.gitgitgadget@gmail.com>
603
+ source: <pull.1672.v3.git.1717076630.gitgitgadget@gmail.com>
604
605
606
* ew/khash-to-khashl (2024-03-28) 3 commits