Skip to content

Commit 732d065

Browse files
committed
What's cooking (2024/05 #10)
1 parent ee452b1 commit 732d065

File tree

1 file changed

+175
-73
lines changed

1 file changed

+175
-73
lines changed

whats-cooking.txt

Lines changed: 175 additions & 73 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
2-
Subject: What's cooking in git.git (May 2024, #09; Thu, 23)
2+
Subject: What's cooking in git.git (May 2024, #10; Fri, 24)
33
X-master-at: b9cfe4845cb2562584837bc0101c0ab76490a239
44
X-next-at: bbe1065a7e6f9ab964c30003b9eadf3a65c611d5
55
66

7-
What's cooking in git.git (May 2024, #09; Thu, 23)
7+
What's cooking in git.git (May 2024, #10; Fri, 24)
88
--------------------------------------------------
99

1010
Here are the topics that have been cooking in my tree. Commits
@@ -21,10 +21,9 @@ We unfortunately had serious regressions in 2.45.1 (and below, down
2121
to 2.39 maintenance track are affected), and we are trying to assess
2222
the extent of damage and which changes that went into the release to
2323
revert. We know about "git lfs" and "git annex" getting affected.
24-
If your workflow is affected, you would want to try out 'seen' that
25-
has proposed reverts to alleviate and report back to us, to make sure
26-
that the next set of maintenance releases will fix the regressions
27-
for you.
24+
We have bunch of reverts planned to fix these regressions that I
25+
plan to merge to 'next' soonish. Please test it if you think you're
26+
affected.
2827

2928
Copies of the source code to Git live in many repositories, and the
3029
following is a list of the ones I push into or their mirrors. Some
@@ -55,77 +54,187 @@ Release tarballs are available at:
5554
https://www.kernel.org/pub/software/scm/git/
5655

5756
--------------------------------------------------
58-
[Graduated to 'master']
57+
[New Topics]
5958

60-
* dg/fetch-pack-code-cleanup (2024-05-13) 1 commit
61-
(merged to 'next' on 2024-05-17 at c8f8136d2e)
62-
+ fetch-pack: remove unused 'struct loose_object_iter'
59+
* jc/format-patch-with-range-diff (2024-05-24) 2 commits
60+
- format-patch: move range/inter diff at the end of a single patch output
61+
- show_log: factor out interdiff/range-diff generation
6362

64-
Code clean-up to remove an unused struct definition.
65-
63+
Move inter/range-diff output to the end of the patch when
64+
format-patch adds it to a single patch, instead of writing it
65+
before the patch text, to be consistent with what is done for a
66+
cover letter for a multi-patch series.
6667

68+
Comments?
69+
6770

68-
* dm/update-index-doc-fix (2024-05-13) 1 commit
69-
(merged to 'next' on 2024-05-17 at 2f6cd0d1cc)
70-
+ documentation: git-update-index: add --show-index-version to synopsis
7171

72-
Doc fix.
73-
72+
* cc/upload-pack-missing-action (2024-05-24) 3 commits
73+
- upload-pack: allow configuring a missing-action
74+
- pack-objects: use the missing action API
75+
- rev-list: refactor --missing=<missing-action>
7476

77+
Allow a server S that is a lazy clone of another repository X to
78+
respond to a request by C that is a lazy clone of S in a way that
79+
it omits objects it itself does not have (and has to be lazily
80+
fetched from X).
7581

76-
* it/refs-name-conflict (2024-05-06) 1 commit
77-
(merged to 'next' on 2024-05-15 at 39ef3ecc88)
78-
+ refs: return conflict error when checking packed refs
82+
I would say this is a terribly irresponsive design, especially
83+
there is no negociation for S to learn if the objects it is going
84+
to omit is obtainable by C from elsewhere.
7985

