What's cooking (2021/01 #03)

Junio C Hamano committed Jan 15, 2021 at 16:57 UTC dad1d95d014d0be09950149f55ff40a4ce062638
1 file changed +511 -256
whats-cooking.txt
+511 -256
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Jan 2021, #02; Fri, 8)
4 -X-master-at: 72c4083ddf91b489b7b7b812df67ee8842177d98
5 -X-next-at: b2714ff1a467d5c50f82988d2216cb7d091f5c2b
3 +Subject: What's cooking in git.git (Jan 2021, #03; Fri, 15)
4 +X-master-at: 4151fdb1c76c1a190ac9241b67223efd19f3e478
5 +X-next-at: 6a967380364a91b4c913c719b6c1f3962b1af2d8
6
7 -What's cooking in git.git (Jan 2021, #02; Fri, 8)
7 +What's cooking in git.git (Jan 2021, #03; Fri, 15)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking. Commits prefixed with '-' are
@@ -12,9 +12,7 @@ only in 'seen' (formerly 'pu'---proposed updates) while commits prefixed
12 with '+' 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 -Many topics that have been cooking in the 'next' branch during the
16 -pre-release freeze at the year end have now been merged to the
17 -'master' branch, and the tip of the 'next' branch has been rewound.
15 +The second batch of topics are now in 'master'.
16
17 Copies of the source code to Git live in many repositories, and the
18 following is a list of the ones I push into or their mirrors. Some
@@ -66,37 +64,300 @@ Release tarballs are available at:
64 - merge-ort: initialize and free new directory rename data structures
65 - merge-ort: add new data structures for directory rename detection
66 - Merge branch 'en/merge-ort-3' into en/ort-directory-rename
69 - (this branch uses en/merge-ort-3.)
67 + (this branch is used by en/merge-ort-perf; uses en/merge-ort-3.)
68
69 ORT merge strategy learns to infer "renamed directory" while
70 merging.
71
72
73 * jk/forbid-lf-in-git-url (2021-01-07) 2 commits
76 - - fsck: reject .gitmodules git:// urls with newlines
77 - - git_connect_git(): forbid newlines in host and path
74 + (merged to 'next' on 2021-01-12 at 88a1d937ae)
75 + + fsck: reject .gitmodules git:// urls with newlines
76 + + git_connect_git(): forbid newlines in host and path
77
78 Newline characters in the host and path part of git:// URL are
79 now forbidden.
80
82 - Will merge to 'next'.
81 + Will merge to 'master'.
82
83
85 -* ps/fetch-atomic (2021-01-07) 2 commits
86 - - fetch: implement support for atomic reference updates
87 - - fetch: allow passing a transaction to `s_update_ref()`
84 +* ps/fetch-atomic (2021-01-12) 5 commits
85 + (merged to 'next' on 2021-01-13 at a8896d0873)
86 + + fetch: implement support for atomic reference updates
87 + + fetch: allow passing a transaction to `s_update_ref()`
88 + + fetch: refactor `s_update_ref` to use common exit path
89 + + fetch: use strbuf to format FETCH_HEAD updates
90 + + fetch: extract writing to FETCH_HEAD
91
92 "git fetch" learns to treat ref updates atomically in all-or-none
93 fashion, just like "git push" does, with the new "--atomic" option.
94
95 + Will merge to 'master'.
96 +
97
98 * jc/sign-off (2021-01-07) 1 commit
94 - - SubmittingPatches: tighten wording on "sign-off" procedure
99 + (merged to 'next' on 2021-01-12 at 0d9a2a9a41)
100 + + SubmittingPatches: tighten wording on "sign-off" procedure
101 +
102 + Doc update.
103 +
104 + Will merge to 'master'.
105 +
106 +
107 +* ab/detox-gettext-tests (2021-01-11) 6 commits
108 + - tests: remove uses of GIT_TEST_GETTEXT_POISON=false
109 + - tests: (almost) remove C_LOCALE_OUTPUT prerequisites
110 + - tests: (almost) remove use of "test_i18ngrep !"
111 + - tests: remove misc use of test_i18n{cmp,grep}
112 + - tests: remove support for GIT_TEST_GETTEXT_POISON
113 + - ci: remove GETTEXT_POISON jobs
114 +
115 + Get rid of "GETTEXT_POISON" support altogether, which may or may
116 + not be controversial.
117 +
118 +
119 +* ab/gettext-charset-comment-fix (2021-01-11) 2 commits
120 + (merged to 'next' on 2021-01-12 at bc7f60e246)
121 + + gettext.c: remove/reword a mostly-useless comment
122 + + Makefile: remove a warning about old GETTEXT_POISON flag
123 +
124 + Comments update.
125 +
126 + Will merge to 'master'.
127 +
128 +
129 +* ad/t4129-setfacl-target-fix (2021-01-09) 1 commit
130 + (merged to 'next' on 2021-01-12 at e09694772a)
131 + + t4129: fix setfacl-related permissions failure
132 +
133 + Test fix.
134 +
135 + Will merge to 'master'.
136 +
137 +
138 +* bc/doc-status-short (2021-01-11) 1 commit
139 + (merged to 'next' on 2021-01-13 at 6093625f0c)
140 + + docs: rephrase and clarify the git status --short format
141
142 Doc update.
143
144 + Will merge to 'master'.
145 +
146 +
147 +* bc/signed-objects-with-both-hashes (2021-01-11) 6 commits
148 + - SQUASH??? ulong vs size_t
149 + - gpg-interface: remove other signature headers before verifying
150 + - ref-filter: hoist signature parsing
151 + - commit: allow parsing arbitrary buffers with headers
152 + - gpg-interface: improve interface for parsing tags
153 + - commit: ignore additional signatures when parsing signed commits
154 +
155 + Signed commits and tags now allow verification of objects, whose
156 + two object names (one in SHA-1, the other in SHA-256) are both
157 + signed.
158 +
159 +
160 +* ds/update-index (2021-01-09) 14 commits
161 + - update-index: remove static globals from callbacks
162 + - update-index: reduce static globals, part 2
163 + - update-index: reduce static globals, part 1
164 + - update-index: remove ce_match_stat(), all macros
165 + - update-index: replace several compatibility macros
166 + - update-index: use add_index_entry()
167 + - update-index: use remove_file_from_index()
168 + - update-index: use index_name_pos() over cache_name_pos()
169 + - update-index: use istate->cache_changed
170 + - update-index: use istate->cache_nr over active_nr
171 + - update-index: use istate->cache over active_cache
172 + - update-index: drop the_index, the_repository
173 + - rm: remove compatilibity macros
174 + - mv: remove index compatibility macros
175 + (this branch uses ag/merge-strategies-in-c.)
176 +
177 + The implementation of a few commands lost reliance of "the_index"
178 + compatibility macros by explicitly passing the index_state through
179 + the callchain.
180 +
181 + Unfortunately the base topic still needs to solidify.
182 +
183 +
184 +* jk/t5516-deflake (2021-01-09) 1 commit
185 + (merged to 'next' on 2021-01-12 at ed5317a798)
186 + + t5516: loosen "not our ref" error check
187 +
188 + Test fix.
189 +
190 + Will merge to 'master'.
191 +
192 +
193 +* jx/bundle (2021-01-11) 3 commits
194 + (merged to 'next' on 2021-01-14 at 749a907dd2)
195 + + bundle: arguments can be read from stdin
196 + + bundle: lost objects when removing duplicate pendings
197 + + test: add helper functions for git-bundle
198 +
199 + "git bundle" learns "--stdin" option to read its refs from the
200 + standard input. Also, it now does not lose refs whey thy point at
201 + the same object.
202 +
203 + Will merge to 'master'.
204 +
205 +
206 +* ug/doc-lose-dircache (2021-01-09) 1 commit
207 + (merged to 'next' on 2021-01-12 at 28310380a5)
208 + + doc: remove "directory cache" from man pages
209 +
210 + Doc update.
211 +
212 + Will merge to 'master'.
213 +
214 +
215 +* ab/mailmap (2021-01-12) 22 commits
216 + (merged to 'next' on 2021-01-13 at a3ce27912f)
217 + + shortlog: remove unused(?) "repo-abbrev" feature
218 + + mailmap doc + tests: document and test for case-insensitivity
219 + + mailmap tests: add tests for empty "<>" syntax
220 + + mailmap tests: add tests for whitespace syntax
221 + + mailmap tests: add a test for comment syntax
222 + + mailmap doc + tests: add better examples & test them
223 + + tests: refactor a few tests to use "test_commit --append"
224 + + test-lib functions: add an --append option to test_commit
225 + + test-lib functions: add --author support to test_commit
226 + + test-lib functions: document arguments to test_commit
227 + + test-lib functions: expand "test_commit" comment template
228 + + mailmap: test for silent exiting on missing file/blob
229 + + mailmap tests: get rid of overly complex blame fuzzing
230 + + mailmap tests: add a test for "not a blob" error
231 + + mailmap tests: remove redundant entry in test
232 + + mailmap tests: improve --stdin tests
233 + + mailmap tests: modernize syntax & test idioms
234 + + mailmap tests: use our preferred whitespace syntax
235 + + mailmap doc: start by mentioning the comment syntax
236 + + check-mailmap doc: note config options
237 + + mailmap doc: quote config variables `like.this`
238 + + mailmap doc: create a new "gitmailmap(5)" man page
239 + (this branch is used by ab/mailmap-fixup.)
240 +
241 + Clean-up docs, codepaths and tests around mailmap.
242 +
243 + Will merge to 'master'.
244 +
245 +
246 +* jk/log-cherry-pick-duplicate-patches (2021-01-12) 1 commit
247 + (merged to 'next' on 2021-01-13 at abcfbf8603)
248 + + patch-ids: handle duplicate hashmap entries
249 +
250 + When more than one commit with the same patch ID appears on one
251 + side, "git log --cherry-pick A...B" did not exclude them all when a
252 + commit with the same patch ID appears on the other side. Now it
253 + does.
254 +
255 +
256 +* tb/local-clone-race-doc (2021-01-11) 1 commit
257 + (merged to 'next' on 2021-01-14 at b86c0426de)
258 + + Documentation/git-clone.txt: document race with --local
259 +
260 + Doc update.
261 +
262 + Will merge to 'master'.
263 +
264 +
265 +* tb/pack-revindex-api (2021-01-14) 21 commits
266 + - for_each_object_in_pack(): clarify pack vs index ordering
267 + - pack-revindex.c: avoid direct revindex access in 'offset_to_pack_pos()'
268 + - pack-revindex: hide the definition of 'revindex_entry'
269 + - pack-revindex: remove unused 'find_revindex_position()'
270 + - pack-revindex: remove unused 'find_pack_revindex()'
271 + - builtin/gc.c: guess the size of the revindex
272 + - for_each_object_in_pack(): convert to new revindex API
273 + - unpack_entry(): convert to new revindex API
274 + - packed_object_info(): convert to new revindex API
275 + - retry_bad_packed_offset(): convert to new revindex API
276 + - get_delta_base_oid(): convert to new revindex API
277 + - rebuild_existing_bitmaps(): convert to new revindex API
278 + - try_partial_reuse(): convert to new revindex API
279 + - get_size_by_pos(): convert to new revindex API
280 + - show_objects_for_type(): convert to new revindex API
281 + - bitmap_position_packfile(): convert to new revindex API
282 + - check_object(): convert to new revindex API
283 + - write_reused_pack_verbatim(): convert to new revindex API
284 + - write_reused_pack_one(): convert to new revindex API
285 + - write_reuse_object(): convert to new revindex API
286 + - pack-revindex: introduce a new API
287 + (this branch is used by tb/pack-revindex-on-disk.)
288 +
289 + Abstract accesses to in-core revindex that allows enumerating
290 + objects stored in a packfile in the order they appear in the pack,
291 + in preparation for introducing an on-disk precomputed revindex.
292 +
293 + Will merge to 'next'.
294 +
295 +
296 +* cc/write-promisor-file (2021-01-14) 3 commits
297 + (merged to 'next' on 2021-01-14 at 9d773d4734)
298 + + pack-write: die on error in write_promisor_file()
299 + + fetch-pack: refactor writing promisor file
300 + + fetch-pack: rename helper to create_promisor_file()
301 +
302 + A bit of code refactoring.
303 +
304 + Will merge to 'master'.
305 +
306 +
307 +* js/rebase-i-commit-cleanup-fix (2021-01-12) 1 commit
308 + - rebase -i: do leave commit message intact in fixup! chains
309 +
310 + When "git rebase -i" processes "fixup" insn, there is no reason to
311 + clean up the commit log message, but we did the usual stripspace
312 + processing. This has been corrected.
313 +
314 + A bit more tests to document what is still broken have been offered.
315 + cf. <20210112204939.1095-1-martin.agren@gmail.com>
316 +
317 +
318 +* ab/mailmap-fixup (2021-01-14) 4 commits
319 + - t4203: make blame output massaging more robust
320 + - mailmap doc: use correct environment variable 'GIT_WORK_TREE'
321 + - t4203: stop losing return codes of git commands
322 + - test-lib-functions.sh: fix usage for test_commit()
323 + (this branch uses ab/mailmap.)
324 +
325 + Follow-up fixes and improvements to ab/mailmap topic.
326 +
327 Will merge to 'next'.
328
329 +
330 +* jc/macos-install-dependencies-fix (2021-01-14) 1 commit
331 + (merged to 'next' on 2021-01-14 at 5a11de010b)
332 + + ci/install-depends: attempt to fix "brew cask" stuff
333 +
334 + Fix for procedure to building CI test environment for mac.
335 +
336 + Will merge to 'master'.
337 +
338 +
339 +* tb/pack-revindex-on-disk (2021-01-14) 8 commits
340 + - pack-revindex: ensure that on-disk reverse indexes are given precedence
341 + - t: support GIT_TEST_WRITE_REV_INDEX
342 + - t: prepare for GIT_TEST_WRITE_REV_INDEX
343 + - Documentation/config/pack.txt: advertise 'pack.writeReverseIndex'
344 + - builtin/pack-objects.c: respect 'pack.writeReverseIndex'
345 + - builtin/index-pack.c: write reverse indexes
346 + - pack-write.c: prepare to write 'pack-*.rev' files
347 + - packfile: prepare for the existence of '*.rev' files
348 + (this branch uses tb/pack-revindex-api.)
349 +
350 + Introduce an on-disk file to record revindex for packdata, which
351 + traditionally was always created on the fly and only in-core.
352 +
353 +
354 +* en/merge-ort-perf (2021-01-15) 4 commits
355 + - merge-ort: begin performance work; instrument with trace2_region_* calls
356 + - Merge branch 'en/ort-directory-rename' into en/merge-ort-perf
357 + - Merge branch 'en/ort-conflict-handling' into en/merge-ort-perf
358 + - Merge branch 'en/diffcore-rename' into en/merge-ort-perf
359 + (this branch uses en/diffcore-rename, en/merge-ort-3, en/ort-conflict-handling and en/ort-directory-rename.)
360 +
361 --------------------------------------------------
362 [Graduated to 'master']
363
@@ -112,6 +373,29 @@ Release tarballs are available at:
373 easier to design output for machine consumption.
374
375
376 +* ar/t6016-modernise (2021-01-04) 1 commit
377 + (merged to 'next' on 2021-01-08 at 45f1b43e88)
378 + + t6016: move to lib-log-graph.sh framework
379 +
380 + Test update.
381 +
382 +
383 +* bc/rev-parse-path-format (2020-12-12) 2 commits
384 + (merged to 'next' on 2021-01-08 at 7d51587b7f)
385 + + rev-parse: add option for absolute or relative path formatting
386 + + abspath: add a function to resolve paths with missing components
387 +
388 + "git rev-parse" can be explicitly told to give output as absolute
389 + or relative path with the `--path-format=(absolute|relative)` option.
390 +
391 +
392 +* ds/trace2-topo-walk (2021-01-04) 1 commit
393 + (merged to 'next' on 2021-01-08 at 794c8f37ee)
394 + + revision: trace topo-walk statistics
395 +
396 + The topological walk codepath is covered by new trace2 stats.
397 +
398 +
399 * en/merge-ort-2 (2020-12-13) 7 commits
400 (merged to 'next' on 2020-12-21 at ef5b184349)
401 + merge-ort: add modify/delete handling and delayed output processing
@@ -167,6 +451,16 @@ Release tarballs are available at:
451 recursive backend has done for years.
452
453
454 +* en/stash-apply-sparse-checkout (2020-12-01) 3 commits
455 + (merged to 'next' on 2021-01-08 at cae5b73d99)
456 + + stash: fix stash application in sparse-checkouts
457 + + stash: remove unnecessary process forking
458 + + t7012: add a testcase demonstrating stash apply bugs in sparse checkouts
459 +
460 + "git stash" did not work well in a sparsely checked out working
461 + tree.
462 +
463 +
464 * es/perf-export-fix (2020-12-22) 1 commit
465 (merged to 'next' on 2020-12-22 at d06b0379d9)
466 + t/perf: avoid unnecessary test_export() recursion
@@ -182,6 +476,25 @@ Release tarballs are available at:
476 repository and the worktree moved.
477
478
479 +* ew/decline-core-abbrev (2020-12-23) 1 commit
480 + (merged to 'next' on 2021-01-08 at 630dd186a4)
481 + + core.abbrev=no disables abbreviations
482 +
483 + The configuration variable 'core.abbrev' can be set to 'no' to
484 + force no abbreviation regardless of the hash algorithm.
485 +
486 +
487 +* fc/completion-aliases-support (2021-01-04) 4 commits
488 + (merged to 'next' on 2021-01-08 at b2714ff1a4)
489 + + completion: add proper public __git_complete
490 + + test: completion: add tests for __git_complete
491 + + completion: bash: improve function detection
492 + + completion: bash: add __git_have_func helper
493 +
494 + Bash completion (in contrib/) update to make it easier for
495 + end-users to add completion for their custom "git" subcommands.
496 +
497 +
498 * fc/pull-merge-rebase (2020-12-15) 5 commits
499 (merged to 'next' on 2020-12-21 at acce13e5c4)
500 + pull: display default warning only when non-ff
@@ -207,6 +520,46 @@ Release tarballs are available at:
520 corrected.
521
522
523 +* ma/doc-pack-format-varint-for-sizes (2021-01-04) 1 commit
524 + (merged to 'next' on 2021-01-08 at 8a448c50dd)
525 + + pack-format.txt: document sizes at start of delta data
526 +
527 + Doc update.
528 +
529 +
530 +* ma/sha1-is-a-hash (2021-01-04) 4 commits
531 + (merged to 'next' on 2021-01-08 at a25537f7c3)
532 + + hash-lookup: rename from sha1-lookup
533 + + sha1-lookup: rename `sha1_pos()` as `hash_pos()`
534 + + object-file.c: rename from sha1-file.c
535 + + object-name.c: rename from sha1-name.c
536 +
537 + Retire more names with "sha1" in it.
538 +
539 +
540 +* ma/t1300-cleanup (2021-01-04) 3 commits
541 + (merged to 'next' on 2021-01-08 at 51aaae39a1)
542 + + t1300: don't needlessly work with `core.foo` configs
543 + + t1300: remove duplicate test for `--file no-such-file`
544 + + t1300: remove duplicate test for `--file ../foo`
545 +
546 + Code clean-up.
547 +
548 +
549 +* nk/perf-fsmonitor-cleanup (2021-01-06) 1 commit
550 + (merged to 'next' on 2021-01-08 at 1837d6c30b)
551 + + p7519: allow running without watchman prereq
552 +
553 + Test fix.
554 +
555 +
556 +* pb/doc-modules-git-work-tree-typofix (2021-01-04) 1 commit
557 + (merged to 'next' on 2021-01-08 at a67ab3e96a)
558 + + gitmodules.txt: fix 'GIT_WORK_TREE' variable name
559 +
560 + Doc fix.
561 +
562 +
563 * pk/subsub-fetch-fix-take-2 (2020-12-09) 1 commit
564 (merged to 'next' on 2020-12-14 at ccc01a5f66)
565 + submodules: fix of regression on fetching of non-init subsub-repo
@@ -214,6 +567,20 @@ Release tarballs are available at:
567 "git fetch --recurse-submodules" fix (second attempt).
568
569
570 +* rs/rebase-commit-validation (2021-01-04) 1 commit
571 + (merged to 'next' on 2021-01-08 at 2c63eb1cc8)
572 + + rebase: verify commit parameter
573 +
574 + Diagnose command line error of "git rebase" early.
575 +
576 +
577 +* ta/doc-typofix (2021-01-04) 1 commit
578 + (merged to 'next' on 2021-01-08 at 1e579ef94f)
579 + + doc: fix some typos
580 +
581 + Doc fix.
582 +
583 +
584 * tb/pack-bitmap (2020-12-08) 24 commits
585 (merged to 'next' on 2020-12-15 at 773268c2fb)
586 + pack-bitmap-write: better reuse bitmaps
@@ -243,6 +610,14 @@ Release tarballs are available at:
610
611 Various improvements to the codepath that writes out pack bitmaps.
612
613 +
614 +* zh/arg-help-format (2021-01-06) 2 commits
615 + (merged to 'next' on 2021-01-08 at 208c98620c)
616 + + builtin/*: update usage format
617 + + parse-options: format argh like error messages
618 +
619 + Clean up option descriptions in "git cmd --help".
620 +
621 --------------------------------------------------
622 [Stalled]
623
@@ -386,6 +761,7 @@ Release tarballs are available at:
761 - update-index: move add_cacheinfo() to read-cache.c
762 - t6060: modify multiple files to expose a possible issue with merge-index
763 - t6407: modernise tests
764 + (this branch is used by ds/update-index.)
765
766 The resolve and octopus merge strategy backends have been rewritten
767 in C.
@@ -396,29 +772,31 @@ Release tarballs are available at:
772 [Cooking]
773
774 * vv/send-email-with-less-secure-apps-access (2021-01-07) 1 commit
399 - - git-send-email.txt: mention less secure app access with Gmail
775 + (merged to 'next' on 2021-01-12 at 53243ca7e7)
776 + + git-send-email.txt: mention less secure app access with Gmail
777
778 Doc update.
779
403 - Will merge to 'next'.
780 + Will merge to 'master'.
781
782
783 * ab/branch-sort (2021-01-07) 7 commits
407 - - branch: show "HEAD detached" first under reverse sort
408 - - branch: sort detached HEAD based on a flag
409 - - ref-filter: move ref_sorting flags to a bitfield
410 - - ref-filter: move "cmp_fn" assignment into "else if" arm
411 - - ref-filter: add braces to if/else if/else chain
412 - - branch tests: add to --sort tests
413 - - branch: change "--local" to "--list" in comment
784 + (merged to 'next' on 2021-01-12 at 1231feea7c)
785 + + branch: show "HEAD detached" first under reverse sort
786 + + branch: sort detached HEAD based on a flag
787 + + ref-filter: move ref_sorting flags to a bitfield
788 + + ref-filter: move "cmp_fn" assignment into "else if" arm
789 + + ref-filter: add braces to if/else if/else chain
790 + + branch tests: add to --sort tests
791 + + branch: change "--local" to "--list" in comment
792
793 The implementation of "git branch --sort" wrt the detached HEAD
794 display has always been hacky, which has been cleaned up.
795
418 - Will merge to 'next'.
796 + Will merge to 'master'.
797
798
421 -* ab/coc-update-to-2.0 (2021-01-07) 3 commits
799 +* ab/coc-update-to-2.0 (2021-01-13) 3 commits
800 - CoC: update to version 2.0 + local changes
801 - CoC: explicitly take any whitespace breakage
802 - CoC: Update word-wrapping to match upstream
@@ -426,28 +804,20 @@ Release tarballs are available at:
804 Update the Code-of-conduct to version 2.0 from the upstream (we've
805 been using version 1.4).
806
429 - The first step needs to be signed off by the author, and like the
430 - original discussion thread back in Sep 2019, it also needs to
431 - collect acks from list regulars to show support.
432 -
433 -
434 -* ar/t6016-modernise (2021-01-04) 1 commit
435 - (merged to 'next' on 2021-01-08 at 45f1b43e88)
436 - + t6016: move to lib-log-graph.sh framework
437 -
438 - Test update.
439 -
440 - Will merge to 'master'.
807 + Will merge to 'next'.
808
809
443 -* dl/reflog-with-single-entry (2021-01-07) 2 commits
444 - - refs: allow @{n} to work with n-sized reflog
445 - - refs: factor out set_read_ref_cutoffs()
810 +* dl/reflog-with-single-entry (2021-01-11) 2 commits
811 + (merged to 'next' on 2021-01-13 at 09b33209c4)
812 + + refs: allow @{n} to work with n-sized reflog
813 + + refs: factor out set_read_ref_cutoffs()
814
815 After expiring a reflog and making a single commit, the reflog for
816 the branch would record a single entry that knows both @{0} and
817 @{1}, but we failed to answer "what commit were we on?", i.e. @{1}
818
819 + Will merge to 'master'.
820 +
821
822 * ds/cache-tree-basics (2021-01-07) 10 commits
823 - cache-tree: speed up consecutive path comparisons
@@ -466,21 +836,13 @@ Release tarballs are available at:
836
837
838 * ds/for-each-repo-noopfix (2021-01-07) 1 commit
469 - - for-each-repo: do nothing on empty config
839 + (merged to 'next' on 2021-01-12 at 92f83b5db1)
840 + + for-each-repo: do nothing on empty config
841
842 "git for-each-repo --config=<var> <cmd>" should not run <cmd> for
843 any repository when the configuration variable <var> is not defined
844 even once.
845
475 - Will merge to 'next'.
476 -
477 -
478 -* ds/trace2-topo-walk (2021-01-04) 1 commit
479 - (merged to 'next' on 2021-01-08 at 794c8f37ee)
480 - + revision: trace topo-walk statistics
481 -
482 - The topological walk codepath is covered by new trace2 stats.
483 -
846 Will merge to 'master'.
847
848
@@ -495,61 +857,18 @@ Release tarballs are available at:
857 - merge-ort: implement unique_path() helper
858 - merge-ort: handle directory/file conflicts that remain
859 - merge-ort: handle D/F conflict where directory disappears due to merge
860 + (this branch is used by en/merge-ort-perf.)
861
862 ORT merge strategy learns more support for merge conflicts.
863
864
502 -* fc/completion-aliases-support (2021-01-04) 4 commits
503 - (merged to 'next' on 2021-01-08 at b2714ff1a4)
504 - + completion: add proper public __git_complete
505 - + test: completion: add tests for __git_complete
506 - + completion: bash: improve function detection
507 - + completion: bash: add __git_have_func helper
508 -
509 - Bash completion (in contrib/) update to make it easier for
510 - end-users to add completion for their custom "git" subcommands.
511 -
512 - Will merge to 'master'.
513 -
514 -
515 -* ma/doc-pack-format-varint-for-sizes (2021-01-04) 1 commit
516 - (merged to 'next' on 2021-01-08 at 8a448c50dd)
517 - + pack-format.txt: document sizes at start of delta data
518 -
519 - Doc update.
520 -
521 - Will merge to 'master'.
522 -
523 -
865 * ma/more-opaque-lock-file (2021-01-06) 5 commits
525 - - read-cache: try not to peek into `struct {lock_,temp}file`
526 - - refs/files-backend: don't peek into `struct lock_file`
527 - - midx: don't peek into `struct lock_file`
528 - - commit-graph: don't peek into `struct lock_file`
529 - - builtin/gc: don't peek into `struct lock_file`
530 -
531 - Code clean-up.
532 -
533 - Will merge to 'next'.
534 -
535 -
536 -* ma/sha1-is-a-hash (2021-01-04) 4 commits
537 - (merged to 'next' on 2021-01-08 at a25537f7c3)
538 - + hash-lookup: rename from sha1-lookup
539 - + sha1-lookup: rename `sha1_pos()` as `hash_pos()`
540 - + object-file.c: rename from sha1-file.c
541 - + object-name.c: rename from sha1-name.c
542 -
543 - Retire more names with "sha1" in it.
544 -
545 - Will merge to 'master'.
546 -
547 -
548 -* ma/t1300-cleanup (2021-01-04) 3 commits
549 - (merged to 'next' on 2021-01-08 at 51aaae39a1)
550 - + t1300: don't needlessly work with `core.foo` configs
551 - + t1300: remove duplicate test for `--file no-such-file`
552 - + t1300: remove duplicate test for `--file ../foo`
866 + (merged to 'next' on 2021-01-12 at f246e38b50)
867 + + read-cache: try not to peek into `struct {lock_,temp}file`
868 + + refs/files-backend: don't peek into `struct lock_file`
869 + + midx: don't peek into `struct lock_file`
870 + + commit-graph: don't peek into `struct lock_file`
871 + + builtin/gc: don't peek into `struct lock_file`
872
873 Code clean-up.
874
@@ -557,54 +876,29 @@ Release tarballs are available at:
876
877
878 * mt/t4129-with-setgid-dir (2021-01-06) 1 commit
560 - - t4129: don't fail if setgid is set in the test directory
879 + (merged to 'next' on 2021-01-12 at 7a54dd92d8)
880 + + t4129: don't fail if setgid is set in the test directory
881
882 Some tests expect that "ls -l" output has either '-' or 'x' for
883 group executable bit, but setgid bit can be inherited from parent
884 directory and make these fields 'S' or 's' instead, causing test
885 failures.
886
567 - Will merge to 'next'.
568 -
569 -
570 -* nk/perf-fsmonitor-cleanup (2021-01-06) 1 commit
571 - (merged to 'next' on 2021-01-08 at 1837d6c30b)
572 - + p7519: allow running without watchman prereq
573 -
574 - Test fix.
575 -
576 - Will merge to 'master'.
577 -
578 -
579 -* pb/doc-modules-git-work-tree-typofix (2021-01-04) 1 commit
580 - (merged to 'next' on 2021-01-08 at a67ab3e96a)
581 - + gitmodules.txt: fix 'GIT_WORK_TREE' variable name
582 -
583 - Doc fix.
584 -
887 Will merge to 'master'.
888
889
890 * pb/mergetool-tool-help-fix (2021-01-06) 1 commit
589 - - mergetool--lib: fix '--tool-help' to correctly show available tools
891 + (merged to 'next' on 2021-01-12 at ba0f76b413)
892 + + mergetool--lib: fix '--tool-help' to correctly show available tools
893
894 Fix 2.29 regression where "git mergetool --tool-help" fails to list
895 all the available tools.
896
594 - Will merge to 'next'.
595 -
596 -
597 -* rs/rebase-commit-validation (2021-01-04) 1 commit
598 - (merged to 'next' on 2021-01-08 at 2c63eb1cc8)
599 - + rebase: verify commit parameter
600 -
601 - Diagnose command line error early.
602 -
897 Will merge to 'master'.
898
899
606 -* sg/t7800-difftool-robustify (2021-01-04) 1 commit
607 - . t7800-difftool: don't accidentally match tmp dirs
900 +* sg/t7800-difftool-robustify (2021-01-09) 1 commit
901 + - t7800-difftool: don't accidentally match tmp dirs
902
903 Test fix.
904
@@ -612,25 +906,6 @@ Release tarballs are available at:
906 cf. https://github.com/git/git/runs/1660588243?check_suite_focus=true#step:7:4186
907
908
615 -* ta/doc-typofix (2021-01-04) 1 commit
616 - (merged to 'next' on 2021-01-08 at 1e579ef94f)
617 - + doc: fix some typos
618 -
619 - Doc fix.
620 -
621 - Will merge to 'master'.
622 -
623 -
624 -* zh/arg-help-format (2021-01-06) 2 commits
625 - (merged to 'next' on 2021-01-08 at 208c98620c)
626 - + builtin/*: update usage format
627 - + parse-options: format argh like error messages
628 -
629 - Clean up option descriptions in "git cmd --help".
630 -
631 - Will merge to 'master'.
632 -
633 -
909 * ak/corrected-commit-date (2021-01-04) 11 commits
910 - doc: add corrected commit date info
911 - commit-reach: use corrected commit dates in paint_down_to_common()
@@ -652,12 +927,18 @@ Release tarballs are available at:
927
928
929 * dl/p4-encode-after-kw-expansion (2020-12-23) 1 commit
655 - - git-p4: fix syncing file types with pattern
930 + (merged to 'next' on 2021-01-13 at 8fce17d998)
931 + + git-p4: fix syncing file types with pattern
932
933 Text encoding fix for "git p4".
934
935 + Will merge to 'master'.
936 +
937
660 -* fc/mergetool-automerge (2021-01-06) 5 commits
938 +* fc/mergetool-automerge (2021-01-09) 8 commits
939 + . fixup! mergetool: break setup_tool out into separate initialization function
940 + . fixup! fixup! mergetool: add automerge configuration
941 + . fixup! mergetool: add automerge configuration
942 . mergetool: add automerge_enabled tool-specific override function
943 . mergetool: break setup_tool out into separate initialization function
944 . mergetool: add per-tool support for the autoMerge flag
@@ -668,18 +949,8 @@ Release tarballs are available at:
949 a conflicted path unmodified. The command learned to optionally
950 prepare these files with unconflicted parts already resolved.
951
671 - Breaks tests on macOS.
672 - cf. https://github.com/git/git/runs/1659807735?check_suite_focus=true#step:4:1641
673 -
674 -
675 -* ew/decline-core-abbrev (2020-12-23) 1 commit
676 - (merged to 'next' on 2021-01-08 at 630dd186a4)
677 - + core.abbrev=no disables abbreviations
678 -
679 - Allow the configuration to specify no abbreviation regardless of
680 - the hash algorithm.
681 -
682 - Will merge to 'master'.
952 + Breaks tests on Windows
953 + cf. https://github.com/git/git/runs/1675932107?check_suite_focus=true#step:7:10373
954
955
956 * mr/bisect-in-c-4 (2020-12-21) 7 commits
@@ -710,22 +981,23 @@ Release tarballs are available at:
981
982
983 * fc/bash-completion-post-2.29 (2020-12-23) 4 commits
713 - - completion: bash: add correct suffix in variables
714 - - completion: bash: fix for multiple dash commands
715 - - completion: bash: fix for suboptions with value
716 - - completion: bash: fix prefix detection in branch.*
984 + . completion: bash: add correct suffix in variables
985 + . completion: bash: fix for multiple dash commands
986 + . completion: bash: fix for suboptions with value
987 + . completion: bash: fix prefix detection in branch.*
988
989 Seems to break tests on Windows
990
991
992 * jc/deprecate-pack-redundant (2020-12-15) 1 commit
722 - - pack-redundant: gauge the usage before proposing its removal
993 + (merged to 'next' on 2021-01-12 at 14034c7892)
994 + + pack-redundant: gauge the usage before proposing its removal
995
996 Warn loudly when the "pack-redundant" command, which has been left
997 stale with almost unusable performance issues, gets used, as we no
998 longer want to recommend its use (instead just "repack -d" instead).
999
728 - Will merge to 'next'.
1000 + Will merge to 'master'.
1001
1002
1003 * mt/parallel-checkout-part-1 (2020-12-16) 9 commits
@@ -757,37 +1029,29 @@ Release tarballs are available at:
1029 + merge-ort: implement detect_regular_renames()
1030 + merge-ort: add initial outline for basic rename detection
1031 + merge-ort: add basic data structures for handling renames
760 - (this branch is used by en/ort-directory-rename.)
1032 + (this branch is used by en/merge-ort-perf and en/ort-directory-rename.)
1033
1034 Rename detection is added to the "ORT" merge strategy.
1035
1036 Will merge to 'master'.
1037
1038
767 -* ps/config-env-pairs (2021-01-06) 8 commits
768 - - config: allow specifying config entries via envvar pairs
769 - - environment: make `getenv_safe()` a public function
770 - - config: parse more robust format in GIT_CONFIG_PARAMETERS
771 - - config: store "git -c" variables using more robust format
772 - - config: extract function to parse config pairs
773 - - quote: make sq_dequote_step() a public function
774 - - config: add new way to pass config via `--config-env`
775 - - git: add `--super-prefix` to usage string
1039 +* ps/config-env-pairs (2021-01-15) 8 commits
1040 + (merged to 'next' on 2021-01-15 at 4ed0341270)
1041 + + config: allow specifying config entries via envvar pairs
1042 + + environment: make `getenv_safe()` a public function
1043 + + config: store "git -c" variables using more robust format
1044 + + config: parse more robust format in GIT_CONFIG_PARAMETERS
1045 + + config: extract function to parse config pairs
1046 + + quote: make sq_dequote_step() a public function
1047 + + config: add new way to pass config via `--config-env`
1048 + + git: add `--super-prefix` to usage string
1049
1050 Introduce two new ways to feed configuration variable-value pairs
1051 via environment variables, and tweak the way GIT_CONFIG_PARAMETERS
1052 encodes variable/value pairs to make it more robust.
1053
781 - Ready for 'next'?
782 -
783 -
784 -* bc/hashed-mailmap (2020-12-12) 1 commit
785 - - mailmap: support hashed entries in mailmaps
786 -
787 - The mailmap database learned to take hashed value as the original
788 - side of mapping.
789 -
790 - Expecting a reroll.
1054 + Will merge to 'master'.
1055
1056
1057 * so/log-diff-merge (2020-12-21) 32 commits
@@ -826,18 +1090,7 @@ Release tarballs are available at:
1090
1091 "git log" learned a new "--diff-merges=<how>" option.
1092
829 - Rerolled.
830 -
831 -
832 -* bc/rev-parse-path-format (2020-12-12) 2 commits
833 - (merged to 'next' on 2021-01-08 at 7d51587b7f)
834 - + rev-parse: add option for absolute or relative path formatting
835 - + abspath: add a function to resolve paths with missing components
836 -
837 - "git rev-parse" can be explicitly told to give output as absolute
838 - or relative path.
839 -
840 - Will merge to 'master'.
1093 + Ready for 'next'?
1094
1095
1096 * es/config-hooks (2020-12-21) 34 commits
@@ -936,68 +1189,59 @@ Release tarballs are available at:
1189
1190
1191 * en/diffcore-rename (2021-01-04) 9 commits
939 - - diffcore-rename: remove unnecessary duplicate entry checks
940 - - diffcore-rename: accelerate rename_dst setup
941 - - diffcore-rename: simplify and accelerate register_rename_src()
942 - - t4058: explore duplicate tree entry handling in a bit more detail
943 - - t4058: add more tests and documentation for duplicate tree entry handling
944 - - diffcore-rename: reduce jumpiness in progress counters
945 - - diffcore-rename: simplify limit check
946 - - diffcore-rename: avoid usage of global in too_many_rename_candidates()
947 - - diffcore-rename: rename num_create to num_destinations
1192 + (merged to 'next' on 2021-01-12 at fa769ebc35)
1193 + + diffcore-rename: remove unnecessary duplicate entry checks
1194 + + diffcore-rename: accelerate rename_dst setup
1195 + + diffcore-rename: simplify and accelerate register_rename_src()
1196 + + t4058: explore duplicate tree entry handling in a bit more detail
1197 + + t4058: add more tests and documentation for duplicate tree entry handling
1198 + + diffcore-rename: reduce jumpiness in progress counters
1199 + + diffcore-rename: simplify limit check
1200 + + diffcore-rename: avoid usage of global in too_many_rename_candidates()
1201 + + diffcore-rename: rename num_create to num_destinations
1202 + (this branch is used by en/merge-ort-perf.)
1203
1204 File-level rename detection updates.
1205
951 - Will merge to 'next'.
952 -
953 -
954 -* en/stash-apply-sparse-checkout (2020-12-01) 3 commits
955 - (merged to 'next' on 2021-01-08 at cae5b73d99)
956 - + stash: fix stash application in sparse-checkouts
957 - + stash: remove unnecessary process forking
958 - + t7012: add a testcase demonstrating stash apply bugs in sparse checkouts
959 -
960 - "git stash" did not work well in a sparsely checked out working
961 - tree.
962 -
1206 Will merge to 'master'.
1207
1208
1209 * js/default-branch-name-tests-final-stretch (2020-11-19) 29 commits
967 - - tests: drop prereq `PREPARE_FOR_MAIN_BRANCH` where no longer needed
968 - - t99*: adjust the references to the default branch name "main"
969 - - tests(git-p4): transition to the default branch name `main`
970 - - t9[5-7]*: adjust the references to the default branch name "main"
971 - - t9[0-4]*: adjust the references to the default branch name "main"
972 - - t8*: adjust the references to the default branch name "main"
973 - - t7[5-9]*: adjust the references to the default branch name "main"
974 - - t7[0-4]*: adjust the references to the default branch name "main"
975 - - t6[4-9]*: adjust the references to the default branch name "main"
976 - - t64*: preemptively adjust alignment to prepare for `master` -> `main`
977 - - t6[0-3]*: adjust the references to the default branch name "main"
978 - - t5[6-9]*: adjust the references to the default branch name "main"
979 - - t55[4-9]*: adjust the references to the default branch name "main"
980 - - t55[23]*: adjust the references to the default branch name "main"
981 - - t551*: adjust the references to the default branch name "main"
982 - - t550*: adjust the references to the default branch name "main"
983 - - t5503: prepare aligned comment for replacing `master` with `main`
984 - - t5[0-4]*: adjust the references to the default branch name "main"
985 - - t5323: prepare centered comment for `master` -> `main`
986 - - t4*: adjust the references to the default branch name "main"
987 - - t3[5-9]*: adjust the references to the default branch name "main"
988 - - t34*: adjust the references to the default branch name "main"
989 - - t3416: preemptively adjust alignment in a comment
990 - - t3[0-3]*: adjust the references to the default branch name "main"
991 - - t2*: adjust the references to the default branch name "main"
992 - - t[01]*: adjust the references to the default branch name "main"
993 - - t0060: preemptively adjust alignment
994 - - tests: mark tests relying on the current default for `init.defaultBranch`
995 - - Merge 'jk/diff-release-filespec-fix' into js/default-branch-name-tests-final-stretch
1210 + (merged to 'next' on 2021-01-13 at 0e93f0d529)
1211 + + tests: drop prereq `PREPARE_FOR_MAIN_BRANCH` where no longer needed
1212 + + t99*: adjust the references to the default branch name "main"
1213 + + tests(git-p4): transition to the default branch name `main`
1214 + + t9[5-7]*: adjust the references to the default branch name "main"
1215 + + t9[0-4]*: adjust the references to the default branch name "main"
1216 + + t8*: adjust the references to the default branch name "main"
1217 + + t7[5-9]*: adjust the references to the default branch name "main"
1218 + + t7[0-4]*: adjust the references to the default branch name "main"
1219 + + t6[4-9]*: adjust the references to the default branch name "main"
1220 + + t64*: preemptively adjust alignment to prepare for `master` -> `main`
1221 + + t6[0-3]*: adjust the references to the default branch name "main"
1222 + + t5[6-9]*: adjust the references to the default branch name "main"
1223 + + t55[4-9]*: adjust the references to the default branch name "main"
1224 + + t55[23]*: adjust the references to the default branch name "main"
1225 + + t551*: adjust the references to the default branch name "main"
1226 + + t550*: adjust the references to the default branch name "main"
1227 + + t5503: prepare aligned comment for replacing `master` with `main`
1228 + + t5[0-4]*: adjust the references to the default branch name "main"
1229 + + t5323: prepare centered comment for `master` -> `main`
1230 + + t4*: adjust the references to the default branch name "main"
1231 + + t3[5-9]*: adjust the references to the default branch name "main"
1232 + + t34*: adjust the references to the default branch name "main"
1233 + + t3416: preemptively adjust alignment in a comment
1234 + + t3[0-3]*: adjust the references to the default branch name "main"
1235 + + t2*: adjust the references to the default branch name "main"
1236 + + t[01]*: adjust the references to the default branch name "main"
1237 + + t0060: preemptively adjust alignment
1238 + + tests: mark tests relying on the current default for `init.defaultBranch`
1239 + + Merge 'jk/diff-release-filespec-fix' into js/default-branch-name-tests-final-stretch
1240
1241 Prepare tests not to be affected by the name of the default branch
1242 "git init" creates.
1243
1000 - Will merge to 'next'.
1244 + Will merge to 'master'.
1245
1246
1247 * ds/maintenance-part-4 (2021-01-05) 4 commits
@@ -1015,7 +1259,8 @@ Release tarballs are available at:
1259
1260
1261 * sj/untracked-files-in-submodule-directory-is-not-dirty (2020-12-08) 1 commit
1018 - - diff: do not show submodule with untracked files as "-dirty"
1262 + (merged to 'next' on 2021-01-12 at 2aca21c42e)
1263 + + diff: do not show submodule with untracked files as "-dirty"
1264
1265 "git diff" showed a submodule working tree with untracked cruft as
1266 "Submodule commit <objectname>-dirty", but a natural expectation is
@@ -1023,7 +1268,7 @@ Release tarballs are available at:
1268 which does not consider having untracked files in the working tree
1269 as source of dirtiness. The inconsistency has been fixed.
1270
1026 - Will merge to 'next'.
1271 + Will merge to 'master'.
1272
1273 --------------------------------------------------
1274 [Discarded]
@@ -1034,3 +1279,13 @@ Release tarballs are available at:
1279 It turns out that the original "problem" that inspired the feature
1280 was working as designed.
1281 cf. <CAPQE4+rhWT9kgusNXOw5cnJ-oFq++4G1FMaXvQ3wppQ0GE0hSA@mail.gmail.com>
1282 +
1283 +
1284 +* bc/hashed-mailmap (2020-12-12) 1 commit
1285 + . mailmap: support hashed entries in mailmaps
1286 +
1287 + The mailmap database learned to take hashed value as the original
1288 + side of mapping.
1289 +
1290 + Retracted for now.
1291 + cf. <X/uvhc5Hpu792qA/@camp.crustytoothpaste.net>