What's cooking (2024/06 #01)

Junio C Hamano committed Jun 3, 2024 at 17:06 UTC c14ca444dbf58338c4663f52c32176972472a92b
1 file changed +196 -293
whats-cooking.txt
+196 -293
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 -Subject: What's cooking in git.git (May 2024, #13; Thu, 30)
3 -X-master-at: 58bac47f8eb2c5e92e354f33ee079a244e5b5003
4 -X-next-at: 366b0e951c73ed6cf46e8bec53d1f3c71c34a718
2 +Subject: What's cooking in git.git (Jun 2024, #01; Mon, 3)
3 +X-master-at: 7b0defb3915eaa0bd118f0996e8c00b4eb2dc1ca
4 +X-next-at: 54c50866fa398a825f77bafc637bf933286c7385
5 Bcc: lwn@lwn.net, gitster@pobox.com
6
7 -What's cooking in git.git (May 2024, #13; Thu, 30)
7 +What's cooking in git.git (Jun 2024, #01; Mon, 3)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking in my tree. Commits
@@ -17,15 +17,6 @@ topic without enough support may be discarded after a long period of
17 no activity (of course they can be resubmit when new interests
18 arise).
19
20 -We unfortunately had serious regressions in 2.45.1 (and below, down
21 -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 '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 -
20 Copies of the source code to Git live in many repositories, and the
21 following is a list of the ones I push into or their mirrors. Some
22 repositories have only a subset of branches.
@@ -57,212 +48,129 @@ Release tarballs are available at:
48 --------------------------------------------------
49 [Graduated to 'master']
50
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
51 +* ps/fix-reinit-includeif-onbranch (2024-05-22) 1 commit
52 + (merged to 'next' on 2024-05-25 at 89c035186d)
53 + + setup: fix bug with "includeIf.onbranch" when initializing dir
54
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>
55 + "git init" in an already created directory, when the user
56 + configuration has includeif.onbranch, started to fail recently,
57 + which has been corrected.
58 + source: <cf182bb9ee7d4a7eb46e5dbf4f3ef5deb198d823.1716374321.git.ps@pks.im>
59
60
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
61 +* th/push-local-ff-check-without-lazy-fetch (2024-05-22) 1 commit
62 + (merged to 'next' on 2024-05-25 at 520b6b2897)
63 + + push: don't fetch commit object when checking existence
64
76 - The strcmp-offset tests have been rewritten using the unit test
77 - framework.
78 - source: <20240519204530.12258-3-shyamthakkar001@gmail.com>
79 -
80 -
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 -
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 -
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 -
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 -
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 -
121 - Adjust jc/fix-2.45.1-and-friends-for-2.39 for more recent
122 - maintenance track.
123 -
124 -
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 -
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 -
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 -
147 - The project decision making policy has been documented.
148 - source: <10f217915600eda3ebec886e4f020f87c22e318a.1715978031.git.steadmon@google.com>
149 -
150 -
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 -
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 -
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 -
194 - Code clean-up to make the reftable iterator closer to be reusable.
195 - source: <cover.1715589670.git.ps@pks.im>
196 -
197 -
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 -
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 -
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 -
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>
65 + When "git push" notices that the commit at the tip of the ref on
66 + the other side it is about to overwrite does not exist locally, it
67 + used to first try fetching it if the local repository is a partial
68 + clone. The command has been taught not to do so and immediately
69 + fail instead.
70 + source: <20240522201559.1677959-1-tom@compton.nu>
71
72 --------------------------------------------------
73 [New Topics]
74
75 +* jk/sparse-leakfix (2024-05-31) 14 commits
76 + - sparse-checkout: free duplicate hashmap entries
77 + - sparse-checkout: free string list after displaying
78 + - sparse-checkout: free pattern list in sparse_checkout_list()
79 + - sparse-checkout: free sparse_filename after use
80 + - sparse-checkout: refactor temporary sparse_checkout_patterns
81 + - sparse-checkout: always free "line" strbuf after reading input
82 + - sparse-checkout: reuse --stdin buffer when reading patterns
83 + - dir.c: always copy input to add_pattern()
84 + - dir.c: free removed sparse-pattern hashmap entries
85 + - sparse-checkout: clear patterns when init() sees existing sparse file
86 + - dir.c: free strings in sparse cone pattern hashmaps
87 + - sparse-checkout: pass string literals directly to add_pattern()
88 + - sparse-checkout: free string list in write_cone_to_file()
89 + - Merge branch 'jk/leakfixes' into jk/sparse-leakfix
90 + (this branch uses jk/leakfixes and ps/leakfixes.)
91 +
92 + Many memory leaks in the sparse-checkout code paths have been
93 + plugged.
94 +
95 + Will merge to 'next'?
96 + source: <20240531112433.GA428583@coredump.intra.peff.net>
97 +
98 +
99 +* jk/cap-exclude-file-size (2024-05-31) 1 commit
100 + - dir.c: skip .gitignore, etc larger than INT_MAX
101 +
102 + An overly large ".gitignore" files are now rejected silently.
103 +
104 + Will merge to 'next'.
105 + source: <20240531120034.GA442032@coredump.intra.peff.net>
106 +
107 +
108 +* ps/leakfixes-more (2024-06-03) 30 commits
109 + - builtin/blame: fix leaking ignore revs files
110 + - builtin/blame: fix leaking prefixed paths
111 + - blame: fix leaking data for blame scoreboards
112 + - line-range: plug leaking find functions
113 + - merge: fix leaking merge bases
114 + - builtin/merge: fix leaking `struct cmdnames` in `get_strategy()`
115 + - sequencer: fix memory leaks in `make_script_with_merges()`
116 + - builtin/clone: plug leaking HEAD ref in `wanted_peer_refs()`
117 + - apply: fix leaking string in `match_fragment()`
118 + - sequencer: fix leaking string buffer in `commit_staged_changes()`
119 + - commit: fix leaking parents when calling `commit_tree_extended()`
120 + - config: fix leaking "core.notesref" variable
121 + - rerere: fix various trivial leaks
122 + - builtin/stash: fix leak in `show_stash()`
123 + - revision: free diff options
124 + - builtin/log: fix leaking commit list in git-cherry(1)
125 + - merge-recursive: fix memory leak when finalizing merge
126 + - builtin/merge-recursive: fix leaking object ID bases
127 + - builtin/difftool: plug memory leaks in `run_dir_diff()`
128 + - object-name: free leaking object contexts
129 + - builtin/rev-list: fix leaking bitmap index when calculating disk usage
130 + - notes: fix memory leak when pruning notes
131 + - revision: fix leaking display notes
132 + - merge-recursive: fix leaging rename conflict info
133 + - biultin/rev-parse: fix memory leaks in `--parseopt` mode
134 + - bundle: plug leaks in `create_bundle()`
135 + - notes-utils: free note trees when releasing copied notes
136 + - parse-options: fix leaks for users of OPT_FILENAME
137 + - revision: fix memory leak when reversing revisions
138 + - Merge branch 'ps/leakfixes' into ps/leakfixes-more
139 + (this branch uses ps/leakfixes.)
140 +
141 + More memory leaks have been plugged.
142 +
143 + Needs review.
144 + source: <cover.1717402439.git.ps@pks.im>
145 +
146 +--------------------------------------------------
147 +[Cooking]
148 +
149 * gt/decorate-unit-test (2024-05-28) 1 commit
150 - t/: migrate helper/test-example-decorate to the unit testing framework
151
152 A test helper that essentially is unit tests on the "decorate"
153 logic has been rewritten using the unit-tests framework.
154
251 - Needs review?
155 + Will merge to 'next'?
156 source: <20240528125837.31090-1-shyamthakkar001@gmail.com>
157
158
159 * jc/safe-directory-leading-path (2024-05-29) 1 commit
160 - safe.directory: allow "lead/ing/path/*" match
161
162 + The safe.directory configuration knob has been updated to
163 + optionally allow leading path matches.
164 +
165 + Will merge to 'next'.
166 source: <xmqqplt4zjw7.fsf@gitster.g>
167
168
261 -* ps/no-writable-strings (2024-05-30) 21 commits
262 - - SQUASH???
169 +* ps/no-writable-strings (2024-06-03) 28 commits
170 - config.mak.dev: enable `-Wwrite-strings` warning
171 - builtin/merge: always store allocated strings in `pull_twohead`
265 - - builtin/rebase: adapt code to not assign string constants to non-const
172 + - builtin/rebase: always store allocated string in `options.strategy`
173 + - builtin/rebase: do not assign default backend to non-constant field
174 - imap-send: fix leaking memory in `imap_server_conf`
175 - imap-send: drop global `imap_server_conf` variable
176 - mailmap: always store allocated strings in mailmap blob
@@ -270,19 +178,29 @@ Release tarballs are available at:
178 - remote-curl: avoid assigning string constant to non-const variable
179 - send-pack: always allocate receive status
180 - parse-options: cast long name for OPTION_ALIAS
181 + - http: do not assign string constant to non-const field
182 + - compat/win32: fix const-correctness with string constants
183 + - pretty: add casts for decoration option pointers
184 - object-file: make `buf` parameter of `index_mem()` a constant
185 + - object-file: mark cached object buffers as const
186 + - ident: add casts for fallback name and GECOS
187 + - entry: refactor how we remove items for delayed checkouts
188 - line-log: always allocate the output prefix
275 - - http: do not assign string constant to non-const field
189 + - line-log: stop assigning string constant to file parent buffer
190 + - diff: cast string constant in `fill_textconv()`
191 + - builtin/remote: cast away constness in `get_head_names()`
192 - refspec: remove global tag refspec structure
277 - - reftable: improve const correctness when assigning string constants
278 - - compat/win32: fix const-correctness with string constants
193 + - reftable: cast away constness when assigning constants to records
194 + - refs/reftable: stop micro-optimizing refname allocations on copy
195 - global: convert intentionally-leaking config strings to consts
280 - - global: assign non-const strings as required
196 - global: improve const correctness when assigning string constants
197 - Merge branch 'ps/leakfixes' into ps/no-writable-strings
198 (this branch uses ps/leakfixes.)
199
285 - source: <cover.1716983704.git.ps@pks.im>
200 + Building with "-Werror -Wwrite-strings" is now supported.
201 +
202 + Needs review.
203 + source: <cover.1717402403.git.ps@pks.im>
204
205
206 * cp/reftable-unit-test (2024-05-30) 5 commits
@@ -292,28 +210,39 @@ Release tarballs are available at:
210 - t: move tests from reftable/stack_test.c to the new unit test
211 - t: move reftable/basics_test.c to the unit testing framework
212
213 + Reimplement basic unit tests for reftable under the unit test
214 + framework.
215 +
216 + Will merge to 'next'.
217 source: <20240529171439.18271-1-chandrapratap3519@gmail.com>
218
219
298 -* jc/t1517-more (2024-05-30) 1 commit
299 - - t1517: more coverage for commands that work without repository
220 +* jc/t1517-more (2024-05-31) 1 commit
221 + (merged to 'next' on 2024-06-03 at 10b71e2a60)
222 + + t1517: more coverage for commands that work without repository
223 +
224 + "smoke tests" to ensure git commands that are designed to run
225 + outside repositories do work.
226
301 - source: <xmqqbk4np77d.fsf@gitster.g>
227 + Will merge to 'master'.
228 + source: <xmqqwmnajrrk.fsf@gitster.g>
229
230
231 * 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.)
232 + (merged to 'next' on 2024-06-03 at 1e8a6276a1)
233 + + mv: replace src_dir with a strvec
234 + + mv: factor out empty src_dir removal
235 + + mv: move src_dir cleanup to end of cmd_mv()
236 + + t-strvec: mark variable-arg helper with LAST_ARG_MUST_BE_NULL
237 + + t-strvec: use va_end() to match va_start()
238 + + Merge branch 'ps/leakfixes' into jk/leakfixes
239 + (this branch is used by jk/sparse-leakfix; uses ps/leakfixes.)
240 +
241 + Memory leaks in "git mv" has been plugged.
242
243 + Will merge to 'master'.
244 source: <20240530063857.GA1942535@coredump.intra.peff.net>
245
315 ---------------------------------------------------
316 -[Cooking]
246
247 * gt/t-hash-unit-test (2024-05-29) 2 commits
248 - t/: migrate helper/test-{sha1, sha256} to unit-tests/t-hash
@@ -377,27 +306,30 @@ Release tarballs are available at:
306 source: <20240524163926.2019648-1-christian.couder@gmail.com>
307
308
380 -* iw/trace-argv-on-alias (2024-05-27) 4 commits
381 - - SQUASH???
382 - - run-command: show prepared command
383 - - Documentation: alias: add notes on shell expansion
384 - - Documentation: alias: rework notes into points
309 +* iw/trace-argv-on-alias (2024-05-31) 3 commits
310 + (merged to 'next' on 2024-06-03 at 190af38284)
311 + + run-command: show prepared command
312 + + Documentation: alias: add notes on shell expansion
313 + + Documentation: alias: rework notes into points
314
315 Log the alias-expanded command lines to the trace output.
316
388 - Will merge to 'next' after squashing the fix in?
317 + Will merge to 'master'.
318 source: <20240525234454.1489598-1-iwienand@redhat.com>
319
320
392 -* ps/document-breaking-changes (2024-05-24) 1 commit
393 - - docs: document upcoming breaking changes
321 +* ps/document-breaking-changes (2024-06-03) 4 commits
322 + - BreakingChanges: document that we do not plan to deprecate git-checkout
323 + - BreakingChanges: document removal of grafting
324 + - BreakingChanges: document upcoming change from "sha1" to "sha256"
325 + - docs: introduce document to announce breaking changes
326
327 The structure of the document that records longer-term project
328 decisions to deprecate/remove/update various behaviour has been
329 outlined.
330
331 Under discussion.
400 - source: <84c01f1b0a2d24d7de912606f548623601c0d715.1716555034.git.ps@pks.im>
332 + source: <cover.1717402497.git.ps@pks.im>
333
334
335 * ps/leakfixes (2024-05-27) 19 commits
@@ -421,7 +353,7 @@ Release tarballs are available at:
353 + checkout: clarify memory ownership in `unique_tracking_name()`
354 + strbuf: fix leak when `appendwholeline()` fails with EOF
355 + transport-helper: fix leaking helper name
424 - (this branch is used by jk/leakfixes and ps/no-writable-strings.)
356 + (this branch is used by jk/leakfixes, jk/sparse-leakfix, ps/leakfixes-more and ps/no-writable-strings.)
357
358 Leakfixes.
359
@@ -429,7 +361,7 @@ Release tarballs are available at:
361 source: <cover.1716810168.git.ps@pks.im>
362
363
432 -* ps/ref-storage-migration (2024-05-28) 14 commits
364 +* ps/ref-storage-migration (2024-06-03) 14 commits
365 - builtin/refs: new command to migrate ref storage formats
366 - refs: implement logic to migrate between ref storage formats
367 - refs: implement removal of ref storages
@@ -448,72 +380,60 @@ Release tarballs are available at:
380 Allow migrating a repository that uses the files backend for its
381 ref storage to use the reftable backend, with limitations.
382
451 - Will merge to 'next'.
452 - source: <cover.1716877224.git.ps@pks.im>
383 + Will merge to 'next'?
384 + source: <cover.1717402363.git.ps@pks.im>
385
386
387 * 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()`
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
388 + (merged to 'next' on 2024-05-31 at 03f3d27e4f)
389 + + pack-bitmap.c: reimplement `midx_bitmap_filename()` with helper
390 + + midx: replace `get_midx_rev_filename()` with a generic helper
391 + + midx-write.c: support reading an existing MIDX with `packs_to_include`
392 + + midx-write.c: extract `fill_packs_from_midx()`
393 + + midx-write.c: extract `should_include_pack()`
394 + + midx-write.c: pass `start_pack` to `compute_sorted_entries()`
395 + + midx-write.c: reduce argument count for `get_sorted_entries()`
396 + + midx-write.c: tolerate `--preferred-pack` without bitmaps
397
398 Code clean-up around writing the .midx files.
399
467 - Will merge to 'next'.
400 + Will merge to 'master'.
401 source: <cover.1717023301.git.me@ttaylorr.com>
402
403
404 * tb/pseudo-merge-reachability-bitmap (2024-05-24) 25 commits
472 - - t/perf: implement performance tests for pseudo-merge bitmaps
473 - - pseudo-merge: implement support for finding existing merges
474 - - ewah: `bitmap_equals_ewah()`
475 - - pack-bitmap: extra trace2 information
476 - - pack-bitmap.c: use pseudo-merges during traversal
477 - - t/test-lib-functions.sh: support `--notick` in `test_commit_bulk()`
478 - - pack-bitmap: implement test helpers for pseudo-merge
479 - - ewah: implement `ewah_bitmap_popcount()`
480 - - pseudo-merge: implement support for reading pseudo-merge commits
481 - - pack-bitmap.c: read pseudo-merge extension
482 - - pseudo-merge: scaffolding for reads
483 - - pack-bitmap: extract `read_bitmap()` function
484 - - pack-bitmap-write.c: write pseudo-merge table
485 - - pseudo-merge: implement support for selecting pseudo-merge commits
486 - - config: introduce `git_config_double()`
487 - - pack-bitmap: make `bitmap_writer_push_bitmapped_commit()` public
488 - - pack-bitmap: implement `bitmap_writer_has_bitmapped_object_id()`
489 - - pack-bitmap-write: support storing pseudo-merge commits
490 - - pseudo-merge.ch: initial commit
491 - - pack-bitmap: move some initialization to `bitmap_writer_init()`
492 - - ewah: implement `ewah_bitmap_is_subset()`
493 - - Documentation/technical: describe pseudo-merge bitmaps format
494 - - Documentation/gitpacking.txt: describe pseudo-merge bitmaps
495 - - Documentation/gitpacking.txt: initial commit
496 - - Merge branch 'tb/pack-bitmap-write-cleanups' into tb/pseudo-merge-reachability-bitmap
405 + (merged to 'next' on 2024-06-03 at fcaa39de12)
406 + + t/perf: implement performance tests for pseudo-merge bitmaps
407 + + pseudo-merge: implement support for finding existing merges
408 + + ewah: `bitmap_equals_ewah()`
409 + + pack-bitmap: extra trace2 information
410 + + pack-bitmap.c: use pseudo-merges during traversal
411 + + t/test-lib-functions.sh: support `--notick` in `test_commit_bulk()`
412 + + pack-bitmap: implement test helpers for pseudo-merge
413 + + ewah: implement `ewah_bitmap_popcount()`
414 + + pseudo-merge: implement support for reading pseudo-merge commits
415 + + pack-bitmap.c: read pseudo-merge extension
416 + + pseudo-merge: scaffolding for reads
417 + + pack-bitmap: extract `read_bitmap()` function
418 + + pack-bitmap-write.c: write pseudo-merge table
419 + + pseudo-merge: implement support for selecting pseudo-merge commits
420 + + config: introduce `git_config_double()`
421 + + pack-bitmap: make `bitmap_writer_push_bitmapped_commit()` public
422 + + pack-bitmap: implement `bitmap_writer_has_bitmapped_object_id()`
423 + + pack-bitmap-write: support storing pseudo-merge commits
424 + + pseudo-merge.ch: initial commit
425 + + pack-bitmap: move some initialization to `bitmap_writer_init()`
426 + + ewah: implement `ewah_bitmap_is_subset()`
427 + + Documentation/technical: describe pseudo-merge bitmaps format
428 + + Documentation/gitpacking.txt: describe pseudo-merge bitmaps
429 + + Documentation/gitpacking.txt: initial commit
430 + + Merge branch 'tb/pack-bitmap-write-cleanups' into tb/pseudo-merge-reachability-bitmap
431
432 The pseudo-merge reachability bitmap to help more efficient storage
433 of the reachability bitmap in a repository with too many refs.
434
501 - Will merge to 'next'?
502 - source: <cover.1716499565.git.me@ttaylorr.com>
503 -
504 -
505 -* th/push-local-ff-check-without-lazy-fetch (2024-05-22) 1 commit
506 - (merged to 'next' on 2024-05-25 at 520b6b2897)
507 - + push: don't fetch commit object when checking existence
508 -
509 - When "git push" notices that the commit at the tip of the ref on
510 - the other side it is about to overwrite does not exist locally, it
511 - used to first try fetching it if the local repository is a partial
512 - clone. The command has been taught not to do so and immediately
513 - fail instead.
514 -
435 Will merge to 'master'.
516 - source: <20240522201559.1677959-1-tom@compton.nu>
436 + source: <cover.1716499565.git.me@ttaylorr.com>
437
438
439 * th/quiet-lazy-fetch-from-promisor (2024-05-26) 1 commit
@@ -527,18 +447,6 @@ Release tarballs are available at:
447 source: <20240525100927.2949808-1-tom@compton.nu>
448
449
530 -* ps/fix-reinit-includeif-onbranch (2024-05-22) 1 commit
531 - (merged to 'next' on 2024-05-25 at 89c035186d)
532 - + setup: fix bug with "includeIf.onbranch" when initializing dir
533 -
534 - "git init" in an already created directory, when the user
535 - configuration has includeif.onbranch, started to fail recently,
536 - which has been corrected.
537 -
538 - Will merge to 'master'.
539 - source: <cf182bb9ee7d4a7eb46e5dbf4f3ef5deb198d823.1716374321.git.ps@pks.im>
540 -
541 -
450 * kn/update-ref-symref (2024-05-30) 7 commits
451 - update-ref: add support for 'symref-update' command
452 - reftable: pick either 'oid' or 'target' for new updates
@@ -577,17 +485,12 @@ Release tarballs are available at:
485 source: <pull.1719.v2.git.git.1715967267420.gitgitgadget@gmail.com>
486
487
580 -* tb/precompose-getcwd (2024-05-21) 1 commit
488 +* tb/precompose-getcwd (2024-05-31) 1 commit
489 - macOS: ls-files path fails if path of workdir is NFD
490
491 We forgot to normalize the result of getcwd() to NFC on macOS where
492 all other paths are normalized, which has been corrected.
585 -
586 - Reverted out of 'next' to be replaced with an updated version (this one).
587 - Expectign a reroll to clarify the proposed log message.
588 - cf. <20240520160601.GA29154@tb-raspi4>
589 - cf. <20240521205749.GA8165@tb-raspi4>
590 - source: <20240521141452.26210-1-tboegi@web.de>
493 + source: <20240531193156.28046-1-tboegi@web.de>
494
495
496 * pw/rebase-i-error-message (2024-05-30) 2 commits
@@ -611,7 +514,7 @@ Release tarballs are available at:
514 The hashtable library "khash.h" has been replaced with "khashl.h"
515 that has better memory usage characteristics.
516
614 - Needs review.
517 + Will discard.
518 cf. <xmqqy1a4ao3t.fsf@gitster.g>
519 source: <20240328101356.300374-1-e@80x24.org>
520