80-
Expose "name conflict" error when a ref creation fails due to D/F
81-
conflict in the ref namespace, to improve an error message given by
82-
"git fetch".
83-
86+
Will discard.
87+
88+
89+
90+
* iw/trace-argv-on-alias (2024-05-24) 4 commits
91+
- fixup! run-command: show prepared command
92+
- run-command: show prepared command
93+
- Documentation: alias: add notes on shell expansion
94+
- Documentation: alias: rework notes into points
95+
96+
Log the alias-expanded command lines to the trace output.
97+
98+
Expecting a (hopefully minor and final) reroll.
99+
100+
101+
102+
* ps/document-breaking-changes (2024-05-24) 1 commit
103+
- docs: document upcoming breaking changes
104+
105+
The structure of the document that records longer-term project
106+
decisions to deprecate/remove/update various behaviour has been
107+
outlined.
108+
109+
Under discussion.
110+
source: <84c01f1b0a2d24d7de912606f548623601c0d715.1716555034.git.ps@pks.im>
111+
112+
113+
* ps/leakfixes (2024-05-24) 21 commits
114+
- builtin/mv: fix leaks for submodule gitfile paths
115+
- builtin/mv: refactor to use `struct strvec`
116+
- builtin/mv duplicate string list memory
117+
- builtin/mv: refactor `add_slash()` to always return allocated strings
118+
- strvec: add functions to replace and remove strings
119+
- submodule: fix leaking memory for submodule entries
120+
- commit-reach: fix memory leak in `ahead_behind()`
121+
- builtin/credential: clear credential before exit
122+
- config: plug various memory leaks
123+
- config: clarify memory ownership in `git_config_string()`
124+
- builtin/log: stop using globals for format config
125+
- builtin/log: stop using globals for log config
126+
- convert: refactor code to clarify ownership of check_roundtrip_encoding
127+
- diff: refactor code to clarify memory ownership of prefixes
128+
- config: clarify memory ownership in `git_config_pathname()`
129+
- http: refactor code to clarify memory ownership
130+
- checkout: clarify memory ownership in `unique_tracking_name()`
131+
- strbuf: fix leak when `appendwholeline()` fails with EOF
132+
- transport-helper: fix leaking helper name
133+
- t: mark a bunch of tests as leak-free
134+
- ci: add missing dependency for TTY prereq
135+
136+
Leakfixes.
137+
138+
Will merge to 'next'?
139+
140+
141+
142+
* ps/ref-storage-migration (2024-05-24) 11 commits
143+
- builtin/refs: new command to migrate ref storage formats
144+
- refs: implement logic to migrate between ref storage formats
145+
- refs: implement removal of ref storages
146+
- refs/files: extract function to iterate through root refs
147+
- refs/files: refactor `add_pseudoref_and_head_entries()`
148+
- refs: allow to skip creation of reflog entries
149+
- refs: pass storage format to `ref_store_init()` explicitly
150+
- refs: convert ref storage format to an enum
151+
- setup: unset ref storage when reinitializing repository version
152+
- Merge branch 'ps/pseudo-ref-terminology' into ps/ref-storage-migration
153+
- Merge branch 'ps/refs-without-the-repository-updates' into ps/ref-storage-migration
154+
(this branch uses ps/pseudo-ref-terminology and ps/refs-without-the-repository-updates.)
155+
156+
Allow migrating a repository that uses the files backend for its
157+
ref storage to use the reftable backend, with limitations.
84158

159+
Expecting a reroll.
160+
85161

86-
* jc/patch-flow-updates (2024-05-10) 2 commits
87-
(merged to 'next' on 2024-05-16 at d7a885574b)
88-
+ SubmittingPatches: extend the "flow" section
89-
+ SubmittingPatches: move the patch-flow section earlier
90-
(this branch is used by kn/patch-iteration-doc.)
91162

92-
Doc updates.
93-
94-
95-
96-
* la/hide-trailer-info (2024-05-02) 11 commits
97-
(merged to 'next' on 2024-05-15 at 955ffe4f37)
98-
+ trailer unit tests: inspect iterator contents
99-
+ trailer: document parse_trailers() usage
100-
+ trailer: retire trailer_info_get() from API
101-
+ trailer: make trailer_info struct private
102-
+ trailer: make parse_trailers() return trailer_info pointer
103-
+ interpret-trailers: access trailer_info with new helpers
104-
+ sequencer: use the trailer iterator
105-
+ trailer: teach iterator about non-trailer lines
106-
+ trailer: add unit tests for trailer iterator
107-
+ Makefile: sort UNIT_TEST_PROGRAMS
108-
+ Merge branch 'la/format-trailer-info' into la/hide-trailer-info
109-
110-
The trailer API has been reshuffled a bit.
111-
112-
113-
114-
* mt/openindiana-portability (2024-05-17) 7 commits
115-
(merged to 'next' on 2024-05-17 at de53f37879)
116-
+ t/t9001-send-email.sh: sed - remove the i flag for s
117-
+ t/t9118-git-svn-funky-branch-names.sh: sed needs semicolon
118-
+ t/t1700-split-index.sh: mv -v is not portable
119-
+ t/t4202-log.sh: fix misspelled variable
120-
+ t/t0600-reffiles-backend.sh: rm -v is not portable
121-
+ t/t9902-completion.sh: backslashes in echo
122-
+ Switch grep from non-portable BRE to portable ERE
123-
124-
Portability updates to various uses of grep and sed.
125-
source: <ZkeMiifGHkIsehz3@telcontar>
163+
* tb/midx-write-cleanup (2024-05-24) 8 commits
164+
- pack-bitmap.c: reimplement `midx_bitmap_filename()` with helper
165+
- midx: replace `get_midx_rev_filename()` with a generic helper
166+
- midx-write.c: support reading an existing MIDX with `packs_to_include`
167+
- midx-write.c: extract `fill_packs_from_midx()`
168+
- midx-write.c: extract `should_include_pack()`
169+
- midx-write.c: pass `start_pack` to `get_sorted_entries()`
170+
- midx-write.c: reduce argument count for `get_sorted_entries()`
171+
- midx-write.c: tolerate `--preferred-pack` without bitmaps
172+
173+
Code clean-up around writing the .midx files.
174+
175+
Needs review.
176+
177+
178+
179+
* tb/pseudo-merge-reachability-bitmap (2024-05-24) 25 commits
180+
- t/perf: implement performance tests for pseudo-merge bitmaps
181+
- pseudo-merge: implement support for finding existing merges
182+
- ewah: `bitmap_equals_ewah()`
183+
- pack-bitmap: extra trace2 information
184+
- pack-bitmap.c: use pseudo-merges during traversal
185+
- t/test-lib-functions.sh: support `--notick` in `test_commit_bulk()`
186+
- pack-bitmap: implement test helpers for pseudo-merge
187+
- ewah: implement `ewah_bitmap_popcount()`
188+
- pseudo-merge: implement support for reading pseudo-merge commits
189+
- pack-bitmap.c: read pseudo-merge extension
190+
- pseudo-merge: scaffolding for reads
191+
- pack-bitmap: extract `read_bitmap()` function
192+
- pack-bitmap-write.c: write pseudo-merge table
193+
- pseudo-merge: implement support for selecting pseudo-merge commits
194+
- config: introduce `git_config_double()`
195+
- pack-bitmap: make `bitmap_writer_push_bitmapped_commit()` public
196+
- pack-bitmap: implement `bitmap_writer_has_bitmapped_object_id()`
197+
- pack-bitmap-write: support storing pseudo-merge commits
198+
- pseudo-merge.ch: initial commit
199+
- pack-bitmap: move some initialization to `bitmap_writer_init()`
200+
- ewah: implement `ewah_bitmap_is_subset()`
201+
- Documentation/technical: describe pseudo-merge bitmaps format
202+
- Documentation/gitpacking.txt: describe pseudo-merge bitmaps
203+
- Documentation/gitpacking.txt: initial commit
204+
- Merge branch 'tb/pack-bitmap-write-cleanups' into tb/pseudo-merge-reachability-bitmap
205+
(this branch uses tb/pack-bitmap-write-cleanups.)
206+
207+
The pseudo-merge reachability bitmap to help more efficient storage
208+
of the reachability bitmap in a repository with too many refs.
209+
210+
Needs review.
211+
212+
213+
214+
* th/push-local-ff-check-without-lazy-fetch (2024-05-22) 1 commit
215+
- push: don't fetch commit object when checking existence
216+
217+
When "git push" notices that the commit at the tip of the ref on
218+
the other side it is about to overwrite does not exist locally, it
219+
used to first try fetching it if the local repository is a partial
220+
clone. The command has been taught not to do so and immediately
221+
fail instead.
222+
223+
Will merge to 'next'.
224+
225+
226+
227+
* th/quiet-lazy-fetch-from-promisor (2024-05-24) 1 commit
228+
- promisor-remote: add promisor.quiet configuration option
229+
230+
The promisor.quiet configuration knob can be set to true to make
231+
lazy fetching from promisor remotes silent.
232+
233+
Comments?
234+
126235

127236
--------------------------------------------------
128-
[New Topics]
237+
[Cooking]
129238

130239
* gt/unit-test-strcmp-offset (2024-05-20) 1 commit
131240
(merged to 'next' on 2024-05-23 at f672ec425f)
@@ -172,13 +281,7 @@ Release tarballs are available at:
172281
173282

174283

175-
* jc/fix-2.45.1-and-friends-for-maint (2024-05-22) 12 commits
176-
- Merge branch 'fixes/2.45.1/2.44' into jc/fix-2.45.1-and-friends-for-maint
177-
- Merge branch 'fixes/2.45.1/2.43' into fixes/2.45.1/2.44
178-
- Merge branch 'fixes/2.45.1/2.42' into fixes/2.45.1/2.43
179-
- Merge branch 'fixes/2.45.1/2.41' into fixes/2.45.1/2.42
180-
- Merge branch 'fixes/2.45.1/2.40' into fixes/2.45.1/2.41
181-
- Merge branch 'jc/fix-2.45.1-and-friends-for-2.39' into fixes/2.45.1/2.40
284+
* jc/fix-2.45.1-and-friends-for-maint (2024-05-24) 6 commits
182285
- Merge branch 'fixes/2.45.1/2.44' into jc/fix-2.45.1-and-friends-for-maint
183286
- Merge branch 'fixes/2.45.1/2.43' into fixes/2.45.1/2.44
184287
- Merge branch 'fixes/2.45.1/2.42' into fixes/2.45.1/2.43
@@ -203,8 +306,6 @@ Release tarballs are available at:
203306
Will merge to 'next'.
204307
source: <cf182bb9ee7d4a7eb46e5dbf4f3ef5deb198d823.1716374321.git.ps@pks.im>
205308

206-
--------------------------------------------------
207-
[Cooking]
208309

209310
* es/chainlint-ncores-fix (2024-05-22) 3 commits
210311
(merged to 'next' on 2024-05-22 at 1e4ab85522)
@@ -228,6 +329,7 @@ Release tarballs are available at:
228329
+ pack-bitmap: avoid use of static `bitmap_writer`
229330
+ pack-bitmap-write.c: move commit_positions into commit_pos fields
230331
+ object.h: add flags allocated by pack-bitmap.h
332+
(this branch is used by tb/pseudo-merge-reachability-bitmap.)
231333

232334
The pack bitmap code saw some clean-up to prepare for a follow-up topic.
233335

0 commit comments

Comments
 (0)