What's cooking (2021/09 #07)

Junio C Hamano committed Sep 23, 2021 at 15:12 UTC 687d33056ee28fd03567f3725150e3fcd0582979
1 file changed +455 -667
whats-cooking.txt
+455 -667
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Sep 2021, #06; Mon, 20)
4 -X-master-at: 99c99ed8259bf070cd8ae7b51a94904b7cf5c161
5 -X-next-at: d22421fcc6e5254ac802caac9a2af0b5cf0fb5d7
3 +Subject: What's cooking in git.git (Sep 2021, #07; Thu, 23)
4 +X-master-at: ddb1055343948e0d0bc81f8d20245f1ada6430a0
5 +X-next-at: 4c38ced6901a8523cea197b31b2616240ec9fb6e
6
7 -What's cooking in git.git (Sep 2021, #06; Mon, 20)
7 +What's cooking in git.git (Sep 2021, #07; Thu, 23)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking in my tree. Commits
@@ -18,7 +18,7 @@ useful"). Do not read too much into a topic being in (or not in)
18 'seen'. The ones marked with '.' do not appear in any of the
19 integration branches, but I am still holding onto them.
20
21 -The seventh batch is out.
21 +The eighth batch is out.
22
23 Copies of the source code to Git live in many repositories, and the
24 following is a list of the ones I push into or their mirrors. Some
@@ -51,310 +51,395 @@ Release tarballs are available at:
51 --------------------------------------------------
52 [Graduated to 'master']
53
54 -* ab/make-tags-cleanup (2021-08-05) 5 commits
55 - (merged to 'next' on 2021-09-12 at 79584f3c60)
56 - + Makefile: normalize clobbering & xargs for tags targets
57 - + Makefile: remove "cscope.out", not "cscope*" in cscope.out target
58 - + Makefile: don't use "FORCE" for tags targets
59 - + Makefile: add QUIET_GEN to "cscope" target
60 - + Makefile: move ".PHONY: cscope" near its target
54 +* ab/gc-remove-unused-call (2021-09-12) 1 commit
55 + (merged to 'next' on 2021-09-13 at 14f69ed198)
56 + + gc: remove unused launchctl_get_uid() call
57
62 - Build clean-up for "make tags" and friends.
58 + Code clean-up.
59
60
65 -* ab/progress-users-adjust-counters (2021-09-09) 2 commits
66 - (merged to 'next' on 2021-09-10 at b50c37aa44)
67 - + entry: show finer-grained counter in "Filtering content" progress line
68 - + commit-graph: fix bogus counter in "Scanning merged commits" progress line
61 +* ab/http-drop-old-curl-plus (2021-09-13) 9 commits
62 + (merged to 'next' on 2021-09-15 at 16aaab36f1)
63 + + http: don't hardcode the value of CURL_SOCKOPT_OK
64 + + http: centralize the accounting of libcurl dependencies
65 + + http: correct curl version check for CURLOPT_PINNEDPUBLICKEY
66 + + http: correct version check for CURL_HTTP_VERSION_2
67 + + http: drop support for curl < 7.18.0 (again)
68 + + Makefile: drop support for curl < 7.9.8 (again)
69 + + INSTALL: mention that we need libcurl 7.19.4 or newer to build
70 + + INSTALL: reword and copy-edit the "libcurl" section
71 + + INSTALL: don't mention the "curl" executable at all
72
70 - The code to show progress indicator in a few code paths did not
71 - cover between 0-100%, which has been corrected.
73 + Conditional compilation around versions of libcURL has been
74 + straightened out.
75
76
74 -* ab/serve-cleanup (2021-08-05) 10 commits
75 - (merged to 'next' on 2021-09-12 at ea87ede873)
76 - + upload-pack: document and rename --advertise-refs
77 - + serve.[ch]: remove "serve_options", split up --advertise-refs code
78 - + {upload,receive}-pack tests: add --advertise-refs tests
79 - + serve.c: move version line to advertise_capabilities()
80 - + serve: move transfer.advertiseSID check into session_id_advertise()
81 - + serve.[ch]: don't pass "struct strvec *keys" to commands
82 - + serve: use designated initializers
83 - + transport: use designated initializers
84 - + transport: rename "fetch" in transport_vtable to "fetch_refs"
85 - + serve: mark has_capability() as static
86 - (this branch is used by jk/reduce-malloc-in-v2-servers.)
87 -
88 - Code clean-up around "git serve".
77 +* ab/retire-option-argument (2021-09-12) 4 commits
78 + (merged to 'next' on 2021-09-15 at 0bd7ce1161)
79 + + parse-options API: remove OPTION_ARGUMENT feature
80 + + difftool: use run_command() API in run_file_diff()
81 + + difftool: prepare "diff" cmdline in cmd_difftool()
82 + + difftool: prepare "struct child_process" in cmd_difftool()
83 + (this branch is used by da/difftool.)
84
85 + An oddball OPTION_ARGUMENT feature has been removed from the
86 + parse-options API.
87
91 -* ab/tr2-leaks-and-fixes (2021-09-07) 6 commits
92 - (merged to 'next' on 2021-09-10 at 14f0dd5580)
93 - + tr2: log N parent process names on Linux
94 - + tr2: do compiler enum check in trace2_collect_process_info()
95 - + tr2: leave the parent list empty upon failure & don't leak memory
96 - + tr2: stop leaking "thread_name" memory
97 - + tr2: clarify TRACE2_PROCESS_INFO_EXIT comment under Linux
98 - + tr2: remove NEEDSWORK comment for "non-procfs" implementations
88
100 - The tracing of process ancestry information has been enhanced.
89 +* ab/test-tool-run-command-cleanup (2021-09-12) 1 commit
90 + (merged to 'next' on 2021-09-13 at 086310d0f4)
91 + + test-tool run-command: fix flip-flop init pattern
92
93 + Code clean-up.
94
103 -* ab/unbundle-progress (2021-09-07) 4 commits
104 - (merged to 'next' on 2021-09-12 at d7bacb391e)
105 - + bundle: show progress on "unbundle"
106 - + index-pack: add --progress-title option
107 - + bundle API: change "flags" to be "extra_index_pack_args"
108 - + bundle API: start writing API documentation
95
110 - Add progress display to "git bundle unbundle".
96 +* ab/unused-script-helpers (2021-09-12) 4 commits
97 + (merged to 'next' on 2021-09-15 at 14e6b0f26e)
98 + + test-lib: remove unused $_x40 and $_z40 variables
99 + + git-bisect: remove unused SHA-1 $x40 shell variable
100 + + git-sh-setup: remove unused "pull with rebase" message
101 + + git-submodule: remove unused is_zero_oid() function
102 +
103 + Code clean-up.
104
105
113 -* ar/submodule-add-config (2021-08-10) 1 commit
114 - (merged to 'next' on 2021-09-12 at fdabb4f0fc)
115 - + submodule--helper: introduce add-config subcommand
116 - (this branch is used by ar/submodule-add-more.)
106 +* cb/plug-leaks-in-alloca-emu-users (2021-09-16) 2 commits
107 + (merged to 'next' on 2021-09-16 at 2eecae2de3)
108 + + t0000: avoid masking git exit value through pipes
109 + + tree-diff: fix leak when not HAVE_ALLOCA_H
110
118 - Large part of "git submodule add" gets rewritten in C.
111 + Leakfix.
112
113
121 -* ar/submodule-add-more (2021-08-10) 10 commits
122 - (merged to 'next' on 2021-09-12 at efebf6dad3)
123 - + submodule--helper: rename compute_submodule_clone_url()
124 - + submodule--helper: remove resolve-relative-url subcommand
125 - + submodule--helper: remove add-config subcommand
126 - + submodule--helper: remove add-clone subcommand
127 - + submodule--helper: convert the bulk of cmd_add() to C
128 - + dir: libify and export helper functions from clone.c
129 - + submodule--helper: remove repeated code in sync_submodule()
130 - + submodule--helper: refactor resolve_relative_url() helper
131 - + submodule--helper: add options for compute_submodule_clone_url()
132 - + Merge branch 'ar/submodule-add-config' into ar/submodule-add
133 - (this branch uses ar/submodule-add-config.)
114 +* cb/unix-sockets-with-windows (2021-09-14) 3 commits
115 + (merged to 'next' on 2021-09-16 at e2921332ef)
116 + + git-compat-util: include declaration for unix sockets in windows
117 + + credential-cache: check for windows specific errors
118 + + t0301: fixes for windows compatibility
119
135 - More parts of "git submodule add" has been rewritten in C.
120 + Adjust credential-cache helper to Windows.
121
122
138 -* ar/submodule-run-update-procedure (2021-08-24) 1 commit
139 - (merged to 'next' on 2021-09-12 at fbe417715d)
140 - + submodule--helper: run update procedures from C
141 - (this branch is used by ar/submodule-update.)
142 -
143 - Reimplementation of parts of "git submodule" in C continues.
144 -
145 -
146 -* cb/pedantic-build-for-developers (2021-09-03) 3 commits
147 - (merged to 'next' on 2021-09-10 at b8df102019)
148 - + developer: enable pedantic by default
149 - + win32: allow building with pedantic mode enabled
150 - + gettext: remove optional non-standard parens in N_() definition
123 +* en/am-abort-fix (2021-09-10) 3 commits
124 + (merged to 'next' on 2021-09-13 at 11f3d2dc90)
125 + + am: fix incorrect exit status on am fail to abort
126 + + t4151: add a few am --abort tests
127 + + git-am.txt: clarify --abort behavior
128 + (this branch is used by en/removing-untracked-fixes.)
129
152 - Update the build procedure to use the "-pedantic" build when
153 - DEVELOPER makefile macro is in effect.
154 -
155 -
156 -* ds/mergies-with-sparse-index (2021-09-09) 6 commits
157 - (merged to 'next' on 2021-09-12 at 1535fa2dae)
158 - + sparse-index: integrate with cherry-pick and rebase
159 - + sequencer: ensure full index if not ORT strategy
160 - + t1092: add cherry-pick, rebase tests
161 - + merge-ort: expand only for out-of-cone conflicts
162 - + merge: make sparse-aware with ORT
163 - + diff: ignore sparse paths in diffstat
164 - (this branch is used by ds/add-rm-with-sparse-index; uses ds/sparse-index-ignored-files.)
165 -
166 - Various mergy operations have been prepared to work efficiently
167 - with the sparse index.
130 + When "git am --abort" fails to abort correctly, it still exited
131 + with exit status of 0, which has been corrected.
132
133
170 -* ds/sparse-index-ignored-files (2021-09-07) 10 commits
171 - (merged to 'next' on 2021-09-12 at 6993c73000)
172 - + sparse-checkout: clear tracked sparse dirs
173 - + sparse-index: add SPARSE_INDEX_MEMORY_ONLY flag
174 - + attr: be careful about sparse directories
175 - + sparse-checkout: create helper methods
176 - + sparse-index: use WRITE_TREE_MISSING_OK
177 - + sparse-index: silently return when cache tree fails
178 - + unpack-trees: fix nested sparse-dir search
179 - + sparse-index: silently return when not using cone-mode patterns
180 - + t7519: rewrite sparse index test
181 - + Merge branch 'ds/add-with-sparse-index' into ds/sparse-index-ignored-files
182 - (this branch is used by ds/add-rm-with-sparse-index, ds/mergies-with-sparse-index and sg/test-split-index-fix.)
134 +* en/tests-cleanup-leftover-untracked (2021-09-12) 1 commit
135 + (merged to 'next' on 2021-09-13 at cf38118205)
136 + + tests: remove leftover untracked files
137
184 - In cone mode, the sparse-index code path learned to remove ignored
185 - files (like build artifacts) outside the sparse cone, allowing the
186 - entire directory outside the sparse cone to be removed, which is
187 - especially useful when the sparse patterns change.
138 + Test clean-up.
139
140
190 -* dt/submodule-diff-fixes (2021-08-31) 3 commits
191 - (merged to 'next' on 2021-09-10 at 21b773f4fe)
192 - + diff --submodule=diff: don't print failure message twice
193 - + diff --submodule=diff: do not fail on ever-initialied deleted submodules
194 - + t4060: remove unused variable
141 +* jk/http-server-protocol-versions (2021-09-10) 5 commits
142 + (merged to 'next' on 2021-09-13 at 9174cd6d37)
143 + + docs/protocol-v2: point readers transport config discussion
144 + + docs/git: discuss server-side config for GIT_PROTOCOL
145 + + docs/http-backend: mention v2 protocol
146 + + http-backend: handle HTTP_GIT_PROTOCOL CGI variable
147 + + t5551: test v2-to-v0 http protocol fallback
148
196 - "git diff --submodule=diff" showed failure from run_command() when
197 - trying to run diff inside a submodule, when the user manually
198 - removes the submodule directory.
149 + Taking advantage of the CGI interface, http-backend has been
150 + updated to enable protocol v2 automatically when the other side
151 + asks for it.
152
153
201 -* jk/t5562-racefix (2021-09-09) 1 commit
202 - (merged to 'next' on 2021-09-12 at 22d4bfa14b)
203 - + t5562: use alarm() to interrupt timed child-wait
154 +* jk/strvec-typefix (2021-09-12) 1 commit
155 + (merged to 'next' on 2021-09-13 at e07858581d)
156 + + strvec: use size_t to store nr and alloc
157
205 - Test update.
158 + Correct nr and alloc members of strvec struct to be of type size_t.
159
160
208 -* js/pull-release-packs-before-fetching (2021-09-08) 2 commits
209 - (merged to 'next' on 2021-09-12 at 05cdcab392)
210 - + pull: release packs before fetching
211 - + commit-graph: when closing the graph, also release the slab
212 - (this branch is used by js/run-command-close-packs.)
161 +* jt/submodule-name-to-gitdir (2021-09-15) 1 commit
162 + (merged to 'next' on 2021-09-16 at c658fbfdb8)
163 + + submodule: extract path to submodule gitdir func
164
214 - "git pull" was taught to close open file descriptors to the
215 - packfiles before spawning "git fetch" to help auto-gc that may be
216 - invoked by it.
165 + Code refactoring.
166
167
219 -* js/run-command-close-packs (2021-09-09) 4 commits
220 - (merged to 'next' on 2021-09-12 at 97c3614c78)
221 - + Close object store closer to spawning child processes
222 - + run_auto_maintenance(): implicitly close the object store
223 - + run-command: offer to close the object store before running
224 - + run-command: prettify the `RUN_COMMAND_*` flags
225 - (this branch uses js/pull-release-packs-before-fetching.)
168 +* kz/revindex-comment-fix (2021-09-15) 1 commit
169 + (merged to 'next' on 2021-09-16 at b4797add3a)
170 + + pack-revindex.h: correct the time complexity descriptions
171
227 - The run-command API has been updated so that the callers can easily
228 - ask the file descriptors open for packfiles to be closed immediately
229 - before spawning commands that may trigger auto-gc.
172 + Header comment fix.
173
174
232 -* jt/grep-wo-submodule-odb-as-alternate (2021-09-08) 8 commits
233 - (merged to 'next' on 2021-09-08 at 67612d0b7f)
234 - + t7814: show lack of alternate ODB-adding
235 - + submodule-config: pass repo upon blob config read
236 - + grep: add repository to OID grep sources
237 - + grep: allocate subrepos on heap
238 - + grep: read submodule entry with explicit repo
239 - + grep: typesafe versions of grep_source_init
240 - + grep: use submodule-ODB-as-alternate lazy-addition
241 - + submodule: lazily add submodule ODBs as alternates
242 - (this branch is used by jt/add-submodule-odb-clean-up.)
175 +* ma/doc-git-version (2021-09-14) 1 commit
176 + (merged to 'next' on 2021-09-16 at 54a6a3f8b5)
177 + + documentation: add documentation for 'git version'
178
244 - The code to make "git grep" recurse into submodules has been
245 - updated to migrate away from the "add submodule's object store as
246 - an alternate object store" mechanism (which is suboptimal).
179 + Doc update.
180
181
249 -* jv/pkt-line-batch (2021-09-01) 2 commits
250 - (merged to 'next' on 2021-09-10 at c31d871c9a)
251 - + upload-pack: use stdio in send_ref callbacks
252 - + pkt-line: add stdio packet write functions
182 +* ma/help-w-check-for-requested-page (2021-09-14) 1 commit
183 + (merged to 'next' on 2021-09-16 at 292dd7174d)
184 + + help: make sure local html page exists before calling external processes
185
254 - Reduce number of write(2) system calls while sending the
255 - ref advertisement.
186 + The error in "git help no-such-git-command" is handled better.
187
188
258 -* lh/systemd-timers (2021-09-07) 3 commits
259 - (merged to 'next' on 2021-09-10 at b27d72031a)
260 - + maintenance: add support for systemd timers on Linux
261 - + maintenance: `git maintenance run` learned `--scheduler=<scheduler>`
262 - + cache.h: Introduce a generic "xdg_config_home_for(…)" function
189 +* mr/bisect-in-c-4 (2021-09-13) 6 commits
190 + (merged to 'next' on 2021-09-15 at 2af7f048d4)
191 + + bisect--helper: retire `--bisect-next-check` subcommand
192 + + bisect--helper: reimplement `bisect_run` shell function in C
193 + + bisect--helper: reimplement `bisect_visualize()` shell function in C
194 + + run-command: make `exists_in_PATH()` non-static
195 + + t6030-bisect-porcelain: add test for bisect visualize
196 + + t6030-bisect-porcelain: add tests to control bisect run exit cases
197
264 - "git maintenance" scheduler learned to use systemd timers as a
265 - possible backend.
198 + Rewrite of "git bisect" in C continues.
199
200
268 -* ps/fetch-optim (2021-09-01) 7 commits
269 - (merged to 'next' on 2021-09-08 at 99f865125d)
270 - + fetch: avoid second connectivity check if we already have all objects
271 - + fetch: merge fetching and consuming refs
272 - + fetch: refactor fetch refs to be more extendable
273 - + fetch-pack: optimize loading of refs via commit graph
274 - + connected: refactor iterator to return next object ID directly
275 - + fetch: avoid unpacking headers in object existence check
276 - + fetch: speed up lookup of want refs via commit-graph
201 +* po/git-config-doc-mentions-help-c (2021-09-13) 1 commit
202 + (merged to 'next' on 2021-09-13 at bddbd5c25d)
203 + + doc: config, tell readers of `git help --config`
204
278 - Optimize code that handles large number of refs in the "git fetch"
279 - code path.
205 + Doc update.
206
207
282 -* rs/no-mode-to-open-when-appending (2021-09-09) 1 commit
283 - (merged to 'next' on 2021-09-12 at a3ea25c5f1)
284 - + refs/files-backend: remove unused open mode parameter
208 +* ps/update-ref-batch-flush (2021-09-15) 2 commits
209 + (merged to 'next' on 2021-09-15 at 39a69141e3)
210 + + t1400: avoid SIGPIPE race condition on fifo
211 + (merged to 'next' on 2021-09-10 at 4ae19a5f34)
212 + + update-ref: fix streaming of status updates
213
286 - The "mode" word is useless in a call to open(2) that does not
287 - create a new file. Such a call in the files backend of the ref
288 - subsystem has been cleaned up.
214 + "git update-ref --stdin" failed to flush its output as needed,
215 + which potentially led the conversation to a deadlock.
216
217
291 -* rs/setup-use-xopen-and-xdup (2021-09-09) 1 commit
292 - (merged to 'next' on 2021-09-12 at 544b481d15)
293 - + setup: use xopen and xdup in sanitize_stdfds
218 +* rs/drop-core-compression-vars (2021-09-12) 1 commit
219 + (merged to 'next' on 2021-09-13 at 3bd06626c3)
220 + + compression: drop write-only core_compression_* variables
221
222 Code clean-up.
223
224
298 -* tb/multi-pack-bitmaps (2021-09-09) 29 commits
299 - (merged to 'next' on 2021-09-10 at 71559ef435)
300 - + pack-bitmap: drop bitmap_index argument from try_partial_reuse()
301 - + pack-bitmap: drop repository argument from prepare_midx_bitmap_git()
302 - (merged to 'next' on 2021-09-08 at f2b7415bd8)
303 - + p5326: perf tests for MIDX bitmaps
304 - + p5310: extract full and partial bitmap tests
305 - + midx: respect 'GIT_TEST_MULTI_PACK_INDEX_WRITE_BITMAP'
306 - + t7700: update to work with MIDX bitmap test knob
307 - + t5319: don't write MIDX bitmaps in t5319
308 - + t5310: disable GIT_TEST_MULTI_PACK_INDEX_WRITE_BITMAP
309 - + t0410: disable GIT_TEST_MULTI_PACK_INDEX_WRITE_BITMAP
310 - + t5326: test multi-pack bitmap behavior
311 - + t/helper/test-read-midx.c: add --checksum mode
312 - + t5310: move some tests to lib-bitmap.sh
313 - + pack-bitmap: write multi-pack bitmaps
314 - + pack-bitmap: read multi-pack bitmaps
315 - + pack-bitmap.c: avoid redundant calls to try_partial_reuse
316 - + pack-bitmap.c: introduce 'bitmap_is_preferred_refname()'
317 - + pack-bitmap.c: introduce 'nth_bitmap_object_oid()'
318 - + pack-bitmap.c: introduce 'bitmap_num_objects()'
319 - + midx: avoid opening multiple MIDXs when writing
320 - + midx: close linked MIDXs, avoid leaking memory
321 - + midx: infer preferred pack when not given one
322 - + midx: reject empty `--preferred-pack`'s
323 - + midx: clear auxiliary .rev after replacing the MIDX
324 - + midx: fix `*.rev` cleanups with `--object-dir`
325 - + midx: disallow running outside of a repository
326 - + Documentation: describe MIDX-based bitmaps
327 - + pack-bitmap-write.c: free existing bitmaps
328 - + pack-bitmap-write.c: gracefully fail to write non-closed bitmaps
329 - + pack-bitmap.c: harden 'test_bitmap_walk()' to check type bitmaps
330 - (this branch is used by tb/midx-write-propagate-namehash and tb/repack-write-midx.)
331 -
332 - The reachability bitmap file used to be generated only for a single
333 - pack, but now we've learned to generate bitmaps for history that
334 - span across multiple packfiles.
335 -
336 -
337 -* tb/pack-finalize-ordering (2021-09-09) 9 commits
338 - (merged to 'next' on 2021-09-10 at 7b39c39e31)
339 - + pack-objects: rename .idx files into place after .bitmap files
340 - + pack-write: split up finish_tmp_packfile() function
341 - + builtin/index-pack.c: move `.idx` files into place last
342 - + index-pack: refactor renaming in final()
343 - + builtin/repack.c: move `.idx` files into place last
344 - + pack-write.c: rename `.idx` files after `*.rev`
345 - + pack-write: refactor renaming in finish_tmp_packfile()
346 - + bulk-checkin.c: store checksum directly
347 - + pack.h: line-wrap the definition of finish_tmp_packfile()
348 -
349 - The order in which various files that make up a single (conceptual)
350 - packfile has been reevaluated and straightened up. This matters in
351 - correctness, as an incomplete set of files must not be shown to a
352 - running Git.
225 +* rs/packfile-bad-object-list-in-oidset (2021-09-12) 5 commits
226 + (merged to 'next' on 2021-09-13 at 80e72f5f97)
227 + + packfile: use oidset for bad objects
228 + + packfile: convert has_packed_and_bad() to object_id
229 + + packfile: convert mark_bad_packed_object() to object_id
230 + + midx: inline nth_midxed_pack_entry()
231 + + oidset: make oidset_size() an inline function
232 +
233 + Replace a handcrafted data structure used to keep track of bad
234 + objects in the packfile API by an oidset.
235 +
236 +
237 +* rs/use-xopen-in-index-pack (2021-09-10) 1 commit
238 + (merged to 'next' on 2021-09-16 at 186eaaae56)
239 + + index-pack: use xopen in init_thread
240 +
241 + Code clean-up.
242
243 --------------------------------------------------
244 [New Topics]
245
357 -* ab/repo-settings-cleanup (2021-09-20) 5 commits
246 +* ab/make-clean-depend-dirs (2021-09-22) 1 commit
247 + - Makefile: clean .depend dirs under COMPUTE_HEADER_DEPENDENCIES != yes
248 +
249 + "make clean" has been updated to remove leftover .depend/
250 + directories, even when it is not told to use them to compute header
251 + dependencies.
252 +
253 + Will merge to 'next'.
254 +
255 +
256 +* bs/ls-files-opt-help-text-update (2021-09-22) 1 commit
257 + - ls-files: use imperative mood for -X and -z option description
258 +
259 + Help test for "ls-files" options have been updated.
260 +
261 + Will merge to 'next'.
262 +
263 +
264 +* cb/make-compdb-fix (2021-09-22) 1 commit
265 + - Makefile: avoid breaking compilation database generation with DEVELOPER
266 +
267 + Adjust to recent change to use -pedantic for developer builds.
268 +
269 + Will merge to 'next'.
270 +
271 +
272 +* ds/perf-test-built-path-fix (2021-09-22) 1 commit
273 + - t/perf/run: fix bin-wrappers computation
274 +
275 + Perf test fix.
276 +
277 + Will merge to 'next'.
278 +
279 +
280 +* gc/doc-first-contribution-reroll (2021-09-22) 1 commit
281 + - MyFirstContribution: Document --range-diff option when writing v2
282 +
283 + Doc update.
284 +
285 + Will merge to 'next'.
286 +
287 +
288 +* jk/grep-haystack-is-read-only (2021-09-22) 5 commits
289 + - grep: store grep_source buffer as const
290 + - grep: mark "haystack" buffers as const
291 + - grep: stop modifying buffer in grep_source_1()
292 + - grep: stop modifying buffer in show_line()
293 + - grep: stop modifying buffer in strip_timestamp
294 + (this branch is used by hm/paint-hits-in-log-grep.)
295 +
296 + Code clean-up in the "grep" machinery.
297 +
298 + Will merge to 'next'.
299 +
300 +
301 +* jk/http-redact-fix (2021-09-22) 1 commit
302 + - http: match headers case-insensitively when redacting
303 +
304 + Sensitive data in the HTTP trace were supposed to be redacted, but
305 + we failed to do so in HTTP/2 requests.
306 +
307 + Will merge to 'next'.
308 +
309 +
310 +* js/win-lazyload-buildfix (2021-09-23) 2 commits
311 + - lazyload.h: use an even more generic function pointer than FARPROC
312 + - lazyload.h: fix warnings about mismatching function pointer types
313 +
314 + Compilation fix.
315 +
316 + Will merge to 'next'.
317 +
318 +
319 +* ab/auto-depend-with-pedantic (2021-09-22) 1 commit
320 + - Makefile: make COMPUTE_HEADER_DEPENDENCIES=auto work with DEVOPTS=pedantic
321 +
322 + Improve build procedure for developers.
323 +
324 + Will merge to 'next'.
325 +
326 +
327 +* ab/make-sparse-for-real (2021-09-22) 1 commit
328 + - Makefile: make the "sparse" target non-.PHONY
329 +
330 + Prevent "make sparse" from running for the source files that
331 + haven't been modified.
332 +
333 +
334 +* bs/difftool-msg-tweak (2021-09-22) 1 commit
335 + - difftool: fix word spacing in the usage strings
336 +
337 + Message tweak.
338 +
339 + Will merge to 'next'.
340 +
341 +
342 +* ew/midx-doc-update (2021-09-23) 1 commit
343 + - doc/technical: update note about core.multiPackIndex
344 +
345 + Doc tweak.
346 +
347 + Will merge to 'next'.
348 +
349 +
350 +* jt/no-abuse-alternate-odb-for-submodules (2021-09-22) 10 commits
351 + - submodule: trace adding submodule ODB as alternate
352 + - refs: change refs_for_each_ref_in() to take repo
353 + - submodule: pass repo to check_has_commit()
354 + - object-file: only register submodule ODB if needed
355 + - merge-{ort,recursive}: remove add_submodule_odb()
356 + - refs: teach refs_for_each_ref() arbitrary repos
357 + - refs iterator: support non-the_repository advance
358 + - refs: add repo paramater to _iterator_peel()
359 + - refs: make _advance() check struct repo, not flag
360 + - Merge branch 'jt/add-submodule-odb-clean-up' into jt/no-abuse-alternate-odb-for-submodules
361 + (this branch uses jt/add-submodule-odb-clean-up.)
362 +
363 + Follow through the work to use the repo interface to access
364 + submodule objects in-process, instead of abusing the alternate
365 + object database interface.
366 +
367 +
368 +* tp/send-email-completion (2021-09-22) 3 commits
369 + - send-email docs: add format-patch options
370 + - send-email: move bash completions to core script
371 + - send-email: terminate --git-completion-helper with LF
372 +
373 + The command line complation for "git send-email" options have been
374 + tweaked to make it easier to keep it in sync with the command itself.
375 +
376 +
377 +* hm/paint-hits-in-log-grep (2021-09-23) 3 commits
378 + - pretty: colorize pattern matches in commit messages
379 + - grep: refactor next_match() and match_one_pattern() for external use
380 + - Merge branch 'jk/grep-haystack-is-read-only' into hm/paint-hits-in-log-grep
381 + (this branch uses jk/grep-haystack-is-read-only.)
382 +
383 + "git log --grep=string --author=name" learns to highlight hits just
384 + like "git grep string" does.
385 +
386 +--------------------------------------------------
387 +[Stalled]
388 +
389 +* ab/pack-objects-stdin (2021-07-09) 5 commits
390 + - pack-objects.c: make use of REV_INFO_STDIN_LINE_PROCESS
391 + - pack-objects.c: do stdin parsing via revision.c's API
392 + - revision.[ch]: add a "handle_stdin_line" API
393 + - revision.h: refactor "disable_stdin" and "read_from_stdin"
394 + - upload-pack: run is_repository_shallow() before setup_revisions()
395 +
396 + Introduce handle_stdin_line callback to revision API and uses it.
397 +
398 + Expecting a reroll.
399 +
400 +
401 +* es/superproject-aware-submodules (2021-08-19) 5 commits
402 + . fixup! introduce submodule.superprojectGitDir record
403 + . submodule: record superproject gitdir during 'update'
404 + . submodule: record superproject gitdir during absorbgitdirs
405 + . introduce submodule.superprojectGitDir record
406 + . t7400-submodule-basic: modernize inspect() helper
407 +
408 + A configuration variable in a submodule points at the location of
409 + the superproject it is bound to (RFC).
410 +
411 + Kicked out of 'seen' tentatively to see how well a conflicting
412 + ar/submodule-update topic fares.
413 +
414 +
415 +* ab/fsck-unexpected-type (2021-09-22) 17 commits
416 + - fsck: report invalid object type-path combinations
417 + - fsck: don't hard die on invalid object types
418 + - object-file.c: stop dying in parse_loose_header()
419 + - object-file.c: return ULHR_TOO_LONG on "header too long"
420 + - object-file.c: use "enum" return type for unpack_loose_header()
421 + - object-file.c: simplify unpack_loose_short_header()
422 + - object-file.c: make parse_loose_header_extended() public
423 + - object-file.c: return -1, not "status" from unpack_loose_header()
424 + - object-file.c: don't set "typep" when returning non-zero
425 + - cat-file tests: test for current --allow-unknown-type behavior
426 + - cat-file tests: add corrupt loose object test
427 + - cat-file tests: test for missing/bogus object with -t, -s and -p
428 + - cat-file tests: move bogus_* variable declarations earlier
429 + - fsck tests: test for garbage appended to a loose object
430 + - fsck tests: test current hash/type mismatch behavior
431 + - fsck tests: refactor one test to use a sub-repo
432 + - fsck tests: add test for fsck-ing an unknown type
433 +
434 + "git fsck" has been taught to report mismatch between expected and
435 + actual types of an object better.
436 +
437 + Needs review.
438 +
439 +--------------------------------------------------
440 +[Cooking]
441 +
442 +* ab/repo-settings-cleanup (2021-09-22) 5 commits
443 - repository.h: don't use a mix of int and bitfields
444 - repo-settings.c: simplify the setup
445 - read-cache & fetch-negotiator: check "enum" values in switch()
@@ -363,12 +448,10 @@ Release tarballs are available at:
448
449 Code cleanup.
450
366 - Will merge to 'next'?
367 - cf. <cover-v3-0.5-00000000000-20210919T084703Z-avarab@gmail.com>
368 - Looks like we got an implicit Ack from Derrick?
451 + Will merge to 'next'.
452
453
371 -* ah/connect-parse-feature-v0-fix (2021-09-20) 1 commit
454 +* ah/connect-parse-feature-v0-fix (2021-09-23) 1 commit
455 - connect: also update offset for features without values
456
457 Protocol v0 clients can get stuck parsing a malformed feature line.
@@ -401,17 +484,19 @@ Release tarballs are available at:
484 Stomps on a handful of other topics and comes with an overly large step.
485
486
404 -* da/difftool (2021-09-20) 4 commits
487 +* da/difftool (2021-09-23) 4 commits
488 - difftool: add a missing space to the run_dir_diff() comments
406 - - difftool: use a strbuf to create a tmpdir path without repeated slashes
489 + - difftool: create a tmpdir path without repeated slashes
490 - Merge branch 'da/difftool-dir-diff-symlink-fix' into da/difftool
491 - Merge branch 'ab/retire-option-argument' into da/difftool
409 - (this branch uses ab/retire-option-argument and da/difftool-dir-diff-symlink-fix.)
492 + (this branch uses da/difftool-dir-diff-symlink-fix.)
493
494 Code clean-up in "git difftool".
495
496 + Will merge to 'next'?
497
414 -* da/difftool-dir-diff-symlink-fix (2021-09-20) 1 commit
498 +
499 +* da/difftool-dir-diff-symlink-fix (2021-09-23) 1 commit
500 - difftool: fix symlink-file writing in dir-diff mode
501 (this branch is used by da/difftool.)
502
@@ -428,7 +513,6 @@ Release tarballs are available at:
513 - Split unpack_trees 'reset' flag into two for untracked handling
514 - t2500: add various tests for nuking untracked files
515 - Merge branch 'en/am-abort-fix' into en/removing-untracked-fixes
431 - (this branch uses en/am-abort-fix.)
516
517 Various fixes in code paths that move untracked files away to make room.
518
@@ -451,7 +535,8 @@ Release tarballs are available at:
535 Will merge to 'next'.
536
537
454 -* tb/commit-graph-usage-fix (2021-09-20) 1 commit
538 +* tb/commit-graph-usage-fix (2021-09-22) 2 commits
539 + - builtin/multi-pack-index.c: disable top-level --[no-]progress
540 - builtin/commit-graph.c: don't accept common --[no-]progress
541
542 Regression fix for "git commit-graph" command line parsing.
@@ -477,82 +562,6 @@ Release tarballs are available at:
562
563 Will merge to 'master'.
564
480 ---------------------------------------------------
481 -[Stalled]
482 -
483 -* ab/pack-objects-stdin (2021-07-09) 5 commits
484 - - pack-objects.c: make use of REV_INFO_STDIN_LINE_PROCESS
485 - - pack-objects.c: do stdin parsing via revision.c's API
486 - - revision.[ch]: add a "handle_stdin_line" API
487 - - revision.h: refactor "disable_stdin" and "read_from_stdin"
488 - - upload-pack: run is_repository_shallow() before setup_revisions()
489 -
490 - Introduce handle_stdin_line callback to revision API and uses it.
491 -
492 - Waiting for reviews.
493 -
494 -
495 -* es/config-based-hooks (2021-09-09) 6 commits
496 - - hook: allow out-of-repo 'git hook' invocations
497 - - hook: include hooks from the config
498 - - hook: introduce "git hook list"
499 - - hook: allow parallel hook execution
500 - - fixup! hook: run a list of hooks instead
501 - - hook: run a list of hooks instead
502 - (this branch uses ab/config-based-hooks-base.)
503 -
504 - Revamp the hooks subsystem to allow multiple of them to trigger
505 - upon the same event and control via the configuration variables.
506 -
507 - On hold.
508 - This is an interim one that goes with the updated ab/config-based-hooks-base.
509 -
510 -
511 -* es/superproject-aware-submodules (2021-08-19) 5 commits
512 - . fixup! introduce submodule.superprojectGitDir record
513 - . submodule: record superproject gitdir during 'update'
514 - . submodule: record superproject gitdir during absorbgitdirs
515 - . introduce submodule.superprojectGitDir record
516 - . t7400-submodule-basic: modernize inspect() helper
517 -
518 - A configuration variable in a submodule points at the location of
519 - the superproject it is bound to (RFC).
520 -
521 - Kicked out of 'seen' tentatively to see how well a conflicting
522 - ar/submodule-update topic fares.
523 -
524 -
525 -* ab/fsck-unexpected-type (2021-09-07) 22 commits
526 - - fsck: report invalid object type-path combinations
527 - - fsck: report invalid types recorded in objects
528 - - object-store.h: move read_loose_object() below 'struct object_info'
529 - - fsck: don't hard die on invalid object types
530 - - object-file.c: use "enum" return type for unpack_loose_header()
531 - - object-file.c: return -2 on "header too long" in unpack_loose_header()
532 - - object-file.c: return -1, not "status" from unpack_loose_header()
533 - - object-file.c: guard against future bugs in loose_object_info()
534 - - object-file.c: stop dying in parse_loose_header()
535 - - object-file.c: split up ternary in parse_loose_header()
536 - - object-file.c: simplify unpack_loose_short_header()
537 - - object-file.c: add missing braces to loose_object_info()
538 - - object-file.c: make parse_loose_header_extended() public
539 - - object-file.c: don't set "typep" when returning non-zero
540 - - cache.h: move object functions to object-store.h
541 - - cat-file tests: test for current --allow-unknown-type behavior
542 - - cat-file tests: add corrupt loose object test
543 - - rev-list tests: test for behavior with invalid object types
544 - - cat-file tests: test that --allow-unknown-type isn't on by default
545 - - cat-file tests: test for missing object with -t and -s
546 - - fsck tests: add test for fsck-ing an unknown type
547 - - fsck tests: refactor one test to use a sub-repo
548 -
549 - "git fsck" has been taught to report mismatch between expected and
550 - actual types of an object better.
551 -
552 - Needs review.
553 -
554 ---------------------------------------------------
555 -[Cooking]
565
566 * jk/reduce-malloc-in-v2-servers (2021-09-15) 12 commits
567 (merged to 'next' on 2021-09-16 at 40cfe41efc)
@@ -562,48 +571,22 @@ Release tarballs are available at:
571 + docs/protocol-v2: clarify some ls-refs ref-prefix details
572 + ls-refs: ignore very long ref-prefix counts
573 + serve: drop "keys" strvec
565 - + serve: provide "receive" function for session-id capability
566 - + serve: provide "receive" function for object-format capability
567 - + serve: add "receive" method for v2 capabilities table
568 - + serve: return capability "value" from get_capability()
569 - + serve: rename is_command() to parse_command()
570 - + Merge branch 'ab/serve-cleanup' into jk/reduce-malloc-in-v2-servers
571 -
572 - Code cleanup to limit memory consumption and tighten protocol
573 - message parsing.
574 -
575 - Will merge to 'master'.
576 -
577 -
578 -* jt/submodule-name-to-gitdir (2021-09-15) 1 commit
579 - (merged to 'next' on 2021-09-16 at c658fbfdb8)
580 - + submodule: extract path to submodule gitdir func
581 -
582 - Code refactoring.
583 -
584 - Will merge to 'master'.
585 -
586 -
587 -* ma/doc-git-version (2021-09-14) 1 commit
588 - (merged to 'next' on 2021-09-16 at 54a6a3f8b5)
589 - + documentation: add documentation for 'git version'
590 -
591 - Doc update.
592 -
593 - Will merge to 'master'.
594 -
595 -
596 -* ma/help-w-check-for-requested-page (2021-09-14) 1 commit
597 - (merged to 'next' on 2021-09-16 at 292dd7174d)
598 - + help: make sure local html page exists before calling external processes
574 + + serve: provide "receive" function for session-id capability
575 + + serve: provide "receive" function for object-format capability
576 + + serve: add "receive" method for v2 capabilities table
577 + + serve: return capability "value" from get_capability()
578 + + serve: rename is_command() to parse_command()
579 + + Merge branch 'ab/serve-cleanup' into jk/reduce-malloc-in-v2-servers
580
600 - The error in "git help no-such-git-command" is handled better.
581 + Code cleanup to limit memory consumption and tighten protocol
582 + message parsing.
583
584 Will merge to 'master'.
585
586
605 -* ns/batched-fsync (2021-09-14) 5 commits
587 +* ns/batched-fsync (2021-09-22) 6 commits
588 - core.fsyncobjectfiles: performance tests for add and stash
589 + - core.fsyncobjectfiles: tests for batch mode
590 - update-index: use the bulk-checkin infrastructure
591 - core.fsyncobjectfiles: add windows support for batch mode
592 - core.fsyncobjectfiles: batched disk flushes
@@ -612,18 +595,6 @@ Release tarballs are available at:
595 The "core.fsyncobjectfiles" configuration variable can now be set
596 to "batch" for improved performance.
597
615 - Will merge to 'next'?
616 -
617 -
618 -* cb/plug-leaks-in-alloca-emu-users (2021-09-16) 2 commits
619 - (merged to 'next' on 2021-09-16 at 2eecae2de3)
620 - + t0000: avoid masking git exit value through pipes
621 - + tree-diff: fix leak when not HAVE_ALLOCA_H
622 -
623 - Leakfix.
624 -
625 - Will merge to 'master'.
626 -
598
599 * jh/builtin-fsmonitor-part1 (2021-09-20) 7 commits
600 - t/helper/simple-ipc: convert test-simple-ipc to use start_bg_command
@@ -637,25 +608,17 @@ Release tarballs are available at:
608 Built-in fsmonitor (part 1).
609
610
640 -* kz/revindex-comment-fix (2021-09-15) 1 commit
641 - (merged to 'next' on 2021-09-16 at b4797add3a)
642 - + pack-revindex.h: correct the time complexity descriptions
643 -
644 - Header comment fix.
645 -
646 - Will merge to 'master'.
647 -
648 -
611 * cb/cvsserver (2021-09-16) 3 commits
650 - - Documentation: cleanup git-cvsserver
651 - - git-cvsserver: protect against NULL in crypt(3)
652 - - git-cvsserver: use crypt correctly to compare password hashes
612 + (merged to 'next' on 2021-09-23 at 98f5f3f9cf)
613 + + Documentation: cleanup git-cvsserver
614 + + git-cvsserver: protect against NULL in crypt(3)
615 + + git-cvsserver: use crypt correctly to compare password hashes
616
617 "git cvsserver" had a long-standing bug in its authentication code,
618 which has finally been corrected (it is unclear and is a separate
619 question if anybody is seriously using it, though).
620
658 - Will merge to 'next'.
621 + Will merge to 'master'.
622
623
624 * cb/unicode-14 (2021-09-17) 1 commit
@@ -668,22 +631,7 @@ Release tarballs are available at:
631 Will merge to 'master'.
632
633
671 -* jk/http-server-protocol-versions (2021-09-10) 5 commits
672 - (merged to 'next' on 2021-09-13 at 9174cd6d37)
673 - + docs/protocol-v2: point readers transport config discussion
674 - + docs/git: discuss server-side config for GIT_PROTOCOL
675 - + docs/http-backend: mention v2 protocol
676 - + http-backend: handle HTTP_GIT_PROTOCOL CGI variable
677 - + t5551: test v2-to-v0 http protocol fallback
678 -
679 - Taking advantage of the CGI interface, http-backend has been
680 - updated to enable protocol v2 automatically when the other side
681 - asks for it.
682 -
683 - Will merge to 'master'.
684 -
685 -
686 -* ab/align-parse-options-help (2021-09-12) 4 commits
634 +* ab/align-parse-options-help (2021-09-22) 4 commits
635 - parse-options: properly align continued usage output
636 - git rev-parse --parseopt tests: add more usagestr tests
637 - send-pack: properly use parse_options() API for usage string
@@ -696,9 +644,12 @@ Release tarballs are available at:
644 Will merge to 'next'?
645
646
699 -* ab/help-config-vars (2021-09-10) 6 commits
700 - - fixup! help / completion: make "git help" do the hard work
647 +* ab/help-config-vars (2021-09-23) 9 commits
648 + - help: move column config discovery to help.c library
649 - help / completion: make "git help" do the hard work
650 + - help tests: test --config-for-completion option & output
651 + - help: simplify by moving to OPT_CMDMODE()
652 + - help: correct logic error in combining --all and --guides
653 - help: correct logic error in combining --all and --config
654 - help tests: add test for --config output
655 - help: correct usage & behavior of "git help --guides"
@@ -710,19 +661,6 @@ Release tarballs are available at:
661 Will merge to 'next'?
662
663
713 -* en/am-abort-fix (2021-09-10) 3 commits
714 - (merged to 'next' on 2021-09-13 at 11f3d2dc90)
715 - + am: fix incorrect exit status on am fail to abort
716 - + t4151: add a few am --abort tests
717 - + git-am.txt: clarify --abort behavior
718 - (this branch is used by en/removing-untracked-fixes.)
719 -
720 - When "git am --abort" fails to abort correctly, it still exited
721 - with exit status of 0, which has been corrected.
722 -
723 - Will merge to 'master'.
724 -
725 -
664 * tb/repack-write-midx (2021-09-16) 8 commits
665 - builtin/repack.c: pass `--refs-snapshot` when writing bitmaps
666 - builtin/repack.c: make largest pack preferred
@@ -739,48 +677,7 @@ Release tarballs are available at:
677 Will merge to 'next'?
678
679
742 -* ab/gc-remove-unused-call (2021-09-12) 1 commit
743 - (merged to 'next' on 2021-09-13 at 14f69ed198)
744 - + gc: remove unused launchctl_get_uid() call
745 -
746 - Code clean-up.
747 -
748 - Will merge to 'master'.
749 -
750 -
751 -* ab/test-tool-run-command-cleanup (2021-09-12) 1 commit
752 - (merged to 'next' on 2021-09-13 at 086310d0f4)
753 - + test-tool run-command: fix flip-flop init pattern
754 -
755 - Code clean-up.
756 -
757 - Will merge to 'master'.
758 -
759 -
760 -* ab/unused-script-helpers (2021-09-12) 4 commits
761 - (merged to 'next' on 2021-09-15 at 14e6b0f26e)
762 - + test-lib: remove unused $_x40 and $_z40 variables
763 - + git-bisect: remove unused SHA-1 $x40 shell variable
764 - + git-sh-setup: remove unused "pull with rebase" message
765 - + git-submodule: remove unused is_zero_oid() function
766 -
767 - Code clean-up.
768 -
769 - Will merge to 'master'.
770 -
771 -
772 -* cb/unix-sockets-with-windows (2021-09-14) 3 commits
773 - (merged to 'next' on 2021-09-16 at e2921332ef)
774 - + git-compat-util: include declaration for unix sockets in windows
775 - + credential-cache: check for windows specific errors
776 - + t0301: fixes for windows compatibility
777 -
778 - Adjust credential-cache helper to Windows.
779 -
780 - Will merge to 'master'.
781 -
782 -
783 -* ds/add-rm-with-sparse-index (2021-09-12) 14 commits
680 +* ds/add-rm-with-sparse-index (2021-09-22) 14 commits
681 - advice: update message to suggest '--sparse'
682 - mv: refuse to move sparse paths
683 - rm: skip sparse paths with missing SKIP_WORKTREE
@@ -800,50 +697,6 @@ Release tarballs are available at:
697 updating paths outside of the sparse-checkout definition unless
698 the user specifies a "--sparse" option.
699
803 - Expecting a reroll.
804 - cf. <922bdab1-c521-84b5-51c1-a0413fd67394@gmail.com>
805 -
806 -
807 -* en/tests-cleanup-leftover-untracked (2021-09-12) 1 commit
808 - (merged to 'next' on 2021-09-13 at cf38118205)
809 - + tests: remove leftover untracked files
810 -
811 - Test clean-up.
812 -
813 - Will merge to 'master'.
814 -
815 -
816 -* jk/strvec-typefix (2021-09-12) 1 commit
817 - (merged to 'next' on 2021-09-13 at e07858581d)
818 - + strvec: use size_t to store nr and alloc
819 -
820 - Correct nr and alloc members of strvec struct to be of type size_t.
821 -
822 - Will merge to 'master'.
823 -
824 -
825 -* rs/drop-core-compression-vars (2021-09-12) 1 commit
826 - (merged to 'next' on 2021-09-13 at 3bd06626c3)
827 - + compression: drop write-only core_compression_* variables
828 -
829 - Code clean-up.
830 -
831 - Will merge to 'master'.
832 -
833 -
834 -* rs/packfile-bad-object-list-in-oidset (2021-09-12) 5 commits
835 - (merged to 'next' on 2021-09-13 at 80e72f5f97)
836 - + packfile: use oidset for bad objects
837 - + packfile: convert has_packed_and_bad() to object_id
838 - + packfile: convert mark_bad_packed_object() to object_id
839 - + midx: inline nth_midxed_pack_entry()
840 - + oidset: make oidset_size() an inline function
841 -
842 - Replace a handcrafted data structure used to keep track of bad
843 - objects in the packfile API by an oidset.
844 -
845 - Will merge to 'master'.
846 -
700
701 * tb/midx-write-propagate-namehash (2021-09-17) 7 commits
702 - t5326: test propagating hashcache values
@@ -860,34 +713,10 @@ Release tarballs are available at:
713 Will merge to 'next'?
714
715
863 -* ab/retire-option-argument (2021-09-12) 4 commits
864 - (merged to 'next' on 2021-09-15 at 0bd7ce1161)
865 - + parse-options API: remove OPTION_ARGUMENT feature
866 - + difftool: use run_command() API in run_file_diff()
867 - + difftool: prepare "diff" cmdline in cmd_difftool()
868 - + difftool: prepare "struct child_process" in cmd_difftool()
869 - (this branch is used by da/difftool.)
870 -
871 - An oddball OPTION_ARGUMENT feature has been removed from the
872 - parse-options API.
873 -
874 - Will merge to 'master'.
875 -
876 -
877 -* po/git-config-doc-mentions-help-c (2021-09-13) 1 commit
878 - (merged to 'next' on 2021-09-13 at bddbd5c25d)
879 - + doc: config, tell readers of `git help --config`
880 -
881 - Doc update.
882 -
883 - Will merge to 'master'.
884 -
885 -
886 -* pw/rebase-of-a-tag-fix (2021-09-13) 11 commits
716 +* pw/rebase-of-a-tag-fix (2021-09-22) 10 commits
717 - rebase: dereference tags
718 - rebase: use lookup_commit_reference_by_name()
719 - rebase: use our standard error return value
890 - - rebase: remove redundant strbuf
720 - t3407: rework rebase --quit tests
721 - t3407: strengthen rebase --abort tests
722 - t3407: use test_path_is_missing
@@ -900,7 +729,7 @@ Release tarballs are available at:
729 it mistakenly tried to write the tag object instead of peeling it
730 to HEAD.
731
903 - Expecting a reroll.
732 + Will merge to 'next'?
733
734
735 * en/zdiff3 (2021-09-20) 2 commits
@@ -922,28 +751,11 @@ Release tarballs are available at:
751 Will merge to 'master'.
752
753
925 -* ab/http-drop-old-curl-plus (2021-09-13) 9 commits
926 - (merged to 'next' on 2021-09-15 at 16aaab36f1)
927 - + http: don't hardcode the value of CURL_SOCKOPT_OK
928 - + http: centralize the accounting of libcurl dependencies
929 - + http: correct curl version check for CURLOPT_PINNEDPUBLICKEY
930 - + http: correct version check for CURL_HTTP_VERSION_2
931 - + http: drop support for curl < 7.18.0 (again)
932 - + Makefile: drop support for curl < 7.9.8 (again)
933 - + INSTALL: mention that we need libcurl 7.19.4 or newer to build
934 - + INSTALL: reword and copy-edit the "libcurl" section
935 - + INSTALL: don't mention the "curl" executable at all
936 -
937 - Conditional compilation around versions of libcURL has been
938 - straightened out.
939 -
940 - Will merge to 'master'.
941 -
942 -
754 * jt/add-submodule-odb-clean-up (2021-09-09) 3 commits
755 - revision: remove "submodule" from opt struct
756 - repository: support unabsorbed in repo_submodule_init
757 - submodule: remove unnecessary unabsorbed fallback
758 + (this branch is used by jt/no-abuse-alternate-odb-for-submodules.)
759
760 More code paths that uses the hack to add submodule's object
761 database to the set of alternate object store have been cleaned up.
@@ -952,19 +764,11 @@ Release tarballs are available at:
764
765
766 * jx/ci-l10n (2021-09-09) 1 commit
955 - - ci: new github-action for git-l10n code review
767 + (merged to 'next' on 2021-09-23 at b2d7f5eecb)
768 + + ci: new github-action for git-l10n code review
769
770 CI help for l10n.
771
959 - Will merge to 'next'.
960 -
961 -
962 -* rs/use-xopen-in-index-pack (2021-09-10) 1 commit
963 - (merged to 'next' on 2021-09-16 at 186eaaae56)
964 - + index-pack: use xopen in init_thread
965 -
966 - Code clean-up.
967 -
772 Will merge to 'master'.
773
774
@@ -988,19 +792,7 @@ Release tarballs are available at:
792 Add pieces from "scalar" to contrib/.
793
794
991 -* ps/update-ref-batch-flush (2021-09-15) 2 commits
992 - (merged to 'next' on 2021-09-15 at 39a69141e3)
993 - + t1400: avoid SIGPIPE race condition on fifo
994 - (merged to 'next' on 2021-09-10 at 4ae19a5f34)
995 - + update-ref: fix streaming of status updates
996 -
997 - "git update-ref --stdin" failed to flush its output as needed,
998 - which potentially led the conversation to a deadlock.
999 -
1000 - Will merge to 'master'.
1001 -
1002 -
1003 -* ab/sanitize-leak-ci (2021-09-20) 2 commits
795 +* ab/sanitize-leak-ci (2021-09-23) 2 commits
796 - tests: add a test mode for SANITIZE=leak, run it in CI
797 - Makefile: add SANITIZE=leak flag to GIT-BUILD-OPTIONS
798
@@ -1035,20 +827,6 @@ Release tarballs are available at:
827 Will cook in 'next'.
828
829
1038 -* mr/bisect-in-c-4 (2021-09-13) 6 commits
1039 - (merged to 'next' on 2021-09-15 at 2af7f048d4)
1040 - + bisect--helper: retire `--bisect-next-check` subcommand
1041 - + bisect--helper: reimplement `bisect_run` shell function in C
1042 - + bisect--helper: reimplement `bisect_visualize()` shell function in C
1043 - + run-command: make `exists_in_PATH()` non-static
1044 - + t6030-bisect-porcelain: add test for bisect visualize
1045 - + t6030-bisect-porcelain: add tests to control bisect run exit cases
1046 -
1047 - Rewrite of "git bisect" in C continues.
1048 -
1049 - Will merge to 'master'.
1050 -
1051 -
830 * en/remerge-diff (2021-08-31) 7 commits
831 - doc/diff-options: explain the new --remerge-diff option
832 - show, log: provide a --remerge-diff capability
@@ -1087,14 +865,12 @@ Release tarballs are available at:
865 The "remainder" of hn/refs-errno-cleanup topic.
866
867
1090 -* ab/lib-subtest (2021-08-05) 11 commits
868 +* ab/lib-subtest (2021-09-22) 9 commits
869 + - test-lib tests: get rid of copy/pasted mock test code
870 - test-lib tests: assert 1 exit code, not non-zero
871 - test-lib tests: refactor common part of check_sub_test_lib_test*()
872 - test-lib tests: avoid subshell for "test_cmp" for readability
1094 - - test-lib tests: assert no copy/pasted mock test code
1095 - - test-lib tests: get rid of copy/pasted mock test code
873 - test-lib tests: don't provide a description for the sub-tests
1097 - - test-lib tests: stop using a subshell in write_sub_test_lib_test()
874 - test-lib tests: split up "write and run" into two functions
875 - test-lib tests: move "run_sub_test" to a new lib-subtest.sh
876 - Merge branch 'ps/t0000-output-directory-fix' into ab/lib-subtest
@@ -1103,7 +879,7 @@ Release tarballs are available at:
879 Updates to the tests in t0000 to test the test framework.
880
881
1106 -* ab/only-single-progress-at-once (2021-07-23) 8 commits
882 +* ab/only-single-progress-at-once (2021-09-22) 8 commits
883 - progress.c: add & assert a "global_progress" variable
884 - pack-bitmap-write.c: add a missing stop_progress()
885 - progress.c: add temporary variable from progress struct
@@ -1115,9 +891,6 @@ Release tarballs are available at:
891
892 Further tweaks on progress API.
893
1118 - On hold.
1119 - cf. <20210901050406.GB76263@szeder.dev>
1120 -
894
895 * fs/ssh-signing (2021-09-10) 9 commits
896 - ssh signing: test that gpg fails for unknown keys
@@ -1147,52 +920,6 @@ Release tarballs are available at:
920 cf. <xmqqsg0ri5mq.fsf@gitster.g>
921
922
1150 -* ab/config-based-hooks-base (2021-09-09) 36 commits
1151 - - hooks: fix a TOCTOU in "did we run a hook?" heuristic
1152 - - receive-pack: convert receive hooks to hook.h
1153 - - post-update: use hook.h library
1154 - - receive-pack: convert 'update' hook to hook.h
1155 - - hooks: allow callers to capture output
1156 - - run-command: allow capturing of collated output
1157 - - reference-transaction: use hook.h to run hooks
1158 - - hook tests: use a modern style for "pre-push" tests
1159 - - hook tests: test for exact "pre-push" hook input
1160 - - transport: convert pre-push hook to hook.h
1161 - - hook: convert 'post-rewrite' hook in sequencer.c to hook.h
1162 - - hook: provide stdin by string_list or callback
1163 - - run-command: add stdin callback for parallelization
1164 - - am: convert 'post-rewrite' hook to hook.h
1165 - - hook: support passing stdin to hooks
1166 - - run-command: allow stdin for run_processes_parallel
1167 - - run-command: remove old run_hook_{le,ve}() hook API
1168 - - receive-pack: convert push-to-checkout hook to hook.h
1169 - - read-cache: convert post-index-change to use hook.h
1170 - - commit: convert {pre-commit,prepare-commit-msg} hook to hook.h
1171 - - git-p4: use 'git hook' to run hooks
1172 - - send-email: use 'git hook run' for 'sendemail-validate'
1173 - - git hook run: add an --ignore-missing flag
1174 - - merge: convert post-merge to use hook.h
1175 - - hooks: convert 'post-checkout' hook to hook library
1176 - - am: convert applypatch to use hook.h
1177 - - rebase: convert pre-rebase to use hook.h
1178 - - gc: use hook library for pre-auto-gc hook
1179 - - hook: add 'run' subcommand
1180 - - hook-list.h: add a generated list of hooks, like config-list.h
1181 - - hook.c users: use "hook_exists()" instead of "find_hook()"
1182 - - hook.c: add a hook_exists() wrapper and use it in bugreport.c
1183 - - hook.[ch]: move find_hook() from run-command.c to hook.c
1184 - - Makefile: remove an out-of-date comment
1185 - - Makefile: stop hardcoding {command,config}-list.h
1186 - - Makefile: mark "check" target as .PHONY
1187 - (this branch is used by es/config-based-hooks.)
1188 -
1189 - Restructuring of (a subset of) Emily's config-based-hooks series,
1190 - to demonstrate that a series can be presented as a more logical and
1191 - focused progression.
1192 -
1193 - Waiting for reviews.
1194 -
1195 -
923 * pw/diff-color-moved-fix (2021-08-05) 13 commits
924 - diff: drop unused options parameter from cmp_in_block_with_wsd()
925 - diff --color-moved: intern strings
@@ -1246,37 +973,39 @@ Release tarballs are available at:
973
974
975 * ab/refs-files-cleanup (2021-08-25) 13 commits
1249 - - refs/files: remove unused "errno != ENOTDIR" condition
1250 - - refs/files: remove unused "errno == EISDIR" code
1251 - - refs/files: remove unused "oid" in lock_ref_oid_basic()
1252 - - refs API: remove OID argument to reflog_expire()
1253 - - reflog expire: don't lock reflogs using previously seen OID
1254 - - refs/files: add a comment about refs_reflog_exists() call
1255 - - refs: make repo_dwim_log() accept a NULL oid
1256 - - refs/debug: re-indent argument list for "prepare"
1257 - - refs/files: remove unused "skip" in lock_raw_ref() too
1258 - - refs/files: remove unused "extras/skip" in lock_ref_oid_basic()
1259 - - refs: drop unused "flags" parameter to lock_ref_oid_basic()
1260 - - refs/files: remove unused REF_DELETING in lock_ref_oid_basic()
1261 - - refs/packet: add missing BUG() invocations to reflog callbacks
976 + (merged to 'next' on 2021-09-23 at eb5668523f)
977 + + refs/files: remove unused "errno != ENOTDIR" condition
978 + + refs/files: remove unused "errno == EISDIR" code
979 + + refs/files: remove unused "oid" in lock_ref_oid_basic()
980 + + refs API: remove OID argument to reflog_expire()
981 + + reflog expire: don't lock reflogs using previously seen OID
982 + + refs/files: add a comment about refs_reflog_exists() call
983 + + refs: make repo_dwim_log() accept a NULL oid
984 + + refs/debug: re-indent argument list for "prepare"
985 + + refs/files: remove unused "skip" in lock_raw_ref() too
986 + + refs/files: remove unused "extras/skip" in lock_ref_oid_basic()
987 + + refs: drop unused "flags" parameter to lock_ref_oid_basic()
988 + + refs/files: remove unused REF_DELETING in lock_ref_oid_basic()
989 + + refs/packet: add missing BUG() invocations to reflog callbacks
990 (this branch is used by ab/refs-errno-cleanup and hn/refs-errno-cleanup.)
991
992 Continued work on top of the hn/refs-errno-cleanup topic.
993
1266 - Will merge to 'next'?
994 + Will merge to 'master'.
995
996
997 * hn/refs-errno-cleanup (2021-08-25) 4 commits
1270 - - refs: make errno output explicit for read_raw_ref_fn
1271 - - refs/files-backend: stop setting errno from lock_ref_oid_basic
1272 - - refs: remove EINVAL errno output from specification of read_raw_ref_fn
1273 - - refs file backend: move raceproof_create_file() here
998 + (merged to 'next' on 2021-09-23 at 502e6b6b08)
999 + + refs: make errno output explicit for read_raw_ref_fn
1000 + + refs/files-backend: stop setting errno from lock_ref_oid_basic
1001 + + refs: remove EINVAL errno output from specification of read_raw_ref_fn
1002 + + refs file backend: move raceproof_create_file() here
1003 (this branch is used by ab/refs-errno-cleanup; uses ab/refs-files-cleanup.)
1004
1005 Futz with the way 'errno' is relied on in the refs API to carry the
1277 - failure modes up the callchain.
1006 + failure modes up the call chain.
1007
1279 - Will merge to 'next'?
1008 + Will merge to 'master'.
1009
1010 --------------------------------------------------
1011 [Discarded]
@@ -1347,3 +1076,62 @@ Release tarballs are available at:
1076 for our use.
1077
1078 Will be rerolled in pieces.
1079 +
1080 +
1081 +* ab/config-based-hooks-base (2021-09-09) 36 commits
1082 + . hooks: fix a TOCTOU in "did we run a hook?" heuristic
1083 + . receive-pack: convert receive hooks to hook.h
1084 + . post-update: use hook.h library
1085 + . receive-pack: convert 'update' hook to hook.h
1086 + . hooks: allow callers to capture output
1087 + . run-command: allow capturing of collated output
1088 + . reference-transaction: use hook.h to run hooks
1089 + . hook tests: use a modern style for "pre-push" tests
1090 + . hook tests: test for exact "pre-push" hook input
1091 + . transport: convert pre-push hook to hook.h
1092 + . hook: convert 'post-rewrite' hook in sequencer.c to hook.h
1093 + . hook: provide stdin by string_list or callback
1094 + . run-command: add stdin callback for parallelization
1095 + . am: convert 'post-rewrite' hook to hook.h
1096 + . hook: support passing stdin to hooks
1097 + . run-command: allow stdin for run_processes_parallel
1098 + . run-command: remove old run_hook_{le,ve}() hook API
1099 + . receive-pack: convert push-to-checkout hook to hook.h
1100 + . read-cache: convert post-index-change to use hook.h
1101 + . commit: convert {pre-commit,prepare-commit-msg} hook to hook.h
1102 + . git-p4: use 'git hook' to run hooks
1103 + . send-email: use 'git hook run' for 'sendemail-validate'
1104 + . git hook run: add an --ignore-missing flag
1105 + . merge: convert post-merge to use hook.h
1106 + . hooks: convert 'post-checkout' hook to hook library
1107 + . am: convert applypatch to use hook.h
1108 + . rebase: convert pre-rebase to use hook.h
1109 + . gc: use hook library for pre-auto-gc hook
1110 + . hook: add 'run' subcommand
1111 + . hook-list.h: add a generated list of hooks, like config-list.h
1112 + . hook.c users: use "hook_exists()" instead of "find_hook()"
1113 + . hook.c: add a hook_exists() wrapper and use it in bugreport.c
1114 + . hook.[ch]: move find_hook() from run-command.c to hook.c
1115 + . Makefile: remove an out-of-date comment
1116 + . Makefile: stop hardcoding {command,config}-list.h
1117 + . Makefile: mark "check" target as .PHONY
1118 + (this branch is used by es/config-based-hooks.)
1119 +
1120 + Restructuring of (a subset of) Emily's config-based-hooks series,
1121 + to demonstrate that a series can be presented as a more logical and
1122 + focused progression.
1123 +
1124 + Will be rerolled in pieces.
1125 +
1126 +
1127 +* es/config-based-hooks (2021-09-09) 6 commits
1128 + . hook: allow out-of-repo 'git hook' invocations
1129 + . hook: include hooks from the config
1130 + . hook: introduce "git hook list"
1131 + . hook: allow parallel hook execution
1132 + . fixup! hook: run a list of hooks instead
1133 + . hook: run a list of hooks instead
1134 + (this branch uses ab/config-based-hooks-base.)
1135 +
1136 + Revamp the hooks subsystem to allow multiple of them to trigger
1137 + upon the same event and control via the configuration variables.