What's cooking (2021/09 #04)

Junio C Hamano committed Sep 13, 2021 at 16:57 UTC 93185c2ed09ffb5bc114be6354a9fd6234c97ca0
1 file changed +354 -481
whats-cooking.txt
+354 -481
@@ -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, #03; Fri, 10)
3 +Subject: What's cooking in git.git (Sep 2021, #04; Mon, 13)
4 X-master-at: 8b7c11b8668b4e774f81a9f0b4c30144b818f1d1
5 -X-next-at: 5e29049d33d12c9bf75c9b7214e9d7d19bb2e7fe
5 +X-next-at: 22d4bfa14b6169731ecee0d0e0a4cb3b00676ae4
6
7 -What's cooking in git.git (Sep 2021, #03; Fri, 10)
7 +What's cooking in git.git (Sep 2021, #04; Mon, 13)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking in my tree. Commits
@@ -47,474 +47,215 @@ Release tarballs are available at:
47 https://www.kernel.org/pub/software/scm/git/
48
49 --------------------------------------------------
50 -[Graduated to 'master']
51 -
52 -* ab/commit-graph-usage (2021-08-30) 7 commits
53 - (merged to 'next' on 2021-09-03 at 2254ea1e58)
54 - + commit-graph: show "unexpected subcommand" error
55 - + commit-graph: show usage on "commit-graph [write|verify] garbage"
56 - + commit-graph: early exit to "usage" on !argc
57 - + multi-pack-index: refactor "goto usage" pattern
58 - + commit-graph: use parse_options_concat()
59 - + commit-graph: remove redundant handling of -h
60 - + commit-graph: define common usage with a macro
61 -
62 - Fixes on usage message from "git commit-graph".
63 -
64 -
65 -* ab/gc-log-rephrase (2021-09-02) 1 commit
66 - (merged to 'next' on 2021-09-03 at 24c51e3df1)
67 - + gc: remove trailing dot from "gc.log" line
68 -
69 - A pathname in an advice message has been made cut-and-paste ready.
70 -
71 -
72 -* ab/help-autocorrect-prompt (2021-08-14) 1 commit
73 - (merged to 'next' on 2021-09-08 at e9e130d3e6)
74 - + help.c: help.autocorrect=prompt waits for user action
75 -
76 - The logic for auto-correction of misspelt subcommands learned to go
77 - interactive when the help.autocorrect configuration variable is set
78 - to 'prompt'.
79 -
80 -
81 -* ab/ls-remote-packet-trace (2021-08-24) 1 commit
82 - (merged to 'next' on 2021-08-30 at fec2e5a7eb)
83 - + ls-remote: set packet_trace_identity(<name>)
84 -
85 - Debugging aid fix.
86 -
87 -
88 -* ab/mailmap-leakfix (2021-08-31) 1 commit
89 - (merged to 'next' on 2021-09-03 at 348fe07b87)
90 - + mailmap.c: fix a memory leak in free_mailap_{info,entry}()
91 -
92 - Leakfix.
93 -
94 -
95 -* ab/rebase-fatal-fatal-fix (2021-08-24) 1 commit
96 - (merged to 'next' on 2021-08-30 at 256e1cbc9e)
97 - + rebase: emit one "fatal" in "fatal: fatal: <error>"
98 -
99 - Error message fix.
100 -
101 -
102 -* ab/retire-advice-config (2021-08-25) 4 commits
103 - (merged to 'next' on 2021-09-03 at 0045df3dbb)
104 - + advice: move advice.graftFileDeprecated squashing to commit.[ch]
105 - + advice: remove use of global advice_add_embedded_repo
106 - + advice: remove read uses of most global `advice_` variables
107 - + advice: add enum variants for missing advice variables
108 -
109 - Code clean up to migrate callers from older advice_config[] based
110 - API to newer advice_if_enabled() and advice_enabled() API.
111 -
112 -
113 -* ba/object-info (2021-08-31) 1 commit
114 - (merged to 'next' on 2021-09-03 at 6d47f59ab4)
115 - + protocol-caps.c: fix memory leak in send_info()
116 -
117 - Leakfix.
118 -
119 -
120 -* cb/ci-build-pedantic (2021-08-11) 1 commit
121 - (merged to 'next' on 2021-09-08 at c47fb2d7cc)
122 - + ci: run a pedantic build as part of the GitHub workflow
123 -
124 - CI update.
125 -
126 -
127 -* cb/makefile-apple-clang (2021-08-06) 3 commits
128 - (merged to 'next' on 2021-08-30 at 9fe8f1a9b3)
129 - + build: catch clang that identifies itself as "$VENDOR clang"
130 - + build: clang version may not be followed by extra words
131 - + build: update detect-compiler for newer Xcode version
132 -
133 - Build update for Apple clang.
134 -
135 -
136 -* cb/remote-ndebug-fix (2021-09-02) 1 commit
137 - (merged to 'next' on 2021-09-03 at a47f44ca9d)
138 - + remote: avoid -Wunused-but-set-variable in gcc with -DNDEBUG
139 -
140 - Build fix.
141 -
142 -
143 -* dd/diff-files-unmerged-fix (2021-08-25) 1 commit
144 - (merged to 'next' on 2021-08-30 at 63a1bdddfc)
145 - + diff-lib: ignore paths that are outside $cwd if --relative asked
146 -
147 - "git diff --relative" segfaulted and/or produced incorrect result
148 - when there are unmerged paths.
149 -
150 -
151 -* dd/t6300-wo-gpg-fix (2021-08-25) 2 commits
152 - (merged to 'next' on 2021-08-30 at 59f5669dd6)
153 - + t6300: check for cat-file exit status code
154 - + t6300: don't run cat-file on non-existent object
155 -
156 - Test fix.
157 -
158 -
159 -* es/walken-tutorial-fix (2021-08-30) 1 commit
160 - (merged to 'next' on 2021-09-01 at 73719bee8a)
161 - + doc: fix syntax error and the format of printf
162 -
163 - Typofix.
164 -
165 -
166 -* ga/send-email-sendmail-cmd (2021-08-24) 1 commit
167 - (merged to 'next' on 2021-08-30 at 1bb659c66c)
168 - + t9001: PATH must not use Windows-style paths
169 -
170 - Test fix.
171 -
172 -
173 -* gh/gitweb-branch-sort (2021-06-10) 1 commit
174 - (merged to 'next' on 2021-09-08 at a51cf7e283)
175 - + gitweb: use HEAD as secondary sort key in git_get_heads_list()
176 -
177 - Tie-break branches that point at the same object in the list of
178 - branches on GitWeb to show the one pointed at by HEAD early.
179 -
180 -
181 -* jb/midx-revindex-fix (2021-08-23) 1 commit
182 - - multi-pack-index: fix *.rev cleanups with --object-dir
183 -
184 - An implementation in "multi-pack-index write" that takes object
185 - directory inconsistently used that and the object store of the
186 - default repository, causing segfaults and possibly corrupting
187 - repositories.
188 -
189 - Discard. This has been absorbed in another topic.
190 - cf. <c0c24993-77e2-51a1-c352-0399c59f1f94@ramsayjones.plus.com>
191 -
192 -
193 -* jh/sparse-index-resize-fix (2021-08-30) 1 commit
194 - (merged to 'next' on 2021-09-01 at 5ee2615670)
195 - + sparse-index: copy dir_hash in ensure_full_index()
196 -
197 - The sparse-index support can corrupt the index structure by storing
198 - a stale and/or uninitialized data, which has been corrected.
199 -
200 -
201 -* jk/log-warn-on-bogus-encoding (2021-08-27) 2 commits
202 - (merged to 'next' on 2021-09-08 at 56fe25cc53)
203 - + docs: use "character encoding" to refer to commit-object encoding
204 - + logmsg_reencode(): warn when iconv() fails
205 -
206 - Doc update plus improved error reporting.
207 -
208 -
209 -* jk/t5323-no-pack-test-fix (2021-08-25) 1 commit
210 - (merged to 'next' on 2021-08-30 at 2892635eaf)
211 - + t5323: drop mentions of "master"
212 -
213 - Test fix.
214 -
215 -
216 -* js/advise-when-skipping-cherry-picked (2021-08-30) 1 commit
217 - (merged to 'next' on 2021-09-01 at bc883fce56)
218 - + sequencer: advise if skipping cherry-picked commit
219 -
220 - "git rebase" by default skips changes that are equivalent to
221 - commits that are already in the history the branch is rebased onto;
222 - give messages when this happens to let the users be aware of
223 - skipped commits, and also teach them how to tell "rebase" to keep
224 - duplicated changes.
225 -
226 -
227 -* js/maintenance-launchctl-fix (2021-08-24) 2 commits
228 - (merged to 'next' on 2021-08-30 at 12a5da47e7)
229 - + maintenance: skip bootout/bootstrap when plist is registered
230 - + maintenance: create `launchctl` configuration using a lock file
231 -
232 - "git maintenance" scheduler fix for macOS.
233 -
234 -
235 -* ka/want-ref-in-namespace (2021-09-01) 3 commits
236 - (merged to 'next' on 2021-09-01 at a1075a92a9)
237 - + docs: clarify the interaction of transfer.hideRefs and namespaces
238 - + upload-pack.c: treat want-ref relative to namespace
239 - + t5730: introduce fetch command helper
240 -
241 - "git upload-pack" which runs on the other side of "git fetch"
242 - forgot to take the ref namespaces into account when handling
243 - want-ref requests.
244 -
245 -
246 -* me/t5582-cleanup (2021-08-24) 1 commit
247 - (merged to 'next' on 2021-08-30 at e92258e72c)
248 - + t5582: remove spurious 'cd "$D"' line
249 -
250 - Test fix.
251 -
252 -
253 -* mh/credential-leakfix (2021-08-25) 1 commit
254 - (merged to 'next' on 2021-08-30 at be9e67bddc)
255 - + credential: fix leak in credential_apply_config()
256 -
257 - Leak fix.
258 -
259 -
260 -* mh/send-email-reset-in-reply-to (2021-08-30) 1 commit
261 - (merged to 'next' on 2021-09-03 at 3a60892d9a)
262 - + send-email: avoid incorrect header propagation
263 -
264 - Even when running "git send-email" without its own threaded
265 - discussion support, a threading related header in one message is
266 - carried over to the subsequent message to result in an unwanted
267 - threading, which has been corrected.
268 -
269 -
270 -* mk/clone-recurse-submodules (2021-08-30) 1 commit
271 - (merged to 'next' on 2021-09-03 at 9787178599)
272 - + clone: set submodule.recurse=true if submodule.stickyRecursiveClone enabled
273 -
274 - After "git clone --recurse-submodules", all submodules are cloned
275 - but they are not by default recursed into by other commands. With
276 - submodule.stickyRecursiveClone configuration set, submodule.recurse
277 - configuration is set to true in a repository created by "clone"
278 - with "--recurse-submodules" option.
279 -
280 -
281 -* mt/quiet-with-delayed-checkout (2021-08-26) 1 commit
282 - (merged to 'next' on 2021-08-30 at d243498893)
283 - + checkout: make delayed checkout respect --quiet and --no-progress
284 -
285 - The delayed checkout code path in "git checkout" etc. were chatty
286 - even when --quiet and/or --no-progress options were given.
287 -
288 -
289 -* ps/fetch-omit-formatting-under-quiet (2021-08-30) 1 commit
290 - (merged to 'next' on 2021-09-01 at 2440a8a2aa)
291 - + fetch: skip formatting updated refs with `--quiet`
292 -
293 - "git fetch --quiet" optimization to avoid useless computation of
294 - info that will never be displayed.
295 -
296 -
297 -* ps/ls-refs-strbuf-optim (2021-08-25) 1 commit
298 - (merged to 'next' on 2021-08-30 at e4cbc7243a)
299 - + ls-refs: reuse buffer when sending refs
300 -
301 - Micro-optimization for the wire protocol driver.
302 -
303 -
304 -* rs/archive-use-object-id (2021-08-27) 1 commit
305 - (merged to 'next' on 2021-09-08 at 02899d8aea)
306 - + archive: convert queue_directory to struct object_id
307 -
308 - Code cleanup.
309 -
310 -
311 -* rs/branch-allow-deleting-dangling (2021-08-27) 1 commit
312 - (merged to 'next' on 2021-08-30 at 35b9d158e8)
313 - + branch: allow deleting dangling branches with --force
314 -
315 - "git branch -D <branch>" used to refuse to remove a broken branch
316 - ref that points at a missing commit, which has been corrected.
317 -
50 +[New Topics]
51
319 -* rs/git-mmap-uses-malloc (2021-08-24) 1 commit
320 - (merged to 'next' on 2021-08-30 at 6339c8e657)
321 - + compat: let git_mmap use malloc(3) directly
52 +* jk/http-server-protocol-versions (2021-09-10) 5 commits
53 + - docs/protocol-v2: point readers transport config discussion
54 + - docs/git: discuss server-side config for GIT_PROTOCOL
55 + - docs/http-backend: mention v2 protocol
56 + - http-backend: handle HTTP_GIT_PROTOCOL CGI variable
57 + - t5551: test v2-to-v0 http protocol fallback
58
323 - mmap() imitation used to call xmalloc() that dies upon malloc()
324 - failure, which has been corrected to just return an error to the
325 - caller to be handled.
59 + Taking advantage of the CGI interface, http-backend has been
60 + updated to enable protocol v2 automatically when the other side
61 + asks for it.
62
63 + Will merge to 'next'.
64
328 -* rs/more-fspathcmp (2021-08-30) 1 commit
329 - (merged to 'next' on 2021-09-01 at 3052b89438)
330 - + merge-recursive: use fspathcmp() in path_hashmap_cmp()
65
332 - Code simplification.
66 +* ab/align-parse-options-help (2021-09-12) 4 commits
67 + - parse-options: properly align continued usage output
68 + - git rev-parse --parseopt tests: add more usagestr tests
69 + - send-pack: properly use parse_options() API for usage string
70 + - parse-options API users: align usage output in C-strings
71
72 + When "git cmd -h" shows more than one line of usage text (e.g.
73 + the cmd subcommand may take sub-sub-command), parse-options API
74 + learned to align these lines, even across i18n/l10n.
75
335 -* rs/show-branch-simplify (2021-08-27) 1 commit
336 - (merged to 'next' on 2021-09-08 at 047750a6fa)
337 - + show-branch: simplify rev_is_head()
76
339 - Code cleanup.
77 +* ab/help-config-vars (2021-09-10) 6 commits
78 + - fixup! help / completion: make "git help" do the hard work
79 + - help / completion: make "git help" do the hard work
80 + - help: correct logic error in combining --all and --config
81 + - help tests: add test for --config output
82 + - help: correct usage & behavior of "git help --guides"
83 + - help: correct the usage string in -h and documentation
84
85 + Teach "git help -c" into helping the command line completion of
86 + configuration variables.
87
342 -* rs/xopen-reports-open-failures (2021-08-25) 2 commits
343 - (merged to 'next' on 2021-08-30 at a8588775c8)
344 - + use xopen() to handle fatal open(2) failures
345 - + xopen: explicitly report creation failures
88
347 - Error diagnostics improvement.
89 +* en/am-abort-fix (2021-09-10) 3 commits
90 + - am: fix incorrect exit status on am fail to abort
91 + - t4151: add a few am --abort tests
92 + - git-am.txt: clarify --abort behavior
93
94 + When "git am --abort" fails to abort correctly, it still exited
95 + with exit status of 0, which has been corrected.
96
350 -* sg/column-nl (2021-08-26) 1 commit
351 - (merged to 'next' on 2021-08-30 at a3cb0f4745)
352 - + column: fix parsing of the '--nl' option
97 + Will merge to 'next'.
98
354 - The parser for the "--nl" option of "git column" has been
355 - corrected.
99
100 +* tb/repack-write-midx (2021-09-10) 8 commits
101 + - builtin/repack.c: pass `--refs-snapshot` when writing bitmaps
102 + - builtin/repack.c: make largest pack preferred
103 + - builtin/repack.c: support writing a MIDX while repacking
104 + - builtin/repack.c: extract showing progress to a variable
105 + - builtin/repack.c: keep track of existing packs unconditionally
106 + - midx: preliminary support for `--refs-snapshot`
107 + - builtin/multi-pack-index.c: support --stdin-packs mode
108 + - midx: expose 'write_midx_file_only()' publicly
109 + (this branch uses tb/multi-pack-bitmaps.)
110
358 -* sg/set-ceiling-during-tests (2021-08-30) 1 commit
359 - (merged to 'next' on 2021-09-01 at 5378ce3817)
360 - + test-lib: set GIT_CEILING_DIRECTORIES to protect the surrounding repository
111 + "git repack" has been taught to generate multi-pack reachability
112 + bitmaps.
113
362 - Buggy tests could damage repositories outside the throw-away test
363 - area we created. We now by default export GIT_CEILING_DIRECTORIES
364 - to limit the damage from such a stray test.
114
115 +* ab/gc-remove-unused-call (2021-09-12) 1 commit
116 + - gc: remove unused launchctl_get_uid() call
117
367 -* tb/add-objects-in-unpacked-packs-simplify (2021-08-29) 3 commits
368 - (merged to 'next' on 2021-09-01 at 66b0f8564d)
369 - + builtin/pack-objects.c: remove duplicate hash lookup
370 - + builtin/pack-objects.c: simplify add_objects_in_unpacked_packs()
371 - + object-store.h: teach for_each_packed_object to ignore kept packs
118 + Code clean-up.
119
373 - Code simplification with reduced memory usage.
120 + Will merge to 'next'.
121
122
376 -* tk/fast-export-anonymized-tag-fix (2021-08-31) 1 commit
377 - (merged to 'next' on 2021-09-03 at 15ce1ab44f)
378 - + fast-export: fix anonymized tag using original length
123 +* ab/test-tool-run-command-cleanup (2021-09-12) 1 commit
124 + - test-tool run-command: fix flip-flop init pattern
125
380 - The output from "git fast-export", when its anonymization feature
381 - is in use, showed an annotated tag incorrectly.
126 + Code clean-up.
127
128 + Will merge to 'next'.
129
384 -* uk/userdiff-php-enum (2021-08-31) 1 commit
385 - (merged to 'next' on 2021-09-03 at 5c9eb654fe)
386 - + userdiff: support enum keyword in PHP hunk header
130
388 - Update the userdiff pattern for PHP.
131 +* ab/unused-script-helpers (2021-09-12) 4 commits
132 + - test-lib: remove unused $_x40 and $_z40 variables
133 + - git-bisect: remove unused SHA-1 $x40 shell variable
134 + - git-sh-setup: remove unused "pull with rebase" message
135 + - git-submodule: remove unused is_zero_oid() function
136
137 + Code clean-up.
138
391 -* zh/cherry-pick-advice (2021-08-23) 1 commit
392 - (merged to 'next' on 2021-09-01 at 6ff491cc09)
393 - + cherry-pick: use better advice message
139 + Will merge to 'next'.
140
395 - The advice message that "git cherry-pick" gives when it asks
396 - conflicted replay of a commit to be resolved by the end user has
397 - been updated.
141
399 ---------------------------------------------------
400 -[New Topics]
142 +* cb/unix-sockets-with-windows (2021-09-12) 3 commits
143 + - git-compat-util: include declaration for unix sockets
144 + - credential-cache: check for windows specific errors
145 + - t0301: fixes for windows compatibility
146
402 -* en/stash-df-fix (2021-09-08) 3 commits
403 - - stash: restore untracked files AFTER restoring tracked files
404 - - stash: avoid feeding directories to update-index
405 - - t3903: document a pair of directory/file bugs
147 + Adjust credential-cache helper to Windows.
148
407 - Fix "git stash" corner case where the tentative change involves
408 - changing a directory to a file (or vice versa).
149 + Expecting a reroll.
150
151
411 -* js/pull-release-packs-before-fetching (2021-09-08) 2 commits
412 - - pull: release packs before fetching
413 - - commit-graph: when closing the graph, also release the slab
414 - (this branch is used by js/run-command-close-packs.)
152 +* ds/add-rm-with-sparse-index (2021-09-12) 14 commits
153 + - advice: update message to suggest '--sparse'
154 + - mv: refuse to move sparse paths
155 + - rm: skip sparse paths with missing SKIP_WORKTREE
156 + - rm: add --sparse option
157 + - add: update --renormalize to skip sparse paths
158 + - add: update --chmod to skip sparse paths
159 + - add: implement the --sparse option
160 + - add: skip tracked paths outside sparse-checkout cone
161 + - add: fail when adding an untracked sparse file
162 + - dir: fix pattern matching on dirs
163 + - dir: select directories correctly
164 + - dir: extract directory-matching logic
165 + - t1092: behavior for adding sparse files
166 + - t3705: test that 'sparse_entry' is unstaged
167 + (this branch uses ds/mergies-with-sparse-index and ds/sparse-index-ignored-files.)
168 +
169 + "git add", "git mv", and "git rm" have been adjusted to work better
170 + with the sparse index.
171
416 - "git pull" was taught to close open file descriptors to the
417 - packfiles before spawning "git fetch" to help auto-gc that may be
418 - invoked by it.
172
173 +* en/tests-cleanup-leftover-untracked (2021-09-12) 1 commit
174 + - tests: remove leftover untracked files
175
421 -* ab/http-drop-old-curl-plus (2021-09-10) 8 commits
422 - - http: don't hardcode the value of CURL_SOCKOPT_OK
423 - - http: centralize the accounting of libcurl dependencies
424 - - http: correct curl version check for CURLOPT_PINNEDPUBLICKEY
425 - - http: correct version check for CURL_HTTP_VERSION_2
426 - - http: drop support for curl < 7.18.0 (again)
427 - - Makefile: drop support for curl < 7.9.8 (again)
428 - - INSTALL: mention that we need libcurl 7.19.4 or newer to build
429 - - INSTALL: don't mention the "curl" executable at all
176 + Test clean-up.
177
431 - Conditional compilation around versions of libcURL has been
432 - straightened out.
178 + Will merge to 'next'.
179
180
435 -* ds/mergies-with-sparse-index (2021-09-09) 6 commits
436 - - sparse-index: integrate with cherry-pick and rebase
437 - - sequencer: ensure full index if not ORT strategy
438 - - t1092: add cherry-pick, rebase tests
439 - - merge-ort: expand only for out-of-cone conflicts
440 - - merge: make sparse-aware with ORT
441 - - diff: ignore sparse paths in diffstat
442 - (this branch uses ds/sparse-index-ignored-files.)
181 +* jk/strvec-typefix (2021-09-12) 1 commit
182 + - strvec: use size_t to store nr and alloc
183
444 - Various mergy operations have been prepared to work efficiently
445 - with the sparse index.
184 + Correct nr and alloc members of strvec struct to be of type size_t.
185
186 Will merge to 'next'.
187
188
450 -* jk/http-backend-handle-proto-header (2021-09-09) 1 commit
451 - - http-backend: handle HTTP_GIT_PROTOCOL CGI variable
189 +* rs/drop-core-compression-vars (2021-09-12) 1 commit
190 + - compression: drop write-only core_compression_* variables
191
453 - Taking advantage of the CGI interface, http-backend has been
454 - updated to enable protocol v2 automatically when the other side
455 - asks for it.
192 + Code clean-up.
193
194 Will merge to 'next'.
195
196
460 -* js/run-command-close-packs (2021-09-09) 4 commits
461 - - Close object store closer to spawning child processes
462 - - run_auto_maintenance(): implicitly close the object store
463 - - run-command: offer to close the object store before running
464 - - run-command: prettify the `RUN_COMMAND_*` flags
465 - (this branch uses js/pull-release-packs-before-fetching.)
197 +* rs/packfile-bad-object-list-in-oidset (2021-09-12) 5 commits
198 + - packfile: use oidset for bad objects
199 + - packfile: convert has_packed_and_bad() to object_id
200 + - packfile: convert mark_bad_packed_object() to object_id
201 + - midx: inline nth_midxed_pack_entry()
202 + - oidset: make oidset_size() an inline function
203
467 - The run-command API has been updated so that the callers can easily
468 - ask the file descriptors open for packfiles to be closed immediately
469 - before spawning commands that may trigger auto-gc.
204 + Replace a handcrafted data structure used to keep track of bad
205 + objects in the packfile API by an oidset.
206
207 Will merge to 'next'.
208
209
474 -* jt/add-submodule-odb-clean-up (2021-09-09) 3 commits
475 - - revision: remove "submodule" from opt struct
476 - - repository: support unabsorbed in repo_submodule_init
477 - - submodule: remove unnecessary unabsorbed fallback
478 - (this branch uses jt/grep-wo-submodule-odb-as-alternate.)
479 -
480 - More code paths that uses the hack to add submodule's object
481 - database to the set of alternate object store have been cleaned up.
482 -
483 -
484 -* jx/ci-l10n (2021-09-09) 1 commit
485 - - ci: new github-action for git-l10n code review
210 +* tb/midx-write-propagate-namehash (2021-09-12) 4 commits
211 + - t5326: test propagating hashcache values
212 + - midx.c: respect 'pack.writeBitmapHashcache' when writing bitmaps
213 + - pack-bitmap.c: propagate namehash values from existing bitmaps
214 + - t/helper/test-bitmap.c: add 'dump-hashes' mode
215 + (this branch uses tb/multi-pack-bitmaps.)
216
487 - CI help for l10n.
217 + "git multi-pack-bitmap write" learns to propagate the hashcache
218 + from original bitmap to resulting bitmap.
219
220
490 -* jk/t5562-racefix (2021-09-09) 1 commit
491 - - t5562: use alarm() to interrupt timed child-wait
221 +* ab/retire-option-argument (2021-09-12) 4 commits
222 + - parse-options API: remove OPTION_ARGUMENT feature
223 + - difftool: use run_command() API in run_file_diff()
224 + - difftool: prepare "diff" cmdline in cmd_difftool()
225 + - difftool: prepare "struct child_process" in cmd_difftool()
226
493 - Test update.
227 + An oddball OPTION_ARGUMENT feature has been removed from the
228 + parse-options API.
229
230 Will merge to 'next'.
231
232
498 -* rs/no-mode-to-open-when-appending (2021-09-09) 1 commit
499 - - refs/files-backend: remove unused open mode parameter
233 +* po/git-config-doc-mentions-help-c (2021-09-13) 1 commit
234 + - doc: config, tell readers of `git help --config`
235
501 - The "mode" word is useless in a call to open(2) that does not
502 - create a new file. Such a call in the files backend of the ref
503 - subsystem has been cleaned up.
236 + Doc update.
237
238 Will merge to 'next'.
239
240
508 -* rs/setup-use-xopen-and-xdup (2021-09-09) 1 commit
509 - - setup: use xopen and xdup in sanitize_stdfds
241 +* pw/rebase-on-a-tag-fix (2021-09-13) 11 commits
242 + - rebase: dereference tags
243 + - rebase: use lookup_commit_reference_by_name()
244 + - rebase: use our standard error return value
245 + - rebase: remove redundant strbuf
246 + - t3407: rework rebase --quit tests
247 + - t3407: strengthen rebase --abort tests
248 + - t3407: use test_path_is_missing
249 + - t3407: rename a variable
250 + - t3407: use test_cmp_rev
251 + - t3407: use test_commit
252 + - t3407: run tests in $TEST_DIRECTORY
253
511 - Code clean-up.
254 + "git rebase <upstream> <tag>" failed when aborted in the middle, as
255 + it mistakenly tried to write the tag object instead of peeling it
256 + to HEAD.
257
513 - Will merge to 'next'.
514 -
515 -
516 -* rs/use-xopen-in-index-pack (2021-09-10) 1 commit
517 - - index-pack: use xopen in init_thread
258 + Expecting a reroll.
259
260 --------------------------------------------------
261 [Stalled]
@@ -605,16 +346,6 @@ Release tarballs are available at:
346 Looking good.
347
348
608 -* en/zdiff3 (2021-06-15) 2 commits
609 - - update documentation for new zdiff3 conflictStyle
610 - - xdiff: implement a zealous diff3, or "zdiff3"
611 -
612 - "Zealous diff3" style of merge conflict presentation has been added.
613 -
614 - Expecting a reroll.
615 - cf. <CABPp-BE7-E03+x38EK-=AE5mwwdST+d50hiiud2eY2Nsf3rM5g@mail.gmail.com>
616 -
617 -
349 * ao/p4-avoid-decoding (2021-04-12) 2 commits
350 - git-p4: do not decode data from perforce by default
351 - git-p4: avoid decoding more data from perforce
@@ -672,6 +403,129 @@ Release tarballs are available at:
403 --------------------------------------------------
404 [Cooking]
405
406 +* en/zdiff3 (2021-09-12) 2 commits
407 + - update documentation for new zdiff3 conflictStyle
408 + - xdiff: implement a zealous diff3, or "zdiff3"
409 +
410 + "Zealous diff3" style of merge conflict presentation has been added.
411 +
412 +
413 +* en/stash-df-fix (2021-09-10) 3 commits
414 + - stash: restore untracked files AFTER restoring tracked files
415 + - stash: avoid feeding directories to update-index
416 + - t3903: document a pair of directory/file bugs
417 +
418 + Fix "git stash" corner case where the tentative change involves
419 + changing a directory to a file (or vice versa).
420 +
421 +
422 +* js/pull-release-packs-before-fetching (2021-09-08) 2 commits
423 + + pull: release packs before fetching
424 + + commit-graph: when closing the graph, also release the slab
425 + (this branch is used by js/run-command-close-packs.)
426 +
427 + "git pull" was taught to close open file descriptors to the
428 + packfiles before spawning "git fetch" to help auto-gc that may be
429 + invoked by it.
430 +
431 +
432 +* ab/http-drop-old-curl-plus (2021-09-13) 9 commits
433 + - http: don't hardcode the value of CURL_SOCKOPT_OK
434 + - http: centralize the accounting of libcurl dependencies
435 + - http: correct curl version check for CURLOPT_PINNEDPUBLICKEY
436 + - http: correct version check for CURL_HTTP_VERSION_2
437 + - http: drop support for curl < 7.18.0 (again)
438 + - Makefile: drop support for curl < 7.9.8 (again)
439 + - INSTALL: mention that we need libcurl 7.19.4 or newer to build
440 + - INSTALL: reword and copy-edit the "libcurl" section
441 + - INSTALL: don't mention the "curl" executable at all
442 +
443 + Conditional compilation around versions of libcURL has been
444 + straightened out.
445 +
446 + Will merge to 'next'.
447 +
448 +
449 +* ds/mergies-with-sparse-index (2021-09-09) 6 commits
450 + (merged to 'next' on 2021-09-12 at 1535fa2dae)
451 + + sparse-index: integrate with cherry-pick and rebase
452 + + sequencer: ensure full index if not ORT strategy
453 + + t1092: add cherry-pick, rebase tests
454 + + merge-ort: expand only for out-of-cone conflicts
455 + + merge: make sparse-aware with ORT
456 + + diff: ignore sparse paths in diffstat
457 + (this branch is used by ds/add-rm-with-sparse-index; uses ds/sparse-index-ignored-files.)
458 +
459 + Various mergy operations have been prepared to work efficiently
460 + with the sparse index.
461 +
462 + Will merge to 'master'.
463 +
464 +
465 +* js/run-command-close-packs (2021-09-09) 4 commits
466 + (merged to 'next' on 2021-09-12 at 97c3614c78)
467 + + Close object store closer to spawning child processes
468 + + run_auto_maintenance(): implicitly close the object store
469 + + run-command: offer to close the object store before running
470 + + run-command: prettify the `RUN_COMMAND_*` flags
471 + (this branch uses js/pull-release-packs-before-fetching.)
472 +
473 + The run-command API has been updated so that the callers can easily
474 + ask the file descriptors open for packfiles to be closed immediately
475 + before spawning commands that may trigger auto-gc.
476 +
477 + Will merge to 'master'.
478 +
479 +
480 +* jt/add-submodule-odb-clean-up (2021-09-09) 3 commits
481 + - revision: remove "submodule" from opt struct
482 + - repository: support unabsorbed in repo_submodule_init
483 + - submodule: remove unnecessary unabsorbed fallback
484 + (this branch uses jt/grep-wo-submodule-odb-as-alternate.)
485 +
486 + More code paths that uses the hack to add submodule's object
487 + database to the set of alternate object store have been cleaned up.
488 +
489 +
490 +* jx/ci-l10n (2021-09-09) 1 commit
491 + - ci: new github-action for git-l10n code review
492 +
493 + CI help for l10n.
494 +
495 +
496 +* jk/t5562-racefix (2021-09-09) 1 commit
497 + (merged to 'next' on 2021-09-12 at 22d4bfa14b)
498 + + t5562: use alarm() to interrupt timed child-wait
499 +
500 + Test update.
501 +
502 + Will merge to 'master'.
503 +
504 +
505 +* rs/no-mode-to-open-when-appending (2021-09-09) 1 commit
506 + (merged to 'next' on 2021-09-12 at a3ea25c5f1)
507 + + refs/files-backend: remove unused open mode parameter
508 +
509 + The "mode" word is useless in a call to open(2) that does not
510 + create a new file. Such a call in the files backend of the ref
511 + subsystem has been cleaned up.
512 +
513 + Will merge to 'master'.
514 +
515 +
516 +* rs/setup-use-xopen-and-xdup (2021-09-09) 1 commit
517 + (merged to 'next' on 2021-09-12 at 544b481d15)
518 + + setup: use xopen and xdup in sanitize_stdfds
519 +
520 + Code clean-up.
521 +
522 + Will merge to 'master'.
523 +
524 +
525 +* rs/use-xopen-in-index-pack (2021-09-10) 1 commit
526 + - index-pack: use xopen in init_thread
527 +
528 +
529 * bs/install-strip (2021-09-05) 1 commit
530 (merged to 'next' on 2021-09-08 at 40cfa71c8d)
531 + make: add INSTALL_STRIP option variable
@@ -774,15 +628,6 @@ Release tarballs are available at:
628 Will merge to 'master'.
629
630
777 -* kr/doc-webserver-config-for-v2 (2021-09-07) 1 commit
778 - - Docs: web server must setenv GIT_PROTOCOL for v2
779 -
780 - Hints to set GIT_PROTOCOL environment in various CGI environments
781 - are added to the documentation.
782 -
783 - Will discard.
784 -
785 -
631 * rs/range-diff-avoid-segfault-with-I (2021-09-07) 1 commit
632 (merged to 'next' on 2021-09-10 at e8bac5f9ea)
633 + range-diff: avoid segfault with -I
@@ -889,21 +734,20 @@ Release tarballs are available at:
734
735 The "--preserve-merges" option of "git rebase" has been removed.
736
892 - Will merge to 'master'.
737 + Will cook in 'next'.
738
739
895 -* mr/bisect-in-c-4 (2021-09-02) 6 commits
740 +* mr/bisect-in-c-4 (2021-09-13) 6 commits
741 - bisect--helper: retire `--bisect-next-check` subcommand
897 - - bisect--helper: reimplement `bisect_run` shell
898 - - bisect--helper: reimplement `bisect_visualize()`shell function in C
742 + - bisect--helper: reimplement `bisect_run` shell function in C
743 + - bisect--helper: reimplement `bisect_visualize()` shell function in C
744 - run-command: make `exists_in_PATH()` non-static
745 - t6030-bisect-porcelain: add test for bisect visualize
746 - t6030-bisect-porcelain: add tests to control bisect run exit cases
747
748 Rewrite of "git bisect" in C continues.
749
905 - Expecting a reroll.
906 - cf. <xmqqtuj2h7cp.fsf@gitster.g>
750 + Will merge to 'next'.
751
752
753 * en/remerge-diff (2021-08-31) 7 commits
@@ -957,14 +801,15 @@ Release tarballs are available at:
801
802
803 * ab/unbundle-progress (2021-09-07) 4 commits
960 - - bundle: show progress on "unbundle"
961 - - index-pack: add --progress-title option
962 - - bundle API: change "flags" to be "extra_index_pack_args"
963 - - bundle API: start writing API documentation
804 + (merged to 'next' on 2021-09-12 at d7bacb391e)
805 + + bundle: show progress on "unbundle"
806 + + index-pack: add --progress-title option
807 + + bundle API: change "flags" to be "extra_index_pack_args"
808 + + bundle API: start writing API documentation
809
810 Add progress display to "git bundle unbundle".
811
967 - Will merge to 'next'.
812 + Will merge to 'master'.
813
814
815 * lh/systemd-timers (2021-09-07) 3 commits
@@ -996,32 +841,34 @@ Release tarballs are available at:
841
842
843 * ar/submodule-run-update-procedure (2021-08-24) 1 commit
999 - - submodule--helper: run update procedures from C
844 + (merged to 'next' on 2021-09-12 at fbe417715d)
845 + + submodule--helper: run update procedures from C
846
847 Reimplementation of parts of "git submodule" in C continues.
848
1003 - Will merge to 'next'.
849 + Will merge to 'master'.
850
851
852 * ds/sparse-index-ignored-files (2021-09-07) 10 commits
1007 - - sparse-checkout: clear tracked sparse dirs
1008 - - sparse-index: add SPARSE_INDEX_MEMORY_ONLY flag
1009 - - attr: be careful about sparse directories
1010 - - sparse-checkout: create helper methods
1011 - - sparse-index: use WRITE_TREE_MISSING_OK
1012 - - sparse-index: silently return when cache tree fails
1013 - - unpack-trees: fix nested sparse-dir search
1014 - - sparse-index: silently return when not using cone-mode patterns
1015 - - t7519: rewrite sparse index test
1016 - - Merge branch 'ds/add-with-sparse-index' into ds/sparse-index-ignored-files
1017 - (this branch is used by ds/mergies-with-sparse-index and sg/test-split-index-fix.)
853 + (merged to 'next' on 2021-09-12 at 6993c73000)
854 + + sparse-checkout: clear tracked sparse dirs
855 + + sparse-index: add SPARSE_INDEX_MEMORY_ONLY flag
856 + + attr: be careful about sparse directories
857 + + sparse-checkout: create helper methods
858 + + sparse-index: use WRITE_TREE_MISSING_OK
859 + + sparse-index: silently return when cache tree fails
860 + + unpack-trees: fix nested sparse-dir search
861 + + sparse-index: silently return when not using cone-mode patterns
862 + + t7519: rewrite sparse index test
863 + + Merge branch 'ds/add-with-sparse-index' into ds/sparse-index-ignored-files
864 + (this branch is used by ds/add-rm-with-sparse-index, ds/mergies-with-sparse-index and sg/test-split-index-fix.)
865
866 In cone mode, the sparse-index codepath learned to remove ignored
867 files (like build artifacts) outside the sparse cone, allowing the
868 entire directory outside the sparse cone to be removed, which is
869 especially useful when the sparse patterns change.
870
1024 - Will merge to 'next'.
871 + Will merge to 'master'.
872
873
874 * jt/grep-wo-submodule-odb-as-alternate (2021-09-08) 8 commits
@@ -1044,21 +891,22 @@ Release tarballs are available at:
891
892
893 * ar/submodule-add-more (2021-08-10) 10 commits
1047 - - submodule--helper: rename compute_submodule_clone_url()
1048 - - submodule--helper: remove resolve-relative-url subcommand
1049 - - submodule--helper: remove add-config subcommand
1050 - - submodule--helper: remove add-clone subcommand
1051 - - submodule--helper: convert the bulk of cmd_add() to C
1052 - - dir: libify and export helper functions from clone.c
1053 - - submodule--helper: remove repeated code in sync_submodule()
1054 - - submodule--helper: refactor resolve_relative_url() helper
1055 - - submodule--helper: add options for compute_submodule_clone_url()
1056 - - Merge branch 'ar/submodule-add-config' into ar/submodule-add
894 + (merged to 'next' on 2021-09-12 at efebf6dad3)
895 + + submodule--helper: rename compute_submodule_clone_url()
896 + + submodule--helper: remove resolve-relative-url subcommand
897 + + submodule--helper: remove add-config subcommand
898 + + submodule--helper: remove add-clone subcommand
899 + + submodule--helper: convert the bulk of cmd_add() to C
900 + + dir: libify and export helper functions from clone.c
901 + + submodule--helper: remove repeated code in sync_submodule()
902 + + submodule--helper: refactor resolve_relative_url() helper
903 + + submodule--helper: add options for compute_submodule_clone_url()
904 + + Merge branch 'ar/submodule-add-config' into ar/submodule-add
905 (this branch uses ar/submodule-add-config.)
906
907 More parts of "git submodule add" has been rewritten in C.
908
1061 - Will merge to 'next'.
909 + Will merge to 'master'.
910
911
912 * ab/lib-subtest (2021-08-05) 11 commits
@@ -1105,12 +953,13 @@ Release tarballs are available at:
953
954
955 * ar/submodule-add-config (2021-08-10) 1 commit
1108 - - submodule--helper: introduce add-config subcommand
956 + (merged to 'next' on 2021-09-12 at fdabb4f0fc)
957 + + submodule--helper: introduce add-config subcommand
958 (this branch is used by ar/submodule-add-more.)
959
960 Large part of "git submodule add" gets rewritten in C.
961
1113 - Will merge to 'next'.
962 + Will merge to 'master'.
963
964
965 * dt/submodule-diff-fixes (2021-08-31) 3 commits
@@ -1155,15 +1004,16 @@ Release tarballs are available at:
1004
1005
1006 * ab/make-tags-cleanup (2021-08-05) 5 commits
1158 - - Makefile: normalize clobbering & xargs for tags targets
1159 - - Makefile: remove "cscope.out", not "cscope*" in cscope.out target
1160 - - Makefile: don't use "FORCE" for tags targets
1161 - - Makefile: add QUIET_GEN to "cscope" target
1162 - - Makefile: move ".PHONY: cscope" near its target
1007 + (merged to 'next' on 2021-09-12 at 79584f3c60)
1008 + + Makefile: normalize clobbering & xargs for tags targets
1009 + + Makefile: remove "cscope.out", not "cscope*" in cscope.out target
1010 + + Makefile: don't use "FORCE" for tags targets
1011 + + Makefile: add QUIET_GEN to "cscope" target
1012 + + Makefile: move ".PHONY: cscope" near its target
1013
1014 Build clean-up for "make tags" and friends.
1015
1166 - Will merge to 'next'.
1016 + Will merge to 'master'.
1017
1018
1019 * tb/multi-pack-bitmaps (2021-09-09) 29 commits
@@ -1198,6 +1048,7 @@ Release tarballs are available at:
1048 + pack-bitmap-write.c: free existing bitmaps
1049 + pack-bitmap-write.c: gracefully fail to write non-closed bitmaps
1050 + pack-bitmap.c: harden 'test_bitmap_walk()' to check type bitmaps
1051 + (this branch is used by tb/midx-write-propagate-namehash and tb/repack-write-midx.)
1052
1053 The reachability bitmap file used to be generated only for a single
1054 pack, but now we've learned to generate bitmaps for history that
@@ -1253,20 +1104,21 @@ Release tarballs are available at:
1104
1105
1106 * ab/serve-cleanup (2021-08-05) 10 commits
1256 - - upload-pack: document and rename --advertise-refs
1257 - - serve.[ch]: remove "serve_options", split up --advertise-refs code
1258 - - {upload,receive}-pack tests: add --advertise-refs tests
1259 - - serve.c: move version line to advertise_capabilities()
1260 - - serve: move transfer.advertiseSID check into session_id_advertise()
1261 - - serve.[ch]: don't pass "struct strvec *keys" to commands
1262 - - serve: use designated initializers
1263 - - transport: use designated initializers
1264 - - transport: rename "fetch" in transport_vtable to "fetch_refs"
1265 - - serve: mark has_capability() as static
1107 + (merged to 'next' on 2021-09-12 at ea87ede873)
1108 + + upload-pack: document and rename --advertise-refs
1109 + + serve.[ch]: remove "serve_options", split up --advertise-refs code
1110 + + {upload,receive}-pack tests: add --advertise-refs tests
1111 + + serve.c: move version line to advertise_capabilities()
1112 + + serve: move transfer.advertiseSID check into session_id_advertise()
1113 + + serve.[ch]: don't pass "struct strvec *keys" to commands
1114 + + serve: use designated initializers
1115 + + transport: use designated initializers
1116 + + transport: rename "fetch" in transport_vtable to "fetch_refs"
1117 + + serve: mark has_capability() as static
1118
1119 Code clean-up around "git serve".
1120
1269 - Will merge to 'next'.
1121 + Will merge to 'master'.
1122
1123
1124 * pw/diff-color-moved-fix (2021-08-05) 13 commits
@@ -1352,7 +1204,7 @@ Release tarballs are available at:
1204 [Discarded]
1205
1206 * np/blame-ignore-revs-file-may-be-optional (2021-08-09) 1 commit
1355 - - blame: add config `blame.ignoreRevsFileIsOptional`
1207 + . blame: add config `blame.ignoreRevsFileIsOptional`
1208
1209 When the file named by blame.ignoreRevsFile configuration variable
1210 does not exist, it causes "git blame" to die. Sometimes, it is
@@ -1369,10 +1221,10 @@ Release tarballs are available at:
1221
1222
1223 * ab/test-tool-cache-cleanup (2021-08-24) 4 commits
1372 - - read-cache perf: add a perf test for refresh_index()
1373 - - test-tool: migrate read-cache-again to parse_options()
1374 - - test-tool: migrate read-cache-perf to parse_options()
1375 - - test-tool: split up test-tool read-cache
1224 + . read-cache perf: add a perf test for refresh_index()
1225 + . test-tool: migrate read-cache-again to parse_options()
1226 + . test-tool: migrate read-cache-perf to parse_options()
1227 + . test-tool: split up test-tool read-cache
1228
1229 Test code shuffling.
1230
@@ -1380,9 +1232,30 @@ Release tarballs are available at:
1232 cf. <87tuj7xhqo.fsf@evledraar.gmail.com>
1233
1234 * ow/clone-bare-origin (2021-08-03) 1 commit
1383 - - clone: Allow combining --bare and --origin
1235 + . clone: Allow combining --bare and --origin
1236
1237 "git clone" did not like to take "--bare" and "--origin=X" at the
1238 same time; loosen the restriction.
1239
1240 cf. <20210802174944.53745-1-oystwa@gmail.com>
1241 +
1242 +
1243 +* jk/http-backend-handle-proto-header (2021-09-09) 1 commit
1244 + . http-backend: handle HTTP_GIT_PROTOCOL CGI variable
1245 +
1246 + Taking advantage of the CGI interface, http-backend has been
1247 + updated to enable protocol v2 automatically when the other side
1248 + asks for it.
1249 +
1250 + Discarded.
1251 + The jk/http-server-protocol-versions topic supersedes this.
1252 +
1253 +
1254 +* kr/doc-webserver-config-for-v2 (2021-09-07) 1 commit
1255 + . Docs: web server must setenv GIT_PROTOCOL for v2
1256 +
1257 + Hints to set GIT_PROTOCOL environment in various CGI environments
1258 + are added to the documentation.
1259 +
1260 + Discarded.
1261 + The jk/http-server-protocol-versions topic supersedes this.