What's cooking (2020/04 #01)

Junio C Hamano committed Apr 15, 2020 at 15:56 UTC 4883aa2d1f72d9fef6c6528efdbcb79d38552049
1 file changed +611 -192
whats-cooking.txt
+611 -192
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Mar 2020, #10; Tue, 31)
4 -X-master-at: 9fadedd637b312089337d73c3ed8447e9f0aa775
5 -X-next-at: 2183baf09cb5d1e1dd473e6d197893cd5e1c99ca
3 +Subject: What's cooking in git.git (Apr 2020, #01; Wed, 15)
4 +X-master-at: efe3874640e2e58209ddbb3b072f48f6b7094f34
5 +X-next-at: 55bc3eb7cb9c200ab95bbd2415bc0a35fbf29053
6
7 -What's cooking in git.git (Mar 2020, #10; Tue, 31)
7 +What's cooking in git.git (Apr 2020, #01; Wed, 15)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking. Commits prefixed with
@@ -12,8 +12,6 @@ Here are the topics that have been cooking. Commits prefixed with
12 '+' are in 'next'. The ones marked with '.' do not appear in any of
13 the integration branches, but I am still holding onto them.
14
15 -The 'next' branch has been rewound and rebuilt.
16 -
15 You can find the changes described here in the integration branches
16 of the repositories listed at
17
@@ -22,43 +20,389 @@ of the repositories listed at
20 --------------------------------------------------
21 [New Topics]
22
25 -* ag/rebase-merge-allow-ff-under-abbrev-command (2020-03-30) 2 commits
26 - - t3432: test `--merge' with `rebase.abbreviateCommands = true', too
27 - - sequencer: don't abbreviate a command if it doesn't have a short form
23 +* jk/use-quick-lookup-in-clone-for-tag-following (2020-04-01) 1 commit
24 + (merged to 'next' on 2020-04-15 at 11d6110e99)
25 + + clone: use "quick" lookup while following tags
26
29 - "git rebase" with the merge backend did not work well when the
30 - rebase.abbreviateCommands configuration was set.
27 + The logic to auto-follow tags by "git clone --single-branch" was
28 + not careful to avoid lazy-fetching unnecessary tags, which has been
29 + corrected.
30 +
31 + Will merge to 'master'.
32 +
33 +
34 +* ds/commit-graph-expiry-fix (2020-04-01) 1 commit
35 + - commit-graph: fix buggy --expire-time option
36 +
37 + "git commit-graph write --expire-time=<timestamp>" did not use the
38 + given timestamp correctly, which has been corrected.
39
40 Will merge to 'next'.
41
42
35 -* jk/oid-array-cleanups (2020-03-30) 7 commits
36 - - oidset: stop referring to sha1-array
37 - - ref-filter: stop referring to "sha1 array"
38 - - bisect: stop referring to sha1_array
39 - - test-tool: rename sha1-array to oid-array
40 - - oid_array: rename source file from sha1-array
41 - - oid_array: use size_t for iteration
42 - - oid_array: use size_t for count and allocation
43 +* ds/t5319-touch-fix (2020-04-01) 1 commit
44 + - t5319: replace 'touch -m' with 'test-tool chmtime'
45 +
46 + Tests update to use "test-chmtime" instead of "touch -t".
47 +
48 + Will merge to 'next'.
49 +
50 +
51 +* en/sequencer-reflog-action (2020-04-07) 1 commit
52 + (merged to 'next' on 2020-04-15 at 6c635bdaa1)
53 + + sequencer: honor GIT_REFLOG_ACTION
54 +
55 + "git rebase -i" did not leave the reflog entries correctly.
56 +
57 + Will merge to 'master'.
58 +
59 +
60 +* dd/no-gpg-sign (2020-04-03) 6 commits
61 + (merged to 'next' on 2020-04-15 at 3a326e99af)
62 + + Documentation: document merge option --no-gpg-sign
63 + + Documentation: merge commit-tree --[no-]gpg-sign
64 + + Documentation: reword commit --no-gpg-sign
65 + + Documentation: document am --no-gpg-sign
66 + + cherry-pick/revert: honour --no-gpg-sign in all case
67 + + rebase.c: honour --no-gpg-sign
68 +
69 + "git rebase" learned the "--no-gpg-sign" option to countermand
70 + commit.gpgSign the user may have.
71 +
72 + Will merge to 'master'.
73 +
74 +
75 +* en/rebase-doc-hooks-called-by-accident (2020-04-05) 1 commit
76 + - git-rebase.txt: add another hook to the hooks section, and explain more
77 +
78 + "git rebase" happens to call some hooks meant for "checkout" and
79 + "commit" by this was not a designed behaviour than historical
80 + accident. This has been documented.
81 +
82 + Will merge to 'next'.
83 +
84 +
85 +* jk/fast-import-use-hashmap (2020-04-06) 1 commit
86 + - fast-import: replace custom hash with hashmap.c
87 +
88 + The custom hash function used by "git fast-import" has been
89 + replaced with the one from hashmap.c, which gave us a nice
90 + performance boost.
91 +
92 + Will merge to 'next'.
93 +
94 +
95 +* js/t0007-typofix (2020-04-05) 1 commit
96 + (merged to 'next' on 2020-04-15 at ac9f86e08f)
97 + + t0007: fix a typo
98 +
99 + Typofix in a test script.
100 +
101 + Will merge to 'master'.
102 +
103 +
104 +* jt/avoid-prefetch-when-able-in-diff (2020-04-07) 4 commits
105 + - diff: restrict when prefetching occurs
106 + - diff: refactor object read
107 + - diff: make diff_populate_filespec_options struct
108 + - promisor-remote: accept 0 as oid_nr in function
109 +
110 + "git diff" in a partial clone learned to avoid lazy loading blob
111 + objects in more casese when they are not needed.
112 +
113 + Will merge to 'next'.
114 +
115 +
116 +* lx/submodule-clear-variables (2020-04-02) 1 commit
117 + - git-submodule.sh: setup uninitialized variables
118 +
119 + The "git submodule" command did not initialize a few variables it
120 + internally uses and was affected by variable settings leaked from
121 + the environment.
122 +
123 + Will merge to 'next'.
124 +
125 +
126 +* pb/pull-fetch-doc (2020-04-05) 2 commits
127 + (merged to 'next' on 2020-04-15 at cf530f230f)
128 + + pull doc: correct outdated description of an example
129 + + pull doc: refer to a specific section in 'fetch' doc
130 +
131 + The more aggressive updates to remote-tracking branches we had for
132 + the past 7 years or so were not reflected in the documentation,
133 + which has been corrected.
134 +
135 + Will merge to 'master'.
136 +
137 +
138 +* dd/ci-swap-azure-pipelines-with-github-actions (2020-04-10) 14 commits
139 + - ci: let GitHub Actions upload failed tests' directories
140 + - ci: add a problem matcher for GitHub Actions
141 + - tests: when run in Bash, annotate test failures with file name/line number
142 + - ci: retire the Azure Pipelines definition
143 + - README: add a build badge for the GitHub Actions runs
144 + - ci: configure GitHub Actions for CI/PR
145 + - ci: run gem with sudo to install asciidoctor
146 + - ci: explicit install all required packages
147 + - ci: fix the `jobname` of the `GETTEXT_POISON` job
148 + - ci/lib: set TERM environment variable if not exist
149 + - ci/lib: allow running in GitHub Actions
150 + - ci/lib: if CI type is unknown, show the environment variables
151 + - Merge branch 'dd/ci-musl-libc' into HEAD
152 + - Merge branch 'dd/test-with-busybox' into HEAD
153 + (this branch uses dd/ci-musl-libc and dd/test-with-busybox.)
154 +
155 + Update the CI configuration to use GitHub Actions, retiring the one
156 + based on Azure Pipelines.
157 +
158 + Will merge to 'next'.
159 +
160 +
161 +* eb/format-patch-no-encode-headers (2020-04-07) 1 commit
162 + (merged to 'next' on 2020-04-15 at 368840cd6c)
163 + + format-patch: teach --no-encode-email-headers
164 +
165 + The output from "git format-patch" uses RFC 2047 encoding for
166 + non-ASCII letters on From: and Subject: headers, so that it can
167 + directly be fed to e-mail programs. A new option has been added
168 + to produce these headers in raw.
169 +
170 + Will merge to 'master'.
171 +
172 +
173 +* js/mingw-fixes (2020-04-10) 3 commits
174 + (merged to 'next' on 2020-04-15 at 11a3d39d2b)
175 + + mingw: help debugging by optionally executing bash with strace
176 + + mingw: do not treat `COM0` as a reserved file name
177 + + mingw: use modern strftime implementation if possible
178 +
179 + Misc fixes for Windows.
180 +
181 + Will merge to 'master'.
182 +
183 +
184 +* js/stash-p-fix (2020-04-08) 2 commits
185 + - stash -p: (partially) fix bug concerning split hunks
186 + - t3904: fix incorrect demonstration of a bug
187 +
188 + Allowing the user to split a patch hunk while "git stash -p" does
189 + not work well; a band-aid has been added to make this (partially)
190 + work better.
191 +
192 + Will merge to 'next'.
193 +
194 +
195 +* js/subtree-doc-update-to-asciidoctor-2 (2020-04-08) 1 commit
196 + - subtree: fix build with AsciiDoctor 2
197 +
198 + Doc markup update.
199 +
200 + Will merge to 'next'.
201 +
202 +
203 +* pw/rebase-i-more-options (2020-04-07) 7 commits
204 + - SQUASH??? - avoid test numbering crashes
205 + - t3433: improve coverage
206 + - Revert "sequencer: allow callers of read_author_script() to ignore fields"
207 + - rebase -i: fix --committer-date-is-author-date
208 + - t3433: only compare commit dates
209 + - t3433: remove loops from tests
210 + - Revert "Revert "Merge branch 'ra/rebase-i-more-options'""
211 +
212 + "git rebase -i" learns a bit more options.
213 +
214 + Expecting a reroll.
215 + cf. <43d06bc0-b2ee-0ae6-f22c-9850e4033d45@gmail.com>
216 +
217 +
218 +* bc/constant-memequal (2020-04-09) 1 commit
219 + - builtin/receive-pack: use constant-time comparison for HMAC value
220 +
221 + Validation of push certificate has been made more robust against
222 + timing attacks.
223 +
224 + Will merge to 'next'.
225 +
226 +
227 +* ds/revision-show-pulls (2020-04-10) 1 commit
228 + (merged to 'next' on 2020-04-15 at 89b4d86a3a)
229 + + revision: --show-pulls adds helpful merges
230 +
231 + "git log" learned "--show-pulls" that helps pathspec limited
232 + history views; a merge commit that takes the whole change from a
233 + side branch, which is normally omitted from the output, is shown
234 + in addition to the commits that introduce real changes.
235 +
236 + Will merge to 'master'.
237 +
238 +
239 +* en/rebase-no-keep-empty (2020-04-11) 3 commits
240 + (merged to 'next' on 2020-04-15 at 9908cee7c0)
241 + + rebase: fix an incompatible-options error message
242 + + rebase: reinstate --no-keep-empty
243 + + rebase -i: mark commits that begin empty in todo editor
244 + (this branch is used by jt/rebase-allow-duplicate.)
245 +
246 + "git rebase" (again) learns to honor "--no-keep-empty", which lets
247 + the user to discard commits that are empty from the beginning (as
248 + opposed to the ones that become empty because of rebasing). The
249 + interactive rebase also marks commits that are empty in the todo.
250 +
251 + Will merge to 'master'.
252 +
253 +
254 +* jc/missing-ref-store-fix (2020-04-09) 2 commits
255 + (merged to 'next' on 2020-04-15 at 83caf48c7a)
256 + + repository: mark the "refs" pointer as private
257 + + sha1-name: do not assume that the ref store is initialized
258 +
259 + We've left the command line parsing of "git log :/a/b/" broken for
260 + about a full year without anybody noticing, which has been
261 + corrected.
262 +
263 + Will merge to 'master'.
264 +
265 +
266 +* jk/config-use-size-t (2020-04-10) 6 commits
267 + - config: reject parsing of files over INT_MAX
268 + - config: use size_t to store parsed variable baselen
269 + - git_config_parse_key(): return baselen as size_t
270 + - config: drop useless length variable in write_pair()
271 + - parse_config_key(): return subsection len as size_t
272 + - remote: drop auto-strlen behavior of make_branch() and make_rewrite()
273 +
274 + The config API made mixed uses of int and size_t types to represent
275 + length of various pieces of text it parsed, which has been updated
276 + to use the correct type (i.e. size_t) throughout.
277 +
278 + Will merge to 'next'.
279 +
280 +
281 +* js/flush-prompt-before-interative-input (2020-04-10) 2 commits
282 + (merged to 'next' on 2020-04-15 at 051407eb3a)
283 + + interactive: explicitly `fflush` stdout before expecting input
284 + + interactive: refactor code asking the user for interactive input
285 +
286 + The interactive input from various codepaths are consolidated and
287 + any prompt possibly issued earlier are fflush()ed before we read.
288 +
289 + Will merge to 'master'.
290 +
291 +
292 +* js/mingw-is-hidden-test-fix (2020-04-11) 3 commits
293 + (merged to 'next' on 2020-04-15 at 1e11f552f7)
294 + + t: restrict `is_hidden` to be called only on Windows
295 + + mingw: make test_path_is_hidden more robust
296 + + t: consolidate the `is_hidden` functions
297 +
298 + A Windows-specific test element has been made more robust against
299 + misuse from both user's environment and programmer's errors.
300 +
301 + Will merge to 'master'.
302 +
303 +
304 +* js/mingw-isilon-nfs (2020-04-10) 1 commit
305 + (merged to 'next' on 2020-04-15 at 4bac536980)
306 + + mingw: cope with the Isilon network file system
307 +
308 + Will merge to 'master'.
309 +
310 +
311 +* ma/config-doc-fix (2020-04-09) 1 commit
312 + (merged to 'next' on 2020-04-15 at 256175ec38)
313 + + config.txt: move closing "----" to cover entire listing
314 +
315 + Doc update.
316 +
317 + Will merge to 'master'.
318 +
319 +
320 +* ma/simplify-merge-config-parsing (2020-04-11) 1 commit
321 + (merged to 'next' on 2020-04-15 at d2915301e4)
322 + + merge: use skip_prefix to parse config key
323 +
324 + Code simplification.
325 +
326 + Will merge to 'master'.
327
44 - Code cleanup.
328 +
329 +* ds/blame-on-bloom (2020-04-13) 4 commits
330 + - blame: use changed-path Bloom filters
331 + - commit-graph: write commit-graph in more tests
332 + - commit: write commit-graph with Bloom filters
333 + - revision: complicated pathspecs disable filters
334 + (this branch uses gs/commit-graph-path-filter.)
335 +
336 + "git blame" learns to take advantage of the "changed-paths" Bloom
337 + filter stored in the commit-graph file.
338 +
339 +
340 +* dd/iso-8601-updates (2020-04-15) 2 commits
341 + - date.c: allow compact version of ISO-8601 datetime
342 + - date.c: skip fractional second part of ISO-8601
343 +
344 + The approxidate parser learns to parse seconds with fraction.
345
346 Will merge to 'next'.
347
348
49 -* jx/proc-receive-hook (2020-03-31) 7 commits
349 +* ds/log-exclude-decoration-config (2020-04-15) 2 commits
350 - SQUASH???
51 - - doc: add documentation for the proc-receive hook
52 - - receive-pack: refactor report for proc-receive
53 - - receive-pack: new config receive.procReceiveRefs
54 - - refs.c: refactor to reuse ref_is_hidden()
55 - - receive-pack: add new proc-receive hook
56 - - transport: not report a non-head push as a branch
351 + - log: add log.excludeDecoration config option
352 +
353 + The "--decorate-refs" and "--decorate-refs-exclude" options "git
354 + log" takes have learned a companion configuration variable
355 + log.excludeDecoration that sits at the lowest priority in the
356 + family.
357 +
358 + Getting there.
359 +
360 +
361 +* jk/credential-parsing-end-of-host-in-URL (2020-04-15) 1 commit
362 + (merged to 'next' on 2020-04-15 at 55bc3eb7cb)
363 + + credential: treat "?" and "#" in URLs as end of host
364 +
365 + Parsing of URL for the credential helper has been corrected.
366 +
367 + Will merge to 'master'.
368 +
369 +
370 +* lr/freshen-file-fix (2020-04-15) 1 commit
371 + - freshen_file(): use NULL `times' for implicit current-time
372 +
373 + The code that refreshes the last access and modified time of
374 + on-disk packfiles and loose object files have been updated.
375 +
376 + Will merge to 'next'.
377 +
378 +
379 +* tb/commit-graph-split-strategy (2020-04-15) 7 commits
380 + - commit-graph.c: introduce '--[no-]check-oids'
381 + - commit-graph.h: replace 'commit_hex' with 'commits'
382 + - oidset: introduce 'oidset_size'
383 + - builtin/commit-graph.c: introduce split strategy 'replace'
384 + - builtin/commit-graph.c: introduce split strategy 'no-merge'
385 + - builtin/commit-graph.c: support for '--split[=<strategy>]'
386 + - t/helper/test-read-graph.c: support commit-graph chains
387 +
388 + "git commit-graph write" learned different ways to write out split
389 + files.
390
391 --------------------------------------------------
392 [Stalled]
393
61 -* gs/commit-graph-path-filter (2020-03-30) 16 commits
394 +* mk/use-size-t-in-zlib (2018-10-15) 1 commit
395 + - zlib.c: use size_t for size
396 +
397 + The wrapper to call into zlib followed our long tradition to use
398 + "unsigned long" for sizes of regions in memory, which have been
399 + updated to use "size_t".
400 +
401 +--------------------------------------------------
402 +[Cooking]
403 +
404 +* gs/commit-graph-path-filter (2020-04-09) 16 commits
405 + - bloom: ignore renames when computing changed paths
406 - commit-graph: add GIT_TEST_COMMIT_GRAPH_CHANGED_PATHS test flag
407 - t4216: add end to end tests for git log with Bloom filters
408 - revision.c: add trace2 stats around Bloom filter usage
@@ -66,7 +410,6 @@ of the repositories listed at
410 - commit-graph: add --changed-paths option to write subcommand
411 - commit-graph: reuse existing Bloom filters during write
412 - commit-graph: write Bloom filters to commit graph file
69 - - diff: skip batch object download when possible
413 - commit-graph: examine commits by generation number
414 - commit-graph: examine changed-path objects in pack order
415 - commit-graph: compute Bloom filters for changed paths
@@ -75,28 +418,58 @@ of the repositories listed at
418 - bloom.c: introduce core Bloom filter constructs
419 - bloom.c: add the murmur3 hash implementation
420 - commit-graph: define and use MAX_NUM_CHUNKS
421 + (this branch is used by ds/blame-on-bloom.)
422
423 Introduce an extension to the commit-graph to make it efficient to
424 check for the paths that were modified at each commit using Bloom
425 filters.
426
83 - Expecting a reroll.
84 - cf. <fdcbd793-57c2-f5ea-ccb9-cf34e911b669@gmail.com>
85 - Breakage due to byte-order dependency reported.
427 + Getting there.
428
429
88 -* mk/use-size-t-in-zlib (2018-10-15) 1 commit
89 - - zlib.c: use size_t for size
430 +* ag/rebase-merge-allow-ff-under-abbrev-command (2020-03-30) 2 commits
431 + (merged to 'next' on 2020-04-15 at b4679f7c7c)
432 + + t3432: test `--merge' with `rebase.abbreviateCommands = true', too
433 + + sequencer: don't abbreviate a command if it doesn't have a short form
434
91 - The wrapper to call into zlib followed our long tradition to use
92 - "unsigned long" for sizes of regions in memory, which have been
93 - updated to use "size_t".
435 + "git rebase" with the merge backend did not work well when the
436 + rebase.abbreviateCommands configuration was set.
437 +
438 + Will merge to 'master'.
439 +
440 +
441 +* jk/oid-array-cleanups (2020-03-30) 7 commits
442 + (merged to 'next' on 2020-04-15 at d6155cd023)
443 + + oidset: stop referring to sha1-array
444 + + ref-filter: stop referring to "sha1 array"
445 + + bisect: stop referring to sha1_array
446 + + test-tool: rename sha1-array to oid-array
447 + + oid_array: rename source file from sha1-array
448 + + oid_array: use size_t for iteration
449 + + oid_array: use size_t for count and allocation
450 +
451 + Code cleanup.
452 +
453 + Will merge to 'master'.
454 +
455 +
456 +* jx/proc-receive-hook (2020-04-15) 8 commits
457 + - SQUASH???
458 + - doc: add documentation for the proc-receive hook
459 + - receive-pack: new config receive.procReceiveRefs
460 + - refs.c: refactor to reuse ref_is_hidden()
461 + - send-pack: extension for client-side status report
462 + - receive-pack: add new proc-receive hook
463 + - connect: export parse_feature_value()
464 + - transport: not report a non-head push as a branch
465 +
466 + "git receive-pack" that accepts requests by "git push" learned to
467 + outsource most of the ref updates to the new "proc-receive" hook.
468
95 ---------------------------------------------------
96 -[Cooking]
469
470 * dr/midx-avoid-int-underflow (2020-03-28) 1 commit
99 - - midx.c: fix an integer underflow
471 + (merged to 'next' on 2020-04-15 at eb2343a5eb)
472 + + midx.c: fix an integer underflow
473
474 When fed a midx that records no objects, some codepaths tried to
475 loop from 0 through (num_objects-1), which, due to integer
@@ -104,29 +477,36 @@ of the repositories listed at
477 bounds array accesses. The code has been corrected to reject such
478 an midx file.
479
107 - Will merge to 'next'.
480 + Will merge to 'master'.
481
482
483 * ak/run-command-on-cygwin-fix (2020-03-27) 1 commit
111 - - run-command: trigger PATH lookup properly on Cygwin
484 + (merged to 'next' on 2020-04-15 at 9e98b82a7f)
485 + + run-command: trigger PATH lookup properly on Cygwin
486
487 Utitiles run via the run_command() API were not spawned correctly
488 on Cygwin, when the paths to them are given as a full path with
489 backslashes.
490
117 - Will merge to 'next'.
491 + Will merge to 'master'.
492
493
120 -* dd/ci-musl-libc (2020-03-29) 3 commits
494 +* dd/ci-musl-libc (2020-04-06) 6 commits
495 - travis: build and test on Linux with musl libc and busybox
496 + - ci/linux32: libify install-dependencies step
497 - ci: refactor docker runner script
123 - - ci: libify logic for usage and checking CI_USER
498 + - ci/linux32: parameterise command to switch arch
499 + - ci/lib-docker: preserve required environment variables
500 + - ci: make MAKEFLAGS available inside the Docker container in the Linux32 job
501 + (this branch is used by dd/ci-swap-azure-pipelines-with-github-actions.)
502
503 A new CI job to build and run test suite on linux with musl libc
504 has been added.
505
506 + Will merge to 'next'.
507 +
508
129 -* dr/doc-recurse-submodules (2020-03-27) 5 commits
509 +* dr/doc-recurse-submodules (2020-04-06) 5 commits
510 - doc: --recurse-submodules mostly applies to active submodules
511 - doc: be more precise on (fetch|push).recurseSubmodules
512 - doc: explain how to deactivate submodule.recurse completely
@@ -135,13 +515,13 @@ of the repositories listed at
515
516 Documentation updates around the "--recurse-submodules" option.
517
138 - Getting there...
139 - cf. <F03FAA2F-EDFB-4497-A4E8-3AC267C779FC@gmail.com>
140 - cf. <1EA4CEB1-D329-4916-A9AC-2F64A7A4F6D0@gmail.com>
518 + Will merge to 'next'.
519
520
143 -* dr/push-remoteref-fix (2020-03-27) 1 commit
144 - - remote.c: fix handling of %(push:remoteref)
521 +* dr/push-remoteref-fix (2020-04-06) 2 commits
522 + (merged to 'next' on 2020-04-15 at ecf60dc488)
523 + + remote.c: fix handling of %(push:remoteref)
524 + + remote.c: fix %(push) for triangular workflows
525
526 The "%(push:remoteref)" placeholder in the "--format=" argument of
527 "git format-patch" (and friends) only showed what got explicitly
@@ -149,8 +529,7 @@ of the repositories listed at
529 "git push" was used, as it ignored the default behaviour (e.g. update
530 the same ref as the source).
531
152 - Expecting a reroll.
153 - cf. <20200328222546.gvrtzkcazf3bhjno@doriath>
532 + Will merge to 'master'.
533
534
535 * jc/doc-test-leaving-early (2020-03-29) 1 commit
@@ -162,46 +541,51 @@ of the repositories listed at
541 Will merge to 'next'.
542
543
165 -* jk/build-with-right-curl (2020-03-27) 2 commits
544 +* jk/build-with-right-curl (2020-04-05) 3 commits
545 + - Makefile: avoid running curl-config unnecessarily
546 - Makefile: use curl-config --cflags
547 - Makefile: avoid running curl-config multiple times
548
549 The build procedure did not use the libcurl library and its include
550 files correctly for a custom-built installation.
551
172 - Will merge to 'next'.
552 + On hold.
553 + cf. <20200404145829.GB679473@coredump.intra.peff.net>
554
555
556 * jk/harden-protocol-v2-delim-handling (2020-03-29) 3 commits
176 - - test-lib-functions: simplify packetize() stdin code
177 - - upload-pack: handle unexpected delim packets
178 - - test-lib-functions: make packetize() more efficient
557 + (merged to 'next' on 2020-04-15 at c983535405)
558 + + test-lib-functions: simplify packetize() stdin code
559 + + upload-pack: handle unexpected delim packets
560 + + test-lib-functions: make packetize() more efficient
561
562 The server-end of the v2 protocol to serve "git clone" and "git
563 fetch" was not prepared to see a delim packets at unexpected
564 places, which led to a crash.
565
184 - Will merge to 'next'.
566 + Will merge to 'master'.
567
568
569 * jk/p5310-drop-non-bitmap-timing (2020-03-27) 1 commit
188 - - p5310: stop timing non-bitmap pack-to-disk
570 + (merged to 'next' on 2020-04-15 at 7aac76cab2)
571 + + p5310: stop timing non-bitmap pack-to-disk
572
573 Perf-test update.
574
192 - Will merge to 'next'.
575 + Will merge to 'master'.
576
577
578 * jk/test-cleanup (2020-03-27) 2 commits
196 - - t/lib-*.sh: drop executable bit
197 - - t/lib-credential.sh: drop shebang line
579 + (merged to 'next' on 2020-04-15 at bce8b2d5ed)
580 + + t/lib-*.sh: drop executable bit
581 + + t/lib-credential.sh: drop shebang line
582
583 Test cleanup.
584
201 - Will merge to 'next'.
585 + Will merge to 'master'.
586
587
204 -* ps/transactional-update-ref-stdin (2020-03-30) 9 commits
588 +* ps/transactional-update-ref-stdin (2020-04-02) 9 commits
589 - update-ref: implement interactive transaction handling
590 - update-ref: read commands in a line-wise fashion
591 - update-ref: move transaction handling into `update_refs_stdin()`
@@ -217,54 +601,63 @@ of the repositories listed at
601 as an ingredient to implement two-phase commit-style atomic
602 ref-updates across multiple repositories.
603
220 - Good start, but suspect not quite there yet.
221 - cf. <xmqqo8she9yp.fsf@gitster.c.googlers.com>
604 + Will merge to 'next'.
605
606
607 * ag/sequencer-i18n-messages (2020-03-28) 1 commit
225 - - sequencer: mark messages for translation
608 + (merged to 'next' on 2020-04-15 at d6b38d12cf)
609 + + sequencer: mark messages for translation
610
611 Message fix.
612
229 - Will merge to 'next'.
613 + Will merge to 'master'.
614
615
616 * dl/wrapper-fix-indentation (2020-03-28) 1 commit
233 - - wrapper: indent with tabs
617 + (merged to 'next' on 2020-04-15 at e6b9c16b1b)
618 + + wrapper: indent with tabs
619
620 Coding style fix.
621
237 - Will merge to 'next'.
622 + Will merge to 'master'.
623
624
625 * en/pull-do-not-rebase-after-fast-forwarding (2020-03-27) 1 commit
241 - - pull: avoid running both merge and rebase
626 + (merged to 'next' on 2020-04-15 at 3aa725ff45)
627 + + pull: avoid running both merge and rebase
628
629 "git pull --rebase" tried to run a rebase even after noticing that
630 the pull results in a fast-forward and no rebase is needed nor
631 sensible, for the past few years due to a mistake nobody noticed.
632
247 - Will merge to 'next'.
633 + Will merge to 'master'.
634
635
636 * jc/allow-strlen-substitution-in-shell-scripts (2020-03-29) 1 commit
251 - - CodingGuidelines: allow ${#posix} == strlen($posix)
637 + (merged to 'next' on 2020-04-15 at 262424efdc)
638 + + CodingGuidelines: allow ${#posix} == strlen($posix)
639
640 Coding guideline update.
641
642 + Will merge to 'master'.
643 +
644
645 * jm/gitweb-fastcgi-utf8 (2020-03-29) 1 commit
257 - - gitweb: fix UTF-8 encoding when using CGI::Fast
646 + (merged to 'next' on 2020-04-15 at adb7f2373a)
647 + + gitweb: fix UTF-8 encoding when using CGI::Fast
648
649 Gitweb update.
650
651 + Will merge to 'master'.
652 +
653
654 * js/walk-doc-optim (2020-03-30) 1 commit
263 - - MyFirstObjectWalk: remove unnecessary conditional statement
655 + (merged to 'next' on 2020-04-15 at ca36c04a23)
656 + + MyFirstObjectWalk: remove unnecessary conditional statement
657
658 Code cleanup.
659
267 - Will merge to 'next'.
660 + Will merge to 'master'.
661
662
663 * jx/atomic-push (2020-03-29) 4 commits
@@ -279,7 +672,8 @@ of the repositories listed at
672 Will merge to 'next'.
673
674
282 -* ma/doc-discard-docbook-xsl-1.73 (2020-03-29) 6 commits
675 +* ma/doc-discard-docbook-xsl-1.73 (2020-03-31) 7 commits
676 + - user-manual.conf: don't specify [listingblock]
677 - INSTALL: drop support for docbook-xsl before 1.74
678 - manpage-normal.xsl: fold in manpage-base.xsl
679 - manpage-bold-literal.xsl: stop using git.docbook.backslash
@@ -295,56 +689,63 @@ of the repositories listed at
689
690
691 * pb/rebase-doc-typofix (2020-03-28) 1 commit
298 - - git-rebase.txt: fix typo
692 + (merged to 'next' on 2020-04-15 at 8cd8422990)
693 + + git-rebase.txt: fix typo
694
695 Typofix.
696
302 - Will merge to 'next'.
697 + Will merge to 'master'.
698
699
700 * rs/pull-options-sync-code-and-doc (2020-03-28) 2 commits
306 - - pull: pass documented fetch options on
307 - - pull: remove --update-head-ok from documentation
701 + (merged to 'next' on 2020-04-15 at d743f43034)
702 + + pull: pass documented fetch options on
703 + + pull: remove --update-head-ok from documentation
704
705 "git pull" shares many options with underlying "git fetch", but
706 some of them were not documented and some of those that would make
707 sense to pass down were not passed down.
708
313 - Will merge to 'next'.
709 + Will merge to 'master'.
710
711
316 -* en/fill-directory-exponential (2020-03-26) 7 commits
712 +* en/fill-directory-exponential (2020-04-01) 12 commits
713 + - completion: fix 'git add' on paths under an untracked directory
714 + - Fix error-prone fill_directory() API; make it only return matches
715 + - dir: replace double pathspec matching with single in treat_directory()
716 + - dir: include DIR_KEEP_UNTRACKED_CONTENTS handling in treat_directory()
717 - dir: replace exponential algorithm with a linear one
718 - dir: refactor treat_directory to clarify control flow
719 - dir: fix confusion based on variable tense
720 - dir: fix broken comment
721 - dir: consolidate treat_path() and treat_one_path()
722 - dir: fix simple typo in comment
723 + - t3000: add more testcases testing a variety of ls-files issues
724 - t7063: more thorough status checking
725
726 The directory traversal code had redundant recursive calls which
727 made its performance characteristics exponential with respect to
728 the depth of the tree, which was corrected.
729
329 - Expecting a reroll.
330 - cf. <pull.700.v4.git.git.1585258061.gitgitgadget@gmail.com> (v4)
331 - cf. <CABPp-BFXWx_MPL1Z0-X5hHf0N1T_13TEbAhVTKh6-atO1+g90Q@mail.gmail.com>
730 + Is this ready for 'next'?
731
732
733 * dd/test-with-busybox (2020-03-26) 8 commits
335 - - t5703: feed raw data into test-tool unpack-sideband
336 - - t4124: tweak test so that non-compliant diff(1) can also be used
337 - - t7063: drop non-POSIX argument "-ls" from find(1)
338 - - t5616: use rev-parse instead to get HEAD's object_id
339 - - t5003: skip conversion test if unzip -a is unavailable
340 - - t5003: drop the subshell in test_lazy_prereq
341 - - test-lib-functions: test_cmp: eval $GIT_TEST_CMP
342 - - t4061: use POSIX compliant regex(7)
734 + (merged to 'next' on 2020-04-15 at 8177191066)
735 + + t5703: feed raw data into test-tool unpack-sideband
736 + + t4124: tweak test so that non-compliant diff(1) can also be used
737 + + t7063: drop non-POSIX argument "-ls" from find(1)
738 + + t5616: use rev-parse instead to get HEAD's object_id
739 + + t5003: skip conversion test if unzip -a is unavailable
740 + + t5003: drop the subshell in test_lazy_prereq
741 + + test-lib-functions: test_cmp: eval $GIT_TEST_CMP
742 + + t4061: use POSIX compliant regex(7)
743 + (this branch is used by dd/ci-swap-azure-pipelines-with-github-actions.)
744
745 Various tests have been updated to work around issues found with
746 shell utilities that come with busybox etc.
747
347 - Will merge to 'next'.
748 + Will merge to 'master'.
749
750
751 * dl/libify-a-few (2020-03-24) 2 commits
@@ -360,47 +761,50 @@ of the repositories listed at
761
762
763 * dl/test-must-fail-fixes-3 (2020-03-27) 8 commits
363 - - t5801: teach compare_refs() to accept !
364 - - t5612: stop losing return codes of git commands
365 - - t5612: don't use `test_must_fail test_cmp`
366 - - t5607: reorder `nongit test_must_fail`
367 - - t5550: simplify no matching line check
368 - - t5512: stop losing return codes of git commands
369 - - t5512: stop losing git exit code in here-docs
370 - - t5512: don't use `test_must_fail test_cmp`
764 + (merged to 'next' on 2020-04-15 at dd0130c158)
765 + + t5801: teach compare_refs() to accept !
766 + + t5612: stop losing return codes of git commands
767 + + t5612: don't use `test_must_fail test_cmp`
768 + + t5607: reorder `nongit test_must_fail`
769 + + t5550: simplify no matching line check
770 + + t5512: stop losing return codes of git commands
771 + + t5512: stop losing git exit code in here-docs
772 + + t5512: don't use `test_must_fail test_cmp`
773
774 Test clean-up continues.
775
374 - Will merge to 'next'.
776 + Will merge to 'master'.
777
778
779 * en/sparse-checkout (2020-03-27) 18 commits
378 - - sparse-checkout: provide a new reapply subcommand
379 - - unpack-trees: failure to set SKIP_WORKTREE bits always just a warning
380 - - unpack-trees: provide warnings on sparse updates for unmerged paths too
381 - - unpack-trees: make sparse path messages sound like warnings
382 - - unpack-trees: split display_error_msgs() into two
383 - - unpack-trees: rename ERROR_* fields meant for warnings to WARNING_*
384 - - unpack-trees: move ERROR_WOULD_LOSE_SUBMODULE earlier
385 - - sparse-checkout: use improved unpack_trees porcelain messages
386 - - sparse-checkout: use new update_sparsity() function
387 - - unpack-trees: add a new update_sparsity() function
388 - - unpack-trees: pull sparse-checkout pattern reading into a new function
389 - - unpack-trees: do not mark a dirty path with SKIP_WORKTREE
390 - - unpack-trees: allow check_updates() to work on a different index
391 - - t1091: make some tests a little more defensive against failures
392 - - unpack-trees: simplify pattern_list freeing
393 - - unpack-trees: simplify verify_absent_sparse()
394 - - unpack-trees: remove unused error type
395 - - unpack-trees: fix minor typo in comment
780 + (merged to 'next' on 2020-04-15 at 3e295e445d)
781 + + sparse-checkout: provide a new reapply subcommand
782 + + unpack-trees: failure to set SKIP_WORKTREE bits always just a warning
783 + + unpack-trees: provide warnings on sparse updates for unmerged paths too
784 + + unpack-trees: make sparse path messages sound like warnings
785 + + unpack-trees: split display_error_msgs() into two
786 + + unpack-trees: rename ERROR_* fields meant for warnings to WARNING_*
787 + + unpack-trees: move ERROR_WOULD_LOSE_SUBMODULE earlier
788 + + sparse-checkout: use improved unpack_trees porcelain messages
789 + + sparse-checkout: use new update_sparsity() function
790 + + unpack-trees: add a new update_sparsity() function
791 + + unpack-trees: pull sparse-checkout pattern reading into a new function
792 + + unpack-trees: do not mark a dirty path with SKIP_WORKTREE
793 + + unpack-trees: allow check_updates() to work on a different index
794 + + t1091: make some tests a little more defensive against failures
795 + + unpack-trees: simplify pattern_list freeing
796 + + unpack-trees: simplify verify_absent_sparse()
797 + + unpack-trees: remove unused error type
798 + + unpack-trees: fix minor typo in comment
799
800 "sparse-checkout" UI improvements.
801
399 - Will merge to 'next'.
802 + Will merge to 'master'.
803
804
805 * js/import-tars-do-not-make-phony-files-from-pax-headers (2020-03-24) 1 commit
403 - - import-tars: ignore the global PAX header
806 + (merged to 'next' on 2020-04-15 at 408afae2c9)
807 + + import-tars: ignore the global PAX header
808
809 The import-tars importer (in contrib/fast-import/) used to create
810 phony files at the top-level of the repository when the archive
@@ -408,33 +812,36 @@ of the repositories listed at
812 omit the common leading directory ineffective, which has been
813 corrected.
814
411 - Will merge to 'next'.
815 + Will merge to 'master'.
816
817
818 * js/test-junit-finalization-fix (2020-03-23) 1 commit
415 - - tests(junit-xml): avoid invalid XML
819 + (merged to 'next' on 2020-04-15 at 0d6a975146)
820 + + tests(junit-xml): avoid invalid XML
821
822 Test fix.
823
419 - Will merge to 'next'.
824 + Will merge to 'master'.
825
826
827 * js/tests-gpg-integration-on-windows (2020-03-26) 5 commits
423 - - tests: increase the verbosity of the GPG-related prereqs
424 - - tests: turn GPG, GPGSM and RFC1991 into lazy prereqs
425 - - tests: do not let lazy prereqs inside `test_expect_*` turn off tracing
426 - - t/lib-gpg.sh: stop pretending to be a stand-alone script
427 - - tests(gpg): allow the gpg-agent to start on Windows
828 + (merged to 'next' on 2020-04-15 at 48a13eb0b2)
829 + + tests: increase the verbosity of the GPG-related prereqs
830 + + tests: turn GPG, GPGSM and RFC1991 into lazy prereqs
831 + + tests: do not let lazy prereqs inside `test_expect_*` turn off tracing
832 + + t/lib-gpg.sh: stop pretending to be a stand-alone script
833 + + tests(gpg): allow the gpg-agent to start on Windows
834
835 Enable tests that require GnuPG on Windows.
836
431 - Will merge to 'next'.
837 + Will merge to 'master'.
838
839
434 -* dl/merge-autostash (2020-03-24) 19 commits
840 +* dl/merge-autostash (2020-04-10) 22 commits
841 - pull: pass --autostash to merge
842 - t5520: make test_pull_autostash() accept expect_parent_num
843 - merge: teach --autostash option
844 + - sequencer: implement apply_autostash_oid()
845 - sequencer: implement save_autostash()
846 - sequencer: unlink autostash in apply_autostash()
847 - sequencer: extract perform_autostash() from rebase
@@ -443,12 +850,14 @@ of the repositories listed at
850 - reset: extract reset_head() from rebase
851 - rebase: generify reset_head()
852 - rebase: use apply_autostash() from sequencer.c
446 - - sequencer: make apply_rebase() accept a path
853 + - sequencer: rename stash_sha1 to stash_oid
854 + - sequencer: make apply_autostash() accept a path
855 - rebase: use read_oneliner()
856 - sequencer: make read_oneliner() extern
857 - sequencer: configurably warn on non-existent files
858 - sequencer: make read_oneliner() accept flags
451 - - sequencer: use file strbuf for read_oneliner()
859 + - sequencer: make file exists check more efficient
860 + - sequencer: stop leaking buf
861 - t7600: use test_write_lines()
862 - Makefile: ASCII-sort += lists
863
@@ -458,89 +867,96 @@ of the repositories listed at
867
868
869 * js/trace2-env-vars (2020-03-23) 1 commit
461 - - trace2: teach Git to log environment variables
870 + (merged to 'next' on 2020-04-15 at 1aad0adfa0)
871 + + trace2: teach Git to log environment variables
872
873 Trace2 enhancement to allow logging of the environment variables.
874
465 - Will merge to 'next'.
875 + Will merge to 'master'.
876
877
878 * ar/test-style-fixes (2020-03-22) 2 commits
469 - - t: fix whitespace around &&
470 - - t9500: remove spaces after redirect operators
879 + (merged to 'next' on 2020-04-15 at 50ed75bccf)
880 + + t: fix whitespace around &&
881 + + t9500: remove spaces after redirect operators
882
883 Style fixes.
884
474 - Will merge to 'next'.
885 + Will merge to 'master'.
886
887
888 * ds/doc-clone-filter (2020-03-22) 1 commit
478 - - clone: document --filter options
889 + (merged to 'next' on 2020-04-15 at 16276689b3)
890 + + clone: document --filter options
891
892 Doc update.
893
482 - Will merge to 'next'.
894 + Will merge to 'master'.
895
896
897 * jk/t3419-drop-expensive-tests (2020-03-22) 1 commit
486 - - t3419: drop EXPENSIVE tests
898 + (merged to 'next' on 2020-04-15 at a17ac8f996)
899 + + t3419: drop EXPENSIVE tests
900
901 Test update.
902
490 - Will merge to 'next'.
903 + Will merge to 'master'.
904
905
906 * jt/connectivity-check-optim-in-partial-clone (2020-03-29) 1 commit
494 - - connected: always use partial clone optimization
907 + (merged to 'next' on 2020-04-15 at 1b3692b7fb)
908 + + connected: always use partial clone optimization
909
910 Simplify the commit ancestry connectedness check in a partial clone
911 repository in which "promised" objects are assumed to be obtainable
912 lazily on-demand from promisor remote repositories.
913
500 - Will merge to 'next'.
914 + Will merge to 'master'.
915
916
917 * mt/test-lib-bundled-short-options (2020-03-25) 1 commit
504 - - test-lib: allow short options to be bundled
918 + (merged to 'next' on 2020-04-15 at 7fa0c56d91)
919 + + test-lib: allow short options to be bundled
920
921 Minor test usability improvement.
922
508 - Will merge to 'next'.
923 + Will merge to 'master'.
924
925
926 * bk/p4-pre-edit-changelist (2020-02-14) 7 commits
512 - - git-p4: add RCS keyword status message
513 - - git-p4: add p4 submit hooks
514 - - git-p4: restructure code in submit
515 - - git-p4: add --no-verify option
516 - - git-p4: add p4-pre-submit exit text
517 - - git-p4: create new function run_git_hook
518 - - git-p4: rewrite prompt to be Windows compatible
927 + (merged to 'next' on 2020-04-15 at 3e7cecd445)
928 + + git-p4: add RCS keyword status message
929 + + git-p4: add p4 submit hooks
930 + + git-p4: restructure code in submit
931 + + git-p4: add --no-verify option
932 + + git-p4: add p4-pre-submit exit text
933 + + git-p4: create new function run_git_hook
934 + + git-p4: rewrite prompt to be Windows compatible
935
936 "git p4" learned four new hooks and also "--no-verify" option to
937 bypass them (and the existing "p4-pre-submit" hook).
938
523 - Will merge to 'next'.
524 - Getting tired of waiting for response to RFH from Windows/Python folks.
525 - cf. <pull.698.v6.git.git.1581691486.gitgitgadget@gmail.com>
939 + Will merge to 'master'.
940
941
528 -* jt/rebase-allow-duplicate (2020-03-31) 1 commit
529 - - rebase --merge: optionally skip upstreamed commits
942 +* jt/rebase-allow-duplicate (2020-04-11) 1 commit
943 + (merged to 'next' on 2020-04-15 at 56a9d83adf)
944 + + rebase --merge: optionally skip upstreamed commits
945 + (this branch uses en/rebase-no-keep-empty.)
946
947 Allow "git rebase" to reapply all local commits, even if the may be
948 already in the upstream, without checking first.
949
534 - Waiting for discussion to settle, possibly followed by a reroll.
535 - cf. <20200318192821.43808-1-jonathantanmy@google.com>
950 + Will merge to 'master'.
951
952
953 * bc/faq (2020-03-30) 1 commit
539 - - docs: add a FAQ
954 + (merged to 'next' on 2020-04-15 at 2d4c46ca7a)
955 + + docs: add a FAQ
956
957 Doc update.
958
543 - Will merge to 'next'.
959 + Will merge to 'master'.
960
961
962 * jc/log-no-mailmap (2020-03-16) 3 commits
@@ -553,37 +969,29 @@ of the repositories listed at
969 Will merge to 'next'.
970
971
556 -* tb/commit-graph-split-merge (2020-03-24) 3 commits
557 - (merged to 'next' on 2020-03-31 at 2183baf09c)
558 - + builtin/commit-graph.c: support '--input=graphed'
559 - + builtin/commit-graph.c: introduce '--input=<source>'
560 - + builtin/commit-graph.c: support '--split[=<strategy>]'
561 -
562 - The code to write out the commit-graph has been taught a few
563 - options to control if the resulting graph chains should be merged
564 - or a single new incremental graph is created.
565 -
566 - Will merge to 'master'.
567 -
568 -
569 -* hn/reftable (2020-02-26) 6 commits
570 - . Reftable support for git-core
571 - . Add reftable library
572 - . reftable: file format documentation
573 - . refs: document how ref_iterator_advance_fn should handle symrefs
574 - . create .git/refs in files-backend.c
575 - . refs.h: clarify reflog iteration order
972 +* hn/reftable (2020-04-09) 11 commits
973 + - SQUASH??? - whitespace errors
974 + - SQUASH??? - do not forget to clean reftable library
975 + - Reftable support for git-core
976 + - Add reftable library
977 + - reftable: clarify how empty tables should be written
978 + - reftable: define version 2 of the spec to accomodate SHA256
979 + - reftable: file format documentation
980 + - Add .gitattributes for the reftable/ directory
981 + - refs: document how ref_iterator_advance_fn should handle symrefs
982 + - create .git/refs in files-backend.c
983 + - refs.h: clarify reflog iteration order
984
985 A new refs backend "reftable" to replace the traditional
986 combination of packed-refs files and one-file-per-ref loose refs
987 has been implemented and integrated for improved performance and
988 atomicity.
989
582 - Temporarily ejected as this unfortunately conflicts with the
583 - SHA-256 topic.
990 + At v8.
991 + cf. <pull.539.v8.git.1585740538.gitgitgadget@gmail.com>
992
993
586 -* es/bugreport (2020-03-26) 5 commits
994 +* es/bugreport (2020-04-06) 5 commits
995 - bugreport: add compiler info
996 - bugreport: add uname info
997 - bugreport: gather git version and build info
@@ -592,9 +1000,7 @@ of the repositories listed at
1000
1001 The "bugreport" tool.
1002
595 - Ready for 'next' to be improved/enhanced on top? As the scope of
596 - the topic got trimmed, hopefully these early parts can be polished
597 - quickly enough to be merged down.
1003 + Will merge to 'next'.
1004
1005 --------------------------------------------------
1006 [Discarded]
@@ -613,3 +1019,16 @@ of the repositories listed at
1019
1020 "git reset HEAD [<pathspec>]" did not reset an empty file that was
1021 added with the intent-to-add bit.
1022 +
1023 +
1024 +* tb/commit-graph-split-merge (2020-03-24) 3 commits
1025 + (merged to 'next' on 2020-03-31 at 2183baf09c)
1026 + + builtin/commit-graph.c: support '--input=graphed'
1027 + + builtin/commit-graph.c: introduce '--input=<source>'
1028 + + builtin/commit-graph.c: support '--split[=<strategy>]'
1029 +
1030 + The code to write out the commit-graph has been taught a few
1031 + options to control if the resulting graph chains should be merged
1032 + or a single new incremental graph is created.
1033 +
1034 + Discarded---tb/commit-graph-split-strategy supersedes this.