What's cooking (2022/06 #02)

Junio C Hamano committed Jun 7, 2022 at 16:09 UTC 7c89ac0feb9f27a4f5e09e4b3bb982938ceed976
1 file changed +527 -483
whats-cooking.txt
+527 -483
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Jun 2022, #01; Wed, 1)
4 -X-master-at: 2668e3608e47494f2f10ef2b6e69f08a84816bcb
5 -X-next-at: f531a6ea8b6a3b1c1e0c4e5b8defb29d62e3b44b
3 +Subject: What's cooking in git.git (Jun 2022, #02; Tue, 7)
4 +X-master-at: 9c897eef06347cc5a3eb07c3ae409970ab1052c8
5 +X-next-at: c6f46106abc684656a9b2608ecedc4b8ac04b8ef
6
7 -What's cooking in git.git (Jun 2022, #01; Wed, 1)
7 +What's cooking in git.git (Jun 2022, #02; Tue, 7)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking in my tree. Commits
@@ -13,8 +13,8 @@ topic is stable enough to be used and are candidate to be in a
13 future release). Commits prefixed with '-' are only in 'seen',
14 and aren't considered "accepted" at all.
15
16 -This cycle will conclude in early July (https://tinyurl.com/gitCal);
17 -we are in the week #6 of the cycle.
16 +This cycle will complete at around the end of June
17 +(https://tinyurl.com/gitCal); we are in the week #7 of the cycle.
18
19 Copies of the source code to Git live in many repositories, and the
20 following is a list of the ones I push into or their mirrors. Some
@@ -47,136 +47,212 @@ Release tarballs are available at:
47 --------------------------------------------------
48 [Graduated to 'master']
49
50 -* ac/remote-v-with-object-list-filters (2022-05-09) 1 commit
51 - (merged to 'next' on 2022-05-20 at 8d2dc10d8f)
52 - + builtin/remote.c: teach `-v` to list filters for promisor remotes
50 +* ab/plug-leak-in-revisions (2022-04-13) 28 commits
51 + (merged to 'next' on 2022-05-30 at 2ff85c8e71)
52 + + revisions API: add a TODO for diff_free(&revs->diffopt)
53 + + revisions API: have release_revisions() release "topo_walk_info"
54 + + revisions API: have release_revisions() release "date_mode"
55 + + revisions API: call diff_free(&revs->pruning) in revisions_release()
56 + + revisions API: release "reflog_info" in release revisions()
57 + + revisions API: clear "boundary_commits" in release_revisions()
58 + + revisions API: have release_revisions() release "prune_data"
59 + + revisions API: have release_revisions() release "grep_filter"
60 + + revisions API: have release_revisions() release "filter"
61 + + revisions API: have release_revisions() release "cmdline"
62 + + revisions API: have release_revisions() release "mailmap"
63 + + revisions API: have release_revisions() release "commits"
64 + + revisions API users: use release_revisions() for "prune_data" users
65 + + revisions API users: use release_revisions() with UNLEAK()
66 + + revisions API users: use release_revisions() in builtin/log.c
67 + + revisions API users: use release_revisions() in http-push.c
68 + + revisions API users: add "goto cleanup" for release_revisions()
69 + + stash: always have the owner of "stash_info" free it
70 + + revisions API users: use release_revisions() needing REV_INFO_INIT
71 + + revision.[ch]: document and move code declared around "init"
72 + + revisions API users: add straightforward release_revisions()
73 + + revision.[ch]: provide and start using a release_revisions()
74 + + cocci: add and apply free_commit_list() rules
75 + + format-patch: don't leak "extra_headers" or "ref_message_ids"
76 + + string_list API users: use string_list_init_{no,}dup
77 + + blame: use "goto cleanup" for cleanup_scoreboard()
78 + + t/helper/test-fast-rebase.c: don't leak "struct strbuf"
79 + + Merge branch 'ds/partial-bundle-more' into ab/plug-leak-in-revisions
80
54 - "git remote -v" now shows the list-objects-filter used during
55 - fetching from the remote, if available.
56 - source: <pull.1227.v4.git.1652095969026.gitgitgadget@gmail.com>
81 + Plug the memory leaks from the trickiest API of all, the revision
82 + walker.
83 + source: <cover-v6-00.27-00000000000-20220413T195935Z-avarab@gmail.com>
84
85
59 -* cb/path-owner-check-with-sudo (2022-05-12) 3 commits
60 - (merged to 'next' on 2022-05-19 at d282e56560)
61 - + t0034: add negative tests and allow git init to mostly work under sudo
62 - + git-compat-util: avoid failing dir ownership checks if running privileged
63 - + t: regression git needs safe.directory when using sudo
64 - (this branch is used by cb/path-owner-check-with-sudo-plus.)
86 +* ds/bundle-uri (2022-05-16) 8 commits
87 + (merged to 'next' on 2022-05-25 at 43b1b9092c)
88 + + bundle.h: make "fd" version of read_bundle_header() public
89 + + remote: allow relative_url() to return an absolute url
90 + + remote: move relative_url()
91 + + http: make http_get_file() external
92 + + fetch-pack: move --keep=* option filling to a function
93 + + fetch-pack: add a deref_without_lazy_fetch_extended()
94 + + dir API: add a generalized path_match_flags() function
95 + + connect.c: refactor sending of agent & object-format
96 + (this branch is used by ds/bundle-uri-more.)
97
66 - With a recent update to refuse access to repositories of other
67 - people by default, "sudo make install" and "sudo git describe"
68 - stopped working. This series intends to loosen it while keeping
69 - the safety.
70 - source: <20220513010020.55361-1-carenas@gmail.com>
98 + Preliminary code refactoring around transport and bundle code.
99 + source: <pull.1233.git.1652731865.gitgitgadget@gmail.com>
100
101
73 -* cc/http-curlopt-resolve (2022-05-16) 1 commit
74 - (merged to 'next' on 2022-05-20 at 80a07dc7de)
75 - + http: add custom hostname to IP address resolutions
102 +* ds/object-file-unpack-loose-header-fix (2022-05-16) 1 commit
103 + (merged to 'next' on 2022-05-26 at b35a1d5db6)
104 + + object-file: convert 'switch' back to 'if'
105
77 - With the new http.curloptResolve configuration, the CURLOPT_RESOLVE
78 - mechanism that allows cURL based applications to use pre-resolved
79 - IP addresses for the requests is exposed to the scripts.
80 - source: <20220516083851.202057-1-chriscool@tuxfamily.org>
106 + Coding style fix.
107 + source: <377be0e9-8a0f-4a86-0a66-3b08c0284dae@github.com>
108
109
83 -* cg/tools-for-git-doc (2022-04-21) 1 commit
84 - (merged to 'next' on 2022-05-19 at e6b6309afb)
85 - + Documentation/ToolsForGit.txt: Tools for developing Git
110 +* ds/sparse-sparse-checkout (2022-05-23) 10 commits
111 + (merged to 'next' on 2022-05-26 at e0e07693c5)
112 + + sparse-checkout: integrate with sparse index
113 + + p2000: add test for 'git sparse-checkout [add|set]'
114 + + sparse-index: complete partial expansion
115 + + sparse-index: partially expand directories
116 + + sparse-checkout: --no-sparse-index needs a full index
117 + + cache-tree: implement cache_tree_find_path()
118 + + sparse-index: introduce partially-sparse indexes
119 + + sparse-index: create expand_index()
120 + + t1092: stress test 'git sparse-checkout set'
121 + + t1092: refactor 'sparse-index contents' test
122
87 - A new doc that lists tips for tools to work with Git's codebase.
88 - source: <20220421084515.21236-2-cogoni.guillaume@gmail.com>
123 + "sparse-checkout" learns to work well with the sparse-index
124 + feature.
125 + source: <pull.1208.v3.git.1653313726.gitgitgadget@gmail.com>
126
127
91 -* jc/http-clear-finished-pointer (2022-05-27) 1 commit
92 - (merged to 'next' on 2022-05-30 at 7c25c5d9b3)
93 - + http.c: clear the 'finished' member once we are done with it
128 +* en/sparse-cone-becomes-default (2022-04-21) 9 commits
129 + (merged to 'next' on 2022-05-13 at c168eb55cf)
130 + + Documentation: some sparsity wording clarifications
131 + + git-sparse-checkout.txt: mark non-cone mode as deprecated
132 + + git-sparse-checkout.txt: flesh out pattern set sections a bit
133 + + git-sparse-checkout.txt: add a new EXAMPLES section
134 + + git-sparse-checkout.txt: shuffle some sections and mark as internal
135 + + git-sparse-checkout.txt: update docs for deprecation of 'init'
136 + + git-sparse-checkout.txt: wording updates for the cone mode default
137 + + sparse-checkout: make --cone the default
138 + + tests: stop assuming --no-cone is the default mode for sparse-checkout
139
95 - Meant to go with js/ci-gcc-12-fixes.
96 - source: <xmqq7d68ytj8.fsf_-_@gitster.g>
140 + Deprecate non-cone mode of the sparse-checkout feature.
141 + source: <pull.1148.v3.git.1650594746.gitgitgadget@gmail.com>
142
143
99 -* jc/t6424-failing-merge-preserve-local-changes (2022-05-19) 1 commit
100 - (merged to 'next' on 2022-05-23 at 849cf6f24c)
101 - + t6424: make sure a failed merge preserves local changes
144 +* fh/transport-push-leakfix (2022-05-27) 3 commits
145 + (merged to 'next' on 2022-05-30 at e70a36b915)
146 + + transport: free local and remote refs in transport_push()
147 + + transport: unify return values and exit point from transport_push()
148 + + transport: remove unnecessary indenting in transport_push()
149
103 - The tests that ensured merges stop when interfering local changes
104 - are present did not make sure that local changes are preserved; now
105 - they do.
106 - source: <xmqqbkvtnyae.fsf@gitster.g>
150 + Leakfix.
151 + source: <20220520124952.2393299-1-frantisek@hrbata.com>
152
153
109 -* js/ci-gcc-12-fixes (2022-05-24) 3 commits
110 - (merged to 'next' on 2022-05-26 at 3c6b04c9fa)
111 - + dir.c: avoid "exceeds maximum object size" error with GCC v12.x
112 - + nedmalloc: avoid new compile error
113 - + compat/win32/syslog: fix use-after-realloc
154 +* jc/all-negative-pathspec (2022-05-29) 1 commit
155 + (merged to 'next' on 2022-05-31 at 2d65a13996)
156 + + pathspec: correct an empty string used as a pathspec element
157
115 - Fixes real problems noticed by gcc 12 and works around false
116 - positives.
117 - source: <pull.1238.git.1653351786.gitgitgadget@gmail.com>
158 + A git subcommand like "git add -p" spawns a separate git process
159 + while relaying its command line arguments. A pathspec with only
160 + negative elements was mistakenly passed with an empty string, which
161 + has been corrected.
162 + source: <xmqqpmjwx8so.fsf_-_@gitster.g>
163
164
120 -* js/use-builtin-add-i (2021-12-01) 2 commits
121 - (merged to 'next' on 2022-05-23 at a6434bc6f7)
122 - + add -i: default to the built-in implementation
123 - + t2016: require the PERL prereq only when necessary
165 +* js/ci-github-workflow-markup (2022-05-21) 12 commits
166 + (merged to 'next' on 2022-05-30 at bd37e9e41f)
167 + + ci: call `finalize_test_case_output` a little later
168 + + ci(github): mention where the full logs can be found
169 + + ci: use `--github-workflow-markup` in the GitHub workflow
170 + + ci(github): avoid printing test case preamble twice
171 + + ci(github): skip the logs of the successful test cases
172 + + ci: optionally mark up output in the GitHub workflow
173 + + ci/run-build-and-tests: add some structure to the GitHub workflow output
174 + + ci: make it easier to find failed tests' logs in the GitHub workflow
175 + + ci/run-build-and-tests: take a more high-level view
176 + + test(junit): avoid line feeds in XML attributes
177 + + tests: refactor --write-junit-xml code
178 + + ci: fix code style
179
125 - "git add -i" was rewritten in C some time ago and has been in
126 - testing; the reimplementation is now exposed to general public by
127 - default.
128 - source: <pull.1087.git.1638281655.gitgitgadget@gmail.com>
180 + Update the GitHub workflow support to make it quicker to get to the
181 + failing test.
182 + source: <pull.1117.v3.git.1653171536.gitgitgadget@gmail.com>
183
184
131 -* tk/simple-autosetupmerge (2022-04-29) 3 commits
132 - (merged to 'next' on 2022-05-19 at 9666852f1e)
133 - + push: new config option "push.autoSetupRemote" supports "simple" push
134 - + push: default to single remote even when not named origin
135 - + branch: new autosetupmerge option 'simple' for matching branches
185 +* js/scalar-diagnose (2022-05-30) 8 commits
186 + (merged to 'next' on 2022-05-31 at 8c878f3ac5)
187 + + scalar: teach `diagnose` to gather loose objects information
188 + + scalar: teach `diagnose` to gather packfile info
189 + + scalar diagnose: include disk space information
190 + + scalar: implement `scalar diagnose`
191 + + scalar: validate the optional enlistment argument
192 + + archive --add-virtual-file: allow paths containing colons
193 + + archive: optionally add "virtual" files
194 + + Merge branch 'rs/document-archive-prefix' into js/scalar-diagnose
195 + (this branch uses rs/document-archive-prefix.)
196
137 - "git -c branch.autosetupmerge=simple branch $A $B" will set the $B
138 - as $A's upstream only when $A and $B shares the same name, and "git
139 - -c push.default=simple" on branch $A would push to update the
140 - branch $A at the remote $B came from. Also more places use the
141 - sole remote, if exists, before defaulting to 'origin'.
142 - source: <pull.1161.v5.git.1651226206.gitgitgadget@gmail.com>
197 + Implementation of "scalar diagnose" subcommand.
198 + source: <20220528231118.3504387-1-gitster@pobox.com>
199
144 ---------------------------------------------------
145 -[New Topics]
200
147 -* ds/credentials-in-url (2022-06-01) 2 commits
148 - - usage: add warn_once() helper for repeated warnings
149 - - remote: create fetch.credentialsInUrl config
201 +* jx/l10n-workflow-change (2022-05-26) 10 commits
202 + (merged to 'next' on 2022-05-26 at 252c979843)
203 + + l10n: Document the new l10n workflow
204 + + Makefile: add "po-init" rule to initialize po/XX.po
205 + + Makefile: add "po-update" rule to update po/XX.po
206 + + po/git.pot: don't check in result of "make pot"
207 + + po/git.pot: this is now a generated file
208 + + Makefile: remove duplicate and unwanted files in FOUND_SOURCE_FILES
209 + + i18n CI: stop allowing non-ASCII source messages in po/git.pot
210 + + Makefile: have "make pot" not "reset --hard"
211 + + Makefile: generate "po/git.pot" from stable LOCALIZED_C
212 + + Makefile: sort source files before feeding to xgettext
213
151 - The "fetch.credentialsInUrl" configuration variable controls what
152 - happens when a URL with embedded login credential is used.
214 + A workflow change for translators are being proposed.
215 + source: <20220523152128.26380-1-worldhello.net@gmail.com>
216
154 - source: <pull.1237.v3.git.1654046173.gitgitgadget@gmail.com>
217
218 +* kl/setup-in-unreadable-worktree (2022-05-24) 1 commit
219 + (merged to 'next' on 2022-05-27 at 4867873678)
220 + + setup: don't die if realpath(3) fails on getcwd(3)
221
157 -* fh/transport-push-leakfix (2022-05-27) 3 commits
158 - (merged to 'next' on 2022-05-30 at e70a36b915)
159 - + transport: free local and remote refs in transport_push()
160 - + transport: unify return values and exit point from transport_push()
161 - + transport: remove unnecessary indenting in transport_push()
222 + Disable the "do not remove the directory the user started Git in"
223 + logic when Git cannot tell where that directory is. Earlier we
224 + refused to run in such a case.
225 + source: <8b20840014d214023c50ee62439147f798e6f9cc.1653419993.git.kevin@kevinlocke.name>
226
163 - Leakfix.
227
165 - Will merge to 'master'.
166 - source: <20220520124952.2393299-1-frantisek@hrbata.com>
228 +* ns/batch-fsync (2022-04-06) 13 commits
229 + (merged to 'next' on 2022-05-23 at 379d8bd500)
230 + + core.fsyncmethod: performance tests for batch mode
231 + + t/perf: add iteration setup mechanism to perf-lib
232 + + core.fsyncmethod: tests for batch mode
233 + + test-lib-functions: add parsing helpers for ls-files and ls-tree
234 + + core.fsync: use batch mode and sync loose objects by default on Windows
235 + + unpack-objects: use the bulk-checkin infrastructure
236 + + update-index: use the bulk-checkin infrastructure
237 + + builtin/add: add ODB transaction around add_files_to_cache
238 + + cache-tree: use ODB transaction around writing a tree
239 + + core.fsyncmethod: batched disk flushes for loose-objects
240 + + bulk-checkin: rebrand plug/unplug APIs as 'odb transactions'
241 + + bulk-checkin: rename 'state' variable and separate 'plugged' boolean
242 + + Merge branch 'ns/core-fsyncmethod' into ns/batch-fsync
243
244 + Introduce a filesystem-dependent mechanism to optimize the way the
245 + bits for many loose object files are ensured to hit the disk
246 + platter.
247 + source: <pull.1134.v5.git.1648616734.gitgitgadget@gmail.com>
248
169 -* jc/all-negative-pathspec (2022-05-29) 1 commit
170 - (merged to 'next' on 2022-05-31 at 2d65a13996)
171 - + pathspec: correct an empty string used as a pathspec element
249
173 - A git subcommand like "git add -p" spawns a separate git process
174 - while relaying its command line arguments. A pathspec with only
175 - negative elements was mistakenly passed with an empty string, which
176 - has been corrected.
250 +* pb/use-freebsd-12.3-in-cirrus-ci (2022-05-25) 1 commit
251 + (merged to 'next' on 2022-05-26 at cea1e33100)
252 + + ci: update Cirrus-CI image to FreeBSD 12.3
253
178 - Will merge to 'master'.
179 - source: <xmqqpmjwx8so.fsf_-_@gitster.g>
254 + Update the version of FreeBSD image used in Cirrus CI.
255 + source: <20220525125112.86954-1-levraiphilippeblain@gmail.com>
256
257
258 * rs/document-archive-prefix (2022-05-28) 1 commit
@@ -186,54 +262,255 @@ Release tarballs are available at:
262
263 The documentation on the interaction between "--add-file" and
264 "--prefix" options of "git archive" has been improved.
265 + source: <6ef7f836-45f6-8386-03c0-dc18b125ec67@web.de>
266 +
267 +
268 +* tb/cruft-packs (2022-05-26) 17 commits
269 + (merged to 'next' on 2022-05-27 at cfa4cbd790)
270 + + sha1-file.c: don't freshen cruft packs
271 + + builtin/gc.c: conditionally avoid pruning objects via loose
272 + + builtin/repack.c: add cruft packs to MIDX during geometric repack
273 + + builtin/repack.c: use named flags for existing_packs
274 + + builtin/repack.c: allow configuring cruft pack generation
275 + + builtin/repack.c: support generating a cruft pack
276 + + builtin/pack-objects.c: --cruft with expiration
277 + + reachable: report precise timestamps from objects in cruft packs
278 + + reachable: add options to add_unseen_recent_objects_to_traversal
279 + + builtin/pack-objects.c: --cruft without expiration
280 + + builtin/pack-objects.c: return from create_object_entry()
281 + + t/helper: add 'pack-mtimes' test-tool
282 + + pack-mtimes: support writing pack .mtimes files
283 + + chunk-format.h: extract oid_version()
284 + + pack-write: pass 'struct packing_data' to 'stage_tmp_packfiles'
285 + + pack-mtimes: support reading .mtimes files
286 + + Documentation/technical: add cruft-packs.txt
287 +
288 + A mechanism to pack unreachable objects into a "cruft pack",
289 + instead of ejecting them into loose form to be reclaimed later, has
290 + been introduced.
291 + source: <cover.1653088640.git.me@ttaylorr.com>
292 +
293 +
294 +* tb/geom-repack-with-keep-and-max (2022-05-20) 3 commits
295 + (merged to 'next' on 2022-05-26 at 4068f4afd3)
296 + + builtin/repack.c: ensure that `names` is sorted
297 + + t7703: demonstrate object corruption with pack.packSizeLimit
298 + + repack: respect --keep-pack with geometric repack
299 +
300 + Teach "git repack --geometric" work better with "--keep-pack" and
301 + avoid corrupting the repository when packsize limit is used.
302 + source: <cover.1653073280.git.me@ttaylorr.com>
303 +
304 +
305 +* tb/midx-race-in-pack-objects (2022-05-24) 4 commits
306 + (merged to 'next' on 2022-05-26 at b51897dfc4)
307 + + builtin/pack-objects.c: ensure pack validity from MIDX bitmap objects
308 + + builtin/pack-objects.c: ensure included `--stdin-packs` exist
309 + + builtin/pack-objects.c: avoid redundant NULL check
310 + + pack-bitmap.c: check preferred pack validity when opening MIDX bitmap
311 +
312 + The multi-pack-index code did not protect the packfile it is going
313 + to depend on from getting removed while in use, which has been
314 + corrected.
315 + source: <cover.1653418457.git.me@ttaylorr.com>
316 +
317 +
318 +* yw/cmake-updates (2022-05-24) 3 commits
319 + (merged to 'next' on 2022-05-30 at ff3184441c)
320 + + cmake: remove (_)UNICODE def on Windows in CMakeLists.txt
321 + + cmake: add pcre2 support
322 + + cmake: fix CMakeLists.txt on Linux
323 +
324 + CMake updates.
325 + source: <pull.1267.v2.git.git.1653374328.gitgitgadget@gmail.com>
326 +
327 +--------------------------------------------------
328 +[New Topics]
329 +
330 +* jy/gitweb-xhtml5 (2022-06-02) 1 commit
331 + (merged to 'next' on 2022-06-02 at cc6a77b48b)
332 + + gitweb: switch to an XHTML5 DOCTYPE
333 +
334 + Update the doctype written in gitweb output to xhtml5.
335
336 Will merge to 'master'.
191 - source: <6ef7f836-45f6-8386-03c0-dc18b125ec67@web.de>
337 + source: <20220602114305.5915-1-jason@jasonyundt.email>
338
339
194 -* ab/bug-if-bug (2022-06-01) 6 commits
195 - - cache-tree.c: use bug() and BUG_if_bug()
196 - - receive-pack: use bug() and BUG_if_bug()
197 - - parse-options.c: use optbug() instead of BUG() "opts" check
198 - - parse-options.c: use new bug() API for optbug()
199 - - usage.c: add a non-fatal bug() function to go with BUG()
200 - - common-main.c: move non-trace2 exit() behavior out of trace2.c
340 +* pb/range-diff-with-submodule (2022-06-06) 1 commit
341 + (merged to 'next' on 2022-06-07 at e5e31590c4)
342 + + range-diff: show submodule changes irrespective of diff.submodule
343
202 - A new bug() and BUG_if_bug() API is introduced to make it easier to
203 - uniformly log "detect multiple bugs and abort in the end" pattern.
344 + "git range-diff" did not show anything for submodules that changed
345 + in the ranges being compared. Change the behaviour to include the
346 + "--submodule=short" output unconditionally to be compared.
347
205 - Will merge to 'next'?
206 - source: <cover-v2-0.6-00000000000-20220531T164806Z-avarab@gmail.com>
348 + Will merge to 'master'.
349 + source: <pull.1244.v2.git.1654549153769.gitgitgadget@gmail.com>
350
351
209 -* cb/buggy-gcc-12-workaround (2022-06-01) 1 commit
210 - - Revert -Wno-error=dangling-pointer
352 +* jp/prompt-clear-before-upstream-mark (2022-06-07) 1 commit
353 + - git-prompt: make colourization consistent
354
212 - With a more targetted workaround in http.c in another topic, we may
213 - be able to lift this blanket "GCC12 dangling-pointer warning is
214 - broken and unsalvageable" workaround.
355 + Bash command line prompt (in contrib/) update.
356
216 - Will merge to 'next'?
357 + Will merge to 'next'.
358 + source: <20220607115024.64724-1-joak-pet@online.no>
359
360
219 -* gc/zero-length-branch-config-fix (2022-06-01) 2 commits
220 - - remote.c: reject 0-length branch names
221 - - remote.c: don't BUG() on 0-length branch names
361 +* jt/unparse-commit-upon-graft-change (2022-06-06) 1 commit
362 + - commit,shallow: unparse commits if grafts changed
363
223 - A misconfigured 'branch..remote' led to a bug in configuration
224 - parsing.
364 + Updating the graft information invalidates the list of parents of
365 + in-core commit objects that used to be in the graft file.
366
226 - Will merge to 'next'?
227 - source: <pull.1273.git.git.1654038754.gitgitgadget@gmail.com>
367 + Will merge to 'next'.
368 + source: <20220606175437.1740447-1-jonathantanmy@google.com>
369
370
230 -* tl/ls-tree-oid-only (2022-06-01) 1 commit
231 - - ls-tree: test for the regression in 9c4d58ff2c3
371 +* ds/rebase-update-refs (2022-06-07) 7 commits
372 + - rebase: add rebase.updateRefs config option
373 + - sequencer: implement 'update-refs' command
374 + - rebase: add --update-refs option
375 + - sequencer: add update-refs command
376 + - sequencer: define array with enum values
377 + - branch: add branch_checked_out() helper
378 + - log-tree: create for_each_decoration()
379
233 - Add tests for a regression fixed earlier.
380 + "git rebase" learns "--update-refs" to update the refs that point
381 + at commits being rewritten so that they point at the corresponding
382 + commits in the rewritten history.
383 +
384 + source: <3d7d3f656b4e93e8caa0d18d29c318ede956d1d7.1654634569.git.gitgitgadget@gmail.com>
385 +
386 +
387 +* ab/build-gitweb (2022-06-02) 7 commits
388 + - Makefile: build 'gitweb' in the default target
389 + - gitweb/Makefile: include in top-level Makefile
390 + - gitweb: remove "test" and "test-installed" targets
391 + - gitweb/Makefile: prepare to merge into top-level Makefile
392 + - gitweb/Makefile: clear up and de-duplicate the gitweb.{css,js} vars
393 + - gitweb/Makefile: add a $(GITWEB_ALL) variable
394 + - gitweb/Makefile: define all .PHONY prerequisites inline
395 +
396 + source: <cover-v2-0.7-00000000000-20220531T173805Z-avarab@gmail.com>
397 +
398 +
399 +* ab/test-without-templates (2022-06-06) 7 commits
400 + - tests: don't assume a .git/info for .git/info/sparse-checkout
401 + - tests: don't assume a .git/info for .git/info/exclude
402 + - tests: don't assume a .git/info for .git/info/refs
403 + - tests: don't assume a .git/info for .git/info/attributes
404 + - tests: don't assume a .git/info for .git/info/grafts
405 + - tests: don't depend on template-created .git/branches
406 + - t0008: don't rely on default ".git/info/exclude"
407
235 - Will merge to 'next'?
236 - source: <patch-1.1-0fdfec624eb-20220531T171908Z-avarab@gmail.com>
408 + source: <cover-v2-0.7-00000000000-20220603T110506Z-avarab@gmail.com>
409 +
410 +
411 +* ac/bitmap-format-doc (2022-06-07) 3 commits
412 + - bitmap-format.txt: add information for trailing checksum
413 + - bitmap-format.txt: fix some formatting issues
414 + - bitmap-format.txt: feed the file to asciidoc to generate html
415 +
416 + Adjust technical/bitmap-format to be formatted by AsciiDoc.
417 +
418 + Needs more work to really use AsciiDoc to produce true HTML.
419 + source: <pull.1246.v2.git.1654623814.gitgitgadget@gmail.com>
420 +
421 +
422 +* hx/unpack-streaming (2022-06-06) 7 commits
423 + - unpack-objects: use stream_loose_object() to unpack large objects
424 + - core doc: modernize core.bigFileThreshold documentation
425 + - object-file.c: add "stream_loose_object()" to handle large object
426 + - object-file.c: factor out deflate part of write_loose_object()
427 + - object-file.c: refactor write_loose_object() to several steps
428 + - object-file.c: do fsync() and close() before post-write die()
429 + - unpack-objects: low memory footprint for get_data() in dry_run mode
430 +
431 + Allow large objects read from a packstream to be streamed into a
432 + loose object file straight, without having to keep it in-core as a
433 + whole.
434 +
435 + Needs rebasing on batched-fsync stuff.
436 + cf. <7ba4858a-d1cc-a4eb-b6d6-4c04a5dd6ce7@gmail.com>
437 + source: <cover-v13-0.7-00000000000-20220604T095113Z-avarab@gmail.com>
438 +
439 +
440 +* po/rebase-preserve-merges (2022-06-06) 4 commits
441 + - rebase: translate a die(preserve-merges) message
442 + - rebase: note `preserve` merges may be a pull config option
443 + - rebase: help users when dying with `preserve-merges`
444 + - rebase.c: state preserve-merges has been removed
445 +
446 + Various error messages that talk about the removal of
447 + "--preserve-merges" in "rebase" have been strengthened, and "rebase
448 + --abort" learned to get out of a state that was left by an earlier
449 + use of the option.
450 +
451 + Will merge to 'next'.
452 + source: <pull.1242.v2.git.1654341469.gitgitgadget@gmail.com>
453 +
454 +
455 +* tb/show-ref-optim (2022-06-06) 1 commit
456 + - builtin/show-ref.c: avoid over-iterating with --heads, --tags
457 +
458 + "git show-ref --heads" (and "--tags") still iterated over all the
459 + refs, which has been corrected.
460 +
461 + Will merge to 'next'.
462 + source: <3fa6932641f18d78156bbf60b1571383f2cb5046.1654293264.git.me@ttaylorr.com>
463 +
464 +
465 +* zh/read-cache-copy-name-entry-fix (2022-06-06) 1 commit
466 + - read-cache.c: reduce unnecessary cache entry name copying
467 +
468 + Remove redundant copying (with index v3 and older) or possible
469 + over-reading beyond end of mmapped memory (with index v4) has been
470 + corrected.
471 +
472 + Will merge to 'next'.
473 + source: <pull.1249.git.1654436248249.gitgitgadget@gmail.com>
474 +
475 +
476 +* ab/remote-free-fix (2022-06-07) 2 commits
477 + - remote.c: don't dereference NULL in freeing loop
478 + - remote.c: remove braces from one-statement "for"-loops
479 +
480 + Use-after-free (with another forget-to-free) fix.
481 +
482 + Will merge to 'next'.
483 + source: <cover-0.3-00000000000-20220607T154520Z-avarab@gmail.com>
484 +
485 +
486 +* sn/fsmonitor-missing-clock (2022-06-07) 1 commit
487 + - fsmonitor: query watchman with right valid json
488 +
489 + Sample watchman interface hook sometimes failed to produce
490 + correctly formatted JSON message, which has been corrected.
491 +
492 + Will merge to 'next'.
493 + source: <20220607111419.15753-1-sluongng@gmail.com>
494 +
495 +
496 +* tb/show-ref-count (2022-06-06) 2 commits
497 + - builtin/show-ref.c: limit output with `--count`
498 + - builtin/show-ref.c: rename `found_match` to `matches_nr`
499 +
500 + "git show-ref" learned to stop after emitting N refs with the new
501 + "--count=N" option.
502 +
503 + Expecting a reroll.
504 + cf. <xmqqczfl4ce1.fsf@gitster.g>
505 + source: <cover.1654552560.git.me@ttaylorr.com>
506 +
507 +
508 +* jc/cocci-cleanup (2022-06-07) 1 commit
509 + - cocci: retire is_null_sha1() rule
510 +
511 + Remove a coccinelle rule that is no longer relevant.
512 +
513 + source: <xmqq7d5suoqt.fsf@gitster.g>
514
515 --------------------------------------------------
516 [Stalled]
@@ -335,16 +612,6 @@ Release tarballs are available at:
612 source: <20220407215352.3491567-1-sandals@crustytoothpaste.net>
613
614
338 -* js/wait-or-whine-can-fail (2022-04-28) 1 commit
339 - - run-command: don't spam trace2_child_exit()
340 -
341 - We used to log an error return from wait_or_whine() as process
342 - termination of the waited child, which was incorrect.
343 -
344 - Needs clarifying "in rare cases".
345 - source: <4616d09ffa632bd2c9e308a713c4bdf2a1328c3c.1651179450.git.steadmon@google.com>
346 -
347 -
615 * cw/remote-object-info (2022-05-06) 11 commits
616 - SQUASH??? coccicheck
617 - SQUASH??? ensure that coccicheck is happy
@@ -366,102 +633,98 @@ Release tarballs are available at:
633 --------------------------------------------------
634 [Cooking]
635
369 -* ds/bundle-uri-more (2022-05-20) 24 commits
370 - . t5601: basic bundle URI tests
371 - . clone: unbundle the advertised bundles
372 - . bundle-uri: download bundles from an advertised list
373 - . bundle-uri: allow relative URLs in bundle lists
374 - . bundle-uri client: add boolean transfer.bundleURI setting
375 - . bundle-uri: serve URI advertisement from bundle.* config
376 - . bundle-uri client: add "git ls-remote-bundle-uri"
377 - . bundle-uri client: add minimal NOOP client
378 - . protocol v2: add server-side "bundle-uri" skeleton
379 - . bundle-uri: fetch a list of bundles
380 - . bundle-uri: parse bundle list in config format
381 - . bundle-uri: limit recursion depth for bundle lists
382 - . bundle-uri: unit test "key=value" parsing
383 - . bundle-uri: create "key=value" line parsing
384 - . bundle-uri: create base key-value pair parsing
385 - . bundle-uri: create bundle_list struct and helpers
386 - . clone: --bundle-uri cannot be combined with --depth
387 - . clone: add --bundle-uri option
388 - . fetch: add 'refs/bundle/' to log.excludeDecoration
389 - . fetch: add --bundle-uri option
390 - . bundle-uri: add support for http(s):// and file://
391 - . bundle-uri: create basic file-copy logic
392 - . remote-curl: add 'get' capability
393 - . docs: document bundle URI standard
394 - (this branch uses ds/bundle-uri.)
395 -
396 - RFC/ seems to trigger errors in linux-leaks CI job
397 - source: <pull.1234.git.1653072042.gitgitgadget@gmail.com>
636 +* js/wait-or-whine-can-fail (2022-06-07) 1 commit
637 + - run-command: don't spam trace2_child_exit()
638
639 + We used to log an error return from wait_or_whine() as process
640 + termination of the waited child, which was incorrect.
641
400 -* jc/revert-show-parent-info (2022-05-31) 2 commits
401 - - revert: --reference should apply only to 'revert', not 'cherry-pick'
402 - (merged to 'next' on 2022-05-30 at b5da52dc14)
403 - + revert: optionally refer to commit in the "reference" format
642 + Will merge to 'next'.
643 + source: <50d872a057a558fa5519856b95abd048ddb514dc.1654625626.git.steadmon@google.com>
644
405 - "git revert" learns "--reference" option to use more human-readable
406 - reference to the commit it reverts in the message template it
407 - prepares for the user.
408 - source: <xmqq8rqn7buk.fsf_-_@gitster.g>
645
646 +* ds/credentials-in-url (2022-06-06) 1 commit
647 + - remote: create fetch.credentialsInUrl config
648
411 -* kl/setup-in-unreadable-worktree (2022-05-24) 1 commit
412 - (merged to 'next' on 2022-05-27 at 4867873678)
413 - + setup: don't die if realpath(3) fails on getcwd(3)
649 + The "fetch.credentialsInUrl" configuration variable controls what
650 + happens when a URL with embedded login credential is used.
651
415 - Disable the "do not remove the directory the user started Git in"
416 - logic when Git cannot tell where that directory is. Earlier we
417 - refused to run in such a case.
652 + Will merge to 'next'.
653 + source: <pull.1237.v5.git.1654526176695.gitgitgadget@gmail.com>
654 +
655 +
656 +* ab/bug-if-bug (2022-06-02) 6 commits
657 + (merged to 'next' on 2022-06-03 at 25290bb7ec)
658 + + cache-tree.c: use bug() and BUG_if_bug()
659 + + receive-pack: use bug() and BUG_if_bug()
660 + + parse-options.c: use optbug() instead of BUG() "opts" check
661 + + parse-options.c: use new bug() API for optbug()
662 + + usage.c: add a non-fatal bug() function to go with BUG()
663 + + common-main.c: move non-trace2 exit() behavior out of trace2.c
664 +
665 + A new bug() and BUG_if_bug() API is introduced to make it easier to
666 + uniformly log "detect multiple bugs and abort in the end" pattern.
667
668 Will merge to 'master'.
420 - source: <8b20840014d214023c50ee62439147f798e6f9cc.1653419993.git.kevin@kevinlocke.name>
669 + source: <cover-v3-0.6-00000000000-20220602T122106Z-avarab@gmail.com>
670
671
423 -* pb/use-freebsd-12.3-in-cirrus-ci (2022-05-25) 1 commit
424 - (merged to 'next' on 2022-05-26 at cea1e33100)
425 - + ci: update Cirrus-CI image to FreeBSD 12.3
672 +* cb/buggy-gcc-12-workaround (2022-06-01) 1 commit
673 + (merged to 'next' on 2022-06-01 at 01e199fd58)
674 + + Revert -Wno-error=dangling-pointer
675 +
676 + With a more targetted workaround in http.c in another topic, we may
677 + be able to lift this blanket "GCC12 dangling-pointer warning is
678 + broken and unsalvageable" workaround.
679 +
680 + Will merge to 'master'.
681 +
682 +
683 +* gc/zero-length-branch-config-fix (2022-06-01) 2 commits
684 + (merged to 'next' on 2022-06-02 at 438605f627)
685 + + remote.c: reject 0-length branch names
686 + + remote.c: don't BUG() on 0-length branch names
687 +
688 + A misconfigured 'branch..remote' led to a bug in configuration
689 + parsing.
690 +
691 + Will merge to 'master'.
692 + source: <pull.1273.git.git.1654038754.gitgitgadget@gmail.com>
693 +
694 +
695 +* tl/ls-tree-oid-only (2022-06-03) 1 commit
696 + (merged to 'next' on 2022-06-07 at e1c1e0b25a)
697 + + ls-tree: test for the regression in 9c4d58ff2c3
698
427 - Update the version of FreeBSD image used in Cirrus CI.
699 + Add tests for a regression fixed earlier.
700
701 Will merge to 'master'.
430 - source: <20220525125112.86954-1-levraiphilippeblain@gmail.com>
431 -
702 + source: <patch-v2-1.1-f2beb02dd29-20220603T102148Z-avarab@gmail.com>
703
433 -* yw/cmake-updates (2022-05-24) 3 commits
434 - (merged to 'next' on 2022-05-30 at ff3184441c)
435 - + cmake: remove (_)UNICODE def on Windows in CMakeLists.txt
436 - + cmake: add pcre2 support
437 - + cmake: fix CMakeLists.txt on Linux
704
439 - CMake updates.
705 +* ds/bundle-uri-more (2022-06-06) 6 commits
706 + - fetch: add 'refs/bundle/' to log.excludeDecoration
707 + - bundle-uri: add support for http(s):// and file://
708 + - fetch: add --bundle-uri option
709 + - bundle-uri: create basic file-copy logic
710 + - remote-curl: add 'get' capability
711 + - docs: document bundle URI standard
712
441 - Will merge to 'master'.
442 - source: <pull.1267.v2.git.git.1653374328.gitgitgadget@gmail.com>
713 + source: <pull.1248.git.1654545325.gitgitgadget@gmail.com>
714
715
445 -* js/ci-github-workflow-markup (2022-05-21) 12 commits
446 - (merged to 'next' on 2022-05-30 at bd37e9e41f)
447 - + ci: call `finalize_test_case_output` a little later
448 - + ci(github): mention where the full logs can be found
449 - + ci: use `--github-workflow-markup` in the GitHub workflow
450 - + ci(github): avoid printing test case preamble twice
451 - + ci(github): skip the logs of the successful test cases
452 - + ci: optionally mark up output in the GitHub workflow
453 - + ci/run-build-and-tests: add some structure to the GitHub workflow output
454 - + ci: make it easier to find failed tests' logs in the GitHub workflow
455 - + ci/run-build-and-tests: take a more high-level view
456 - + test(junit): avoid line feeds in XML attributes
457 - + tests: refactor --write-junit-xml code
458 - + ci: fix code style
716 +* jc/revert-show-parent-info (2022-05-31) 2 commits
717 + (merged to 'next' on 2022-06-07 at e405211ff4)
718 + + revert: --reference should apply only to 'revert', not 'cherry-pick'
719 + (merged to 'next' on 2022-05-30 at b5da52dc14)
720 + + revert: optionally refer to commit in the "reference" format
721
460 - Update the GitHub workflow support to make it quicker to get to the
461 - failing test.
722 + "git revert" learns "--reference" option to use more human-readable
723 + reference to the commit it reverts in the message template it
724 + prepares for the user.
725
726 Will merge to 'master'.
464 - source: <pull.1117.v3.git.1653171536.gitgitgadget@gmail.com>
727 + source: <xmqq8rqn7buk.fsf_-_@gitster.g>
728
729
730 * js/bisect-in-c (2022-05-21) 15 commits
@@ -497,24 +760,12 @@ Release tarballs are available at:
760 malicious repository owned by root, the box is 0wned already).
761
762 What's our take on this one? IIRC, the last time we discussed,
500 - Carlo was hestant to push this step forward?
763 + Carlo was hesitant to push this step forward?
764 + cf. <20220519152344.ktrifm3pc42bjruh@Carlos-MacBook-Pro-2.local>
765 source: <20220513010020.55361-5-carenas@gmail.com>
766
767
504 -* tb/geom-repack-with-keep-and-max (2022-05-20) 3 commits
505 - (merged to 'next' on 2022-05-26 at 4068f4afd3)
506 - + builtin/repack.c: ensure that `names` is sorted
507 - + t7703: demonstrate object corruption with pack.packSizeLimit
508 - + repack: respect --keep-pack with geometric repack
509 -
510 - Teach "git repack --geometric" work better with "--keep-pack" and
511 - avoid corrupting the repository when packsize limit is used.
512 -
513 - Will merge to 'master'.
514 - source: <cover.1653073280.git.me@ttaylorr.com>
515 -
516 -
517 -* ab/hooks-regression-fix (2022-06-01) 2 commits
768 +* ab/hooks-regression-fix (2022-06-07) 2 commits
769 - hook API: fix v2.36.0 regression: hooks should be connected to a TTY
770 - run-command: add an "ungroup" option to run_process_parallel()
771
@@ -523,83 +774,22 @@ Release tarballs are available at:
774 directly connected to the standard output of "git" that spawns the
775 hook, which was noticed post release. This is getting corrected.
776
526 - Under discussion.
527 - source: <cover-v4-0.2-00000000000-20220531T173005Z-avarab@gmail.com>
528 -
529 -
530 -* tb/midx-race-in-pack-objects (2022-05-24) 4 commits
531 - (merged to 'next' on 2022-05-26 at b51897dfc4)
532 - + builtin/pack-objects.c: ensure pack validity from MIDX bitmap objects
533 - + builtin/pack-objects.c: ensure included `--stdin-packs` exist
534 - + builtin/pack-objects.c: avoid redundant NULL check
535 - + pack-bitmap.c: check preferred pack validity when opening MIDX bitmap
536 -
537 - The multi-pack-index code did not protect the packfile it is going
538 - to depend on from getting removed while in use, which has been
539 - corrected.
540 -
541 - Will merge to 'master'.
542 - source: <cover.1653418457.git.me@ttaylorr.com>
543 -
544 -
545 -* ds/bundle-uri (2022-05-16) 8 commits
546 - (merged to 'next' on 2022-05-25 at 43b1b9092c)
547 - + bundle.h: make "fd" version of read_bundle_header() public
548 - + remote: allow relative_url() to return an absolute url
549 - + remote: move relative_url()
550 - + http: make http_get_file() external
551 - + fetch-pack: move --keep=* option filling to a function
552 - + fetch-pack: add a deref_without_lazy_fetch_extended()
553 - + dir API: add a generalized path_match_flags() function
554 - + connect.c: refactor sending of agent & object-format
555 - (this branch is used by ds/bundle-uri-more.)
556 -
557 - Preliminary code refactoring around transport and bundle code.
558 -
559 - Will merge to 'master'.
560 - source: <pull.1233.git.1652731865.gitgitgadget@gmail.com>
561 -
562 -
563 -* ds/sparse-sparse-checkout (2022-05-23) 10 commits
564 - (merged to 'next' on 2022-05-26 at e0e07693c5)
565 - + sparse-checkout: integrate with sparse index
566 - + p2000: add test for 'git sparse-checkout [add|set]'
567 - + sparse-index: complete partial expansion
568 - + sparse-index: partially expand directories
569 - + sparse-checkout: --no-sparse-index needs a full index
570 - + cache-tree: implement cache_tree_find_path()
571 - + sparse-index: introduce partially-sparse indexes
572 - + sparse-index: create expand_index()
573 - + t1092: stress test 'git sparse-checkout set'
574 - + t1092: refactor 'sparse-index contents' test
575 -
576 - "sparse-checkout" learns to work well with the sparse-index
577 - feature.
578 -
579 - Will merge to 'master'.
580 - source: <pull.1208.v3.git.1653313726.gitgitgadget@gmail.com>
777 + Will merge to 'next'.
778 + source: <cover-v6-0.2-00000000000-20220606T170356Z-avarab@gmail.com>
779
780
583 -* gc/bare-repo-discovery (2022-05-16) 3 commits
584 - - SQUASH??? move new test to t0035
585 - - setup.c: learn discovery.bareRepository=cwd
586 - - setup.c: make bare repo discovery optional
781 +* gc/bare-repo-discovery (2022-06-07) 5 commits
782 + - setup.c: create `discovery.bare`
783 + - safe.directory: use git_protected_config()
784 + - config: read protected config with `git_protected_config()`
785 + - Documentation: define protected configuration
786 + - Documentation/git-config.txt: add SCOPES section
787
788 Introduce a discovery.barerepository configuration variable that
789 allows users to forbid discovery of bare repositories.
790
791 Expecting a reroll.
592 - source: <pull.1261.v2.git.git.1652485058.gitgitgadget@gmail.com>
593 -
594 -
595 -* ds/object-file-unpack-loose-header-fix (2022-05-16) 1 commit
596 - (merged to 'next' on 2022-05-26 at b35a1d5db6)
597 - + object-file: convert 'switch' back to 'if'
598 -
599 - Coding style fix.
600 -
601 - Will merge to 'master'.
602 - source: <377be0e9-8a0f-4a86-0a66-3b08c0284dae@github.com>
792 + source: <29053d029f8ec61095a2ad557be38b1d485a158f.1654635432.git.gitgitgadget@gmail.com>
793
794
795 * gg/worktree-from-the-above (2022-05-20) 3 commits
@@ -615,25 +805,6 @@ Release tarballs are available at:
805 source: <20220520192840.8942-1-ggossdev@gmail.com>
806
807
618 -* jx/l10n-workflow-change (2022-05-26) 10 commits
619 - (merged to 'next' on 2022-05-26 at 252c979843)
620 - + l10n: Document the new l10n workflow
621 - + Makefile: add "po-init" rule to initialize po/XX.po
622 - + Makefile: add "po-update" rule to update po/XX.po
623 - + po/git.pot: don't check in result of "make pot"
624 - + po/git.pot: this is now a generated file
625 - + Makefile: remove duplicate and unwanted files in FOUND_SOURCE_FILES
626 - + i18n CI: stop allowing non-ASCII source messages in po/git.pot
627 - + Makefile: have "make pot" not "reset --hard"
628 - + Makefile: generate "po/git.pot" from stable LOCALIZED_C
629 - + Makefile: sort source files before feeding to xgettext
630 -
631 - A workflow change for translators are being proposed.
632 -
633 - Will merge to 'master'.
634 - source: <20220523152128.26380-1-worldhello.net@gmail.com>
635 -
636 -
808 * ar/send-email-confirm-by-default (2022-04-22) 1 commit
809 - send-email: always confirm by default
810
@@ -650,182 +821,55 @@ Release tarballs are available at:
821 source: <20220422083629.1404989-1-hi@alyssa.is>
822
823
653 -* ab/env-array (2022-05-20) 4 commits
654 - - run-command API users: use "env" not "env_array" in comments & names
655 - - cocci: remove env_array -> env migration
656 - - run-command API: rename "env_array" to "env"
657 - - cocci: add a rename of "struct child_process"'s "env_array" to "env"
824 +* ab/env-array (2022-06-02) 2 commits
825 + (merged to 'next' on 2022-06-02 at e1e05318d3)
826 + + run-command API users: use "env" not "env_array" in comments & names
827 + + run-command API: rename "env_array" to "env"
828
829 Rename .env_array member to .env in the child_process structure.
830
661 - Expecting a (hopefully final) reroll, before merging it to 'next'.
662 - cf. <xmqqilq0jhk2.fsf@gitster.g>
663 - source: <cover-v2-0.4-00000000000-20220520T072122Z-avarab@gmail.com>
664 -
665 -
666 -* ab/plug-leak-in-revisions (2022-04-13) 28 commits
667 - (merged to 'next' on 2022-05-30 at 2ff85c8e71)
668 - + revisions API: add a TODO for diff_free(&revs->diffopt)
669 - + revisions API: have release_revisions() release "topo_walk_info"
670 - + revisions API: have release_revisions() release "date_mode"
671 - + revisions API: call diff_free(&revs->pruning) in revisions_release()
672 - + revisions API: release "reflog_info" in release revisions()
673 - + revisions API: clear "boundary_commits" in release_revisions()
674 - + revisions API: have release_revisions() release "prune_data"
675 - + revisions API: have release_revisions() release "grep_filter"
676 - + revisions API: have release_revisions() release "filter"
677 - + revisions API: have release_revisions() release "cmdline"
678 - + revisions API: have release_revisions() release "mailmap"
679 - + revisions API: have release_revisions() release "commits"
680 - + revisions API users: use release_revisions() for "prune_data" users
681 - + revisions API users: use release_revisions() with UNLEAK()
682 - + revisions API users: use release_revisions() in builtin/log.c
683 - + revisions API users: use release_revisions() in http-push.c
684 - + revisions API users: add "goto cleanup" for release_revisions()
685 - + stash: always have the owner of "stash_info" free it
686 - + revisions API users: use release_revisions() needing REV_INFO_INIT
687 - + revision.[ch]: document and move code declared around "init"
688 - + revisions API users: add straightforward release_revisions()
689 - + revision.[ch]: provide and start using a release_revisions()
690 - + cocci: add and apply free_commit_list() rules
691 - + format-patch: don't leak "extra_headers" or "ref_message_ids"
692 - + string_list API users: use string_list_init_{no,}dup
693 - + blame: use "goto cleanup" for cleanup_scoreboard()
694 - + t/helper/test-fast-rebase.c: don't leak "struct strbuf"
695 - + Merge branch 'ds/partial-bundle-more' into ab/plug-leak-in-revisions
696 -
697 - Plug the memory leaks from the trickiest API of all, the revision
698 - walker.
699 -
700 - Will merge to 'master'.
701 - source: <cover-v6-00.27-00000000000-20220413T195935Z-avarab@gmail.com>
702 -
703 -
704 -* ns/batch-fsync (2022-04-06) 13 commits
705 - (merged to 'next' on 2022-05-23 at 379d8bd500)
706 - + core.fsyncmethod: performance tests for batch mode
707 - + t/perf: add iteration setup mechanism to perf-lib
708 - + core.fsyncmethod: tests for batch mode
709 - + test-lib-functions: add parsing helpers for ls-files and ls-tree
710 - + core.fsync: use batch mode and sync loose objects by default on Windows
711 - + unpack-objects: use the bulk-checkin infrastructure
712 - + update-index: use the bulk-checkin infrastructure
713 - + builtin/add: add ODB transaction around add_files_to_cache
714 - + cache-tree: use ODB transaction around writing a tree
715 - + core.fsyncmethod: batched disk flushes for loose-objects
716 - + bulk-checkin: rebrand plug/unplug APIs as 'odb transactions'
717 - + bulk-checkin: rename 'state' variable and separate 'plugged' boolean
718 - + Merge branch 'ns/core-fsyncmethod' into ns/batch-fsync
719 -
720 - Introduce a filesystem-dependent mechanism to optimize the way the
721 - bits for many loose object files are ensured to hit the disk
722 - platter.
723 -
724 - Will merge to 'master'.
725 - source: <pull.1134.v5.git.1648616734.gitgitgadget@gmail.com>
726 -
727 -
728 -* en/sparse-cone-becomes-default (2022-04-21) 9 commits
729 - (merged to 'next' on 2022-05-13 at c168eb55cf)
730 - + Documentation: some sparsity wording clarifications
731 - + git-sparse-checkout.txt: mark non-cone mode as deprecated
732 - + git-sparse-checkout.txt: flesh out pattern set sections a bit
733 - + git-sparse-checkout.txt: add a new EXAMPLES section
734 - + git-sparse-checkout.txt: shuffle some sections and mark as internal
735 - + git-sparse-checkout.txt: update docs for deprecation of 'init'
736 - + git-sparse-checkout.txt: wording updates for the cone mode default
737 - + sparse-checkout: make --cone the default
738 - + tests: stop assuming --no-cone is the default mode for sparse-checkout
739 -
740 - Deprecate non-cone mode of the sparse-checkout feature.
741 -
742 - Will cook in 'next' til 06-03 and then merge to 'master'.
743 - source: <pull.1148.v3.git.1650594746.gitgitgadget@gmail.com>
744 -
745 -
746 -* tb/cruft-packs (2022-05-26) 17 commits
747 - (merged to 'next' on 2022-05-27 at cfa4cbd790)
748 - + sha1-file.c: don't freshen cruft packs
749 - + builtin/gc.c: conditionally avoid pruning objects via loose
750 - + builtin/repack.c: add cruft packs to MIDX during geometric repack
751 - + builtin/repack.c: use named flags for existing_packs
752 - + builtin/repack.c: allow configuring cruft pack generation
753 - + builtin/repack.c: support generating a cruft pack
754 - + builtin/pack-objects.c: --cruft with expiration
755 - + reachable: report precise timestamps from objects in cruft packs
756 - + reachable: add options to add_unseen_recent_objects_to_traversal
757 - + builtin/pack-objects.c: --cruft without expiration
758 - + builtin/pack-objects.c: return from create_object_entry()
759 - + t/helper: add 'pack-mtimes' test-tool
760 - + pack-mtimes: support writing pack .mtimes files
761 - + chunk-format.h: extract oid_version()
762 - + pack-write: pass 'struct packing_data' to 'stage_tmp_packfiles'
763 - + pack-mtimes: support reading .mtimes files
764 - + Documentation/technical: add cruft-packs.txt
765 -
766 - A mechanism to pack unreachable objects into a "cruft pack",
767 - instead of ejecting them into loose form to be reclaimed later, has
768 - been introduced.
769 -
831 Will merge to 'master'.
771 - source: <cover.1653088640.git.me@ttaylorr.com>
832 + source: <cover-v3-0.2-00000000000-20220602T090745Z-avarab@gmail.com>
833
834
835 * jh/builtin-fsmonitor-part3 (2022-05-26) 31 commits
775 - - t7527: improve implicit shutdown testing in fsmonitor--daemon
776 - - fsmonitor--daemon: allow --super-prefix argument
777 - - t7527: test Unicode NFC/NFD handling on MacOS
778 - - t/lib-unicode-nfc-nfd: helper prereqs for testing unicode nfc/nfd
779 - - t/helper/hexdump: add helper to print hexdump of stdin
780 - - fsmonitor: on macOS also emit NFC spelling for NFD pathname
781 - - t7527: test FSMonitor on case insensitive+preserving file system
782 - - fsmonitor: never set CE_FSMONITOR_VALID on submodules
783 - - t/perf/p7527: add perf test for builtin FSMonitor
784 - - t7527: FSMonitor tests for directory moves
785 - - fsmonitor: optimize processing of directory events
786 - - fsm-listen-darwin: shutdown daemon if worktree root is moved/renamed
787 - - fsm-health-win32: force shutdown daemon if worktree root moves
788 - - fsm-health-win32: add polling framework to monitor daemon health
789 - - fsmonitor--daemon: stub in health thread
790 - - fsmonitor--daemon: rename listener thread related variables
791 - - fsmonitor--daemon: prepare for adding health thread
792 - - fsmonitor--daemon: cd out of worktree root
793 - - fsm-listen-darwin: ignore FSEvents caused by xattr changes on macOS
794 - - unpack-trees: initialize fsmonitor_has_run_once in o->result
795 - - fsmonitor-settings: NTFS and FAT32 on MacOS are incompatible
796 - - fsmonitor-settings: remote repos on Windows are incompatible
797 - - fsmonitor-settings: remote repos on macOS are incompatible
798 - - fsmonitor-settings: stub in macOS-specific incompatibility checking
799 - - fsmonitor-settings: VFS for Git virtual repos are incompatible
800 - - fsmonitor-settings: stub in Win32-specific incompatibility checking
801 - - fsmonitor-settings: bare repos are incompatible with FSMonitor
802 - - t/helper/fsmonitor-client: create stress test
803 - - t7527: test FSMonitor on repos with Unicode root paths
804 - - fsm-listen-win32: handle shortnames
805 - - Merge branch 'jh/builtin-fsmonitor-part2' into jh/builtin-fsmonitor-part3
836 + (merged to 'next' on 2022-06-02 at 3599e359b3)
837 + + t7527: improve implicit shutdown testing in fsmonitor--daemon
838 + + fsmonitor--daemon: allow --super-prefix argument
839 + + t7527: test Unicode NFC/NFD handling on MacOS
840 + + t/lib-unicode-nfc-nfd: helper prereqs for testing unicode nfc/nfd
841 + + t/helper/hexdump: add helper to print hexdump of stdin
842 + + fsmonitor: on macOS also emit NFC spelling for NFD pathname
843 + + t7527: test FSMonitor on case insensitive+preserving file system
844 + + fsmonitor: never set CE_FSMONITOR_VALID on submodules
845 + + t/perf/p7527: add perf test for builtin FSMonitor
846 + + t7527: FSMonitor tests for directory moves
847 + + fsmonitor: optimize processing of directory events
848 + + fsm-listen-darwin: shutdown daemon if worktree root is moved/renamed
849 + + fsm-health-win32: force shutdown daemon if worktree root moves
850 + + fsm-health-win32: add polling framework to monitor daemon health
851 + + fsmonitor--daemon: stub in health thread
852 + + fsmonitor--daemon: rename listener thread related variables
853 + + fsmonitor--daemon: prepare for adding health thread
854 + + fsmonitor--daemon: cd out of worktree root
855 + + fsm-listen-darwin: ignore FSEvents caused by xattr changes on macOS
856 + + unpack-trees: initialize fsmonitor_has_run_once in o->result
857 + + fsmonitor-settings: NTFS and FAT32 on MacOS are incompatible
858 + + fsmonitor-settings: remote repos on Windows are incompatible
859 + + fsmonitor-settings: remote repos on macOS are incompatible
860 + + fsmonitor-settings: stub in macOS-specific incompatibility checking
861 + + fsmonitor-settings: VFS for Git virtual repos are incompatible
862 + + fsmonitor-settings: stub in Win32-specific incompatibility checking
863 + + fsmonitor-settings: bare repos are incompatible with FSMonitor
864 + + t/helper/fsmonitor-client: create stress test
865 + + t7527: test FSMonitor on repos with Unicode root paths
866 + + fsm-listen-win32: handle shortnames
867 + + Merge branch 'jh/builtin-fsmonitor-part2' into jh/builtin-fsmonitor-part3
868
869 More fsmonitor--daemon.
870
809 - Will merge to 'next'?
810 - source: <pull.1143.v9.git.1653601644.gitgitgadget@gmail.com>
811 -
812 -
813 -* js/scalar-diagnose (2022-05-30) 8 commits
814 - (merged to 'next' on 2022-05-31 at 8c878f3ac5)
815 - + scalar: teach `diagnose` to gather loose objects information
816 - + scalar: teach `diagnose` to gather packfile info
817 - + scalar diagnose: include disk space information
818 - + scalar: implement `scalar diagnose`
819 - + scalar: validate the optional enlistment argument
820 - + archive --add-virtual-file: allow paths containing colons
821 - + archive: optionally add "virtual" files
822 - + Merge branch 'rs/document-archive-prefix' into js/scalar-diagnose
823 - (this branch uses rs/document-archive-prefix.)
824 -
825 - Implementation of "scalar diagnose" subcommand.
826 -
871 Will merge to 'master'.
828 - source: <20220528231118.3504387-1-gitster@pobox.com>
872 + source: <pull.1143.v9.git.1653601644.gitgitgadget@gmail.com>
873
874 --------------------------------------------------
875 [Discarded]