What's cooking (2021/03 #07)

Junio C Hamano committed Mar 22, 2021 at 15:15 UTC 6ab646e998fc66e68c3571d5caded7784dcfd431
1 file changed +226 -323
whats-cooking.txt
+226 -323
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Mar 2021, #06; Sat, 20)
4 -X-master-at: 98164e9585e02e31dcf1377a553efe076c15f8c6
5 -X-next-at: 969a361487c061e846b5006dbe0a9d5867dba012
3 +Subject: What's cooking in git.git (Mar 2021, #07; Mon, 22)
4 +X-master-at: 142430338477d9d1bb25be66267225fb58498d92
5 +X-next-at: 6335e70b5e894eb553908aed65279cb1c81a147e
6
7 -What's cooking in git.git (Mar 2021, #06; Sat, 20)
7 +What's cooking in git.git (Mar 2021, #07; Mon, 22)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking. Commits prefixed with '-' are
@@ -12,13 +12,10 @@ 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 -The first batch of topics (all fixes, and most are meant to be
16 -merged eventually to the maintenance track) is in 'master'.
17 -
18 -The tip of the 'next' hasn't been rewound yet, so it is a good time
19 -to nominate those topics that would benefit by a chance to get rid
20 -of "oops that was wrong and here is a fix" steps out of them by
21 -rebuilding on a clean slate.
15 +The tip of the 'next' has been rewound and rebuilt from the tip of
16 +'master'. Matheus's parallel checkout (part 1) topic has been
17 +ejected from 'next' to be replaced with a new iteration when it
18 +comes.
19
20 Copies of the source code to Git live in many repositories, and the
21 following is a list of the ones I push into or their mirrors. Some
@@ -51,103 +48,196 @@ Release tarballs are available at:
48 --------------------------------------------------
49 [Graduated to 'master']
50
54 -* ah/make-fuzz-all-doc-update (2021-03-08) 1 commit
55 - (merged to 'next' on 2021-03-13 at e82816998f)
56 - + Makefile: update 'make fuzz-all' docs to reflect modern clang
51 +* ab/grep-pcre2-allocfix (2021-02-17) 10 commits
52 + (merged to 'next' on 2021-03-04 at 26d2b726b1)
53 + + grep/pcre2: move definitions of pcre2_{malloc,free}
54 + + grep/pcre2: move back to thread-only PCREv2 structures
55 + + grep/pcre2: actually make pcre2 use custom allocator
56 + + grep/pcre2: use pcre2_maketables_free() function
57 + + grep/pcre2: use compile-time PCREv2 version test
58 + + grep/pcre2: add GREP_PCRE2_DEBUG_MALLOC debug mode
59 + + grep/pcre2: prepare to add debugging to pcre2_malloc()
60 + + grep/pcre2: correct reference to grep_init() in comment
61 + + grep/pcre2: drop needless assignment to NULL
62 + + grep/pcre2: drop needless assignment + assert() on opt->pcre2
63
58 - Update insn in Makefile comments to run fuzz-all target.
64 + Updates to memory allocation code around the use of pcre2 library.
65
66
61 -* jc/calloc-fix (2021-03-15) 1 commit
62 - (merged to 'next' on 2021-03-18 at b656fb7750)
63 - + xcalloc: use CALLOC_ARRAY() when applicable
67 +* ab/remote-write-config-in-camel-case (2021-02-24) 2 commits
68 + (merged to 'next' on 2021-03-01 at a01bd0d8e4)
69 + + remote: write camel-cased *.pushRemote on rename
70 + + remote: add camel-cased *.tagOpt key, like clone
71
65 - Code clean-up.
72 + Update C code that sets a few configuration variables when a remote
73 + is configured so that it spells configuration variable names in the
74 + canonical camelCase.
75
76
68 -* jh/fsmonitor-prework (2021-03-17) 1 commit
69 - (merged to 'next' on 2021-03-18 at 991232bc89)
70 - + fsmonitor: avoid global-buffer-overflow READ when checking trivial response
77 +* bc/clone-bare-with-conflicting-config (2021-03-10) 1 commit
78 + (merged to 'next' on 2021-03-14 at 963a86199c)
79 + + builtin/init-db: handle bare clones when core.bare set to false
80
72 - The fsmonitor interface read from its input without making sure
73 - there is something to read from. This bug is new in 2.31
74 - timeframe.
81 + "git -c core.bare=false clone --bare ..." would have segfaulted,
82 + which has been corrected.
83
84
77 -* jk/bisect-peel-tag-fix (2021-03-17) 1 commit
78 - (merged to 'next' on 2021-03-18 at 6ebde86229)
79 - + bisect: peel annotated tags to commits
85 +* dl/cat-file-doc-cleanup (2021-03-03) 2 commits
86 + (merged to 'next' on 2021-03-13 at f1a216175a)
87 + + git-cat-file.txt: remove references to "sha1"
88 + + git-cat-file.txt: monospace args, placeholders and filenames
89
81 - "git bisect" reimplemented more in C during 2.30 timeframe did not
82 - take an annotated tag as a good/bad endpoint well. This regression
83 - has been corrected.
90 + Doc cleanup.
91
92
86 -* jk/slimmed-down (2021-03-14) 1 commit
87 - (merged to 'next' on 2021-03-18 at 4993f4effa)
88 - + vcs-svn: remove header files as well
93 +* dl/stash-show-untracked (2021-03-05) 2 commits
94 + (merged to 'next' on 2021-03-08 at 510d4cfa5f)
95 + + stash show: learn stash.showIncludeUntracked
96 + + stash show: teach --include-untracked and --only-untracked
97
90 - Unused code removal.
98 + "git stash show" learned to optionally show untracked part of the
99 + stash.
100
101
93 -* js/fsmonitor-unpack-fix (2021-03-17) 2 commits
94 - (merged to 'next' on 2021-03-18 at 2ab614ffda)
95 - + fsmonitor: do not forget to release the token in `discard_index()`
96 - + fsmonitor: fix memory corruption in some corner cases
102 +* ds/commit-graph-generation-config (2021-02-25) 2 commits
103 + (merged to 'next' on 2021-03-01 at 926537ea97)
104 + + commit-graph: use config to specify generation type
105 + + commit-graph: create local repository pointer
106
98 - The data structure used by fsmonitor interface was not properly
99 - duplicated during an in-core merge, leading to use-after-free etc.
107 + A new configuration variable has been introduced to allow choosing
108 + which version of the generation number gets used in the
109 + commit-graph file.
110
111
102 -* jt/clone-unborn-head (2021-03-17) 1 commit
103 - (merged to 'next' on 2021-03-18 at c61dd431c3)
104 - + t5606: run clone branch name test with protocol v2
112 +* en/ort-perf-batch-8 (2021-02-26) 10 commits
113 + (merged to 'next' on 2021-03-07 at f03b2c1acd)
114 + + diffcore-rename: compute dir_rename_guess from dir_rename_counts
115 + + diffcore-rename: limit dir_rename_counts computation to relevant dirs
116 + + diffcore-rename: compute dir_rename_counts in stages
117 + + diffcore-rename: extend cleanup_dir_rename_info()
118 + + diffcore-rename: move dir_rename_counts into dir_rename_info struct
119 + + diffcore-rename: add function for clearing dir_rename_count
120 + + Move computation of dir_rename_count from merge-ort to diffcore-rename
121 + + diffcore-rename: add a mapping of destination names to their indices
122 + + diffcore-rename: provide basic implementation of idx_possible_rename()
123 + + diffcore-rename: use directory rename guided basename comparisons
124 + (this branch is used by en/ort-perf-batch-10, en/ort-perf-batch-9 and en/ort-readiness.)
125
106 - Test fix.
126 + Rename detection rework continues.
127
128
109 -* km/config-doc-typofix (2021-03-17) 1 commit
110 - (merged to 'next' on 2021-03-18 at aa8439608d)
111 - + config.txt: add missing period
129 +* jk/filter-branch-sha256 (2021-03-10) 3 commits
130 + (merged to 'next' on 2021-03-14 at e4e624590a)
131 + + filter-branch: drop $_x40 glob
132 + + filter-branch: drop multiple-ancestor warning
133 + + t7003: test ref rewriting explicitly
134
113 - Docfix.
135 + Code clean-up.
136 + In the longer term, we might want to remove filter-branch and nudge
137 + folks to more modern tools.
138
139
116 -* rs/avoid-null-statement-after-macro-call (2021-03-17) 2 commits
117 - (merged to 'next' on 2021-03-18 at 9306b824a4)
118 - + mem-pool: drop trailing semicolon from macro definition
119 - + block-sha1: drop trailing semicolon from macro definition
140 +* jk/open-dotgitx-with-nofollow (2021-02-16) 6 commits
141 + (merged to 'next' on 2021-02-25 at a784bf7be6)
142 + + mailmap: do not respect symlinks for in-tree .mailmap
143 + + exclude: do not respect symlinks for in-tree .gitignore
144 + + attr: do not respect symlinks for in-tree .gitattributes
145 + + exclude: add flags parameter to add_patterns()
146 + + attr: convert "macro_ok" into a flags field
147 + + add open_nofollow() helper
148
121 - Fix macros that can silently inject unintended null-statements.
149 + It does not make sense to make ".gitattributes", ".gitignore" and
150 + ".mailmap" symlinks, as they are supposed to be usable from the
151 + object store (think: bare repositories where HEAD:.mailmap etc. are
152 + used). When these files are symbolic links, we used to read the
153 + contents of the files pointed by them by mistake, which has been
154 + corrected.
155
156
124 -* rs/calloc-array (2021-03-15) 3 commits
125 - (merged to 'next' on 2021-03-18 at f693824416)
126 - + cocci: allow xcalloc(1, size)
127 - + use CALLOC_ARRAY
128 - + git-compat-util.h: drop trailing semicolon from macro definition
157 +* jk/perf-in-worktrees (2021-02-26) 2 commits
158 + (merged to 'next' on 2021-03-02 at ea298cb298)
159 + + t/perf: avoid copying worktree files from test repo
160 + + t/perf: handle worktrees as test repos
161
130 - CALLOC_ARRAY() macro replaces many uses of xcalloc().
162 + Perf test update to work better in secondary worktrees.
163
164
133 -* rs/xcalloc-takes-nelem-first (2021-03-08) 1 commit
134 - (merged to 'next' on 2021-03-14 at 312660a5ce)
135 - + fix xcalloc() argument order
165 +* jr/doc-ignore-typofix (2021-03-03) 1 commit
166 + (merged to 'next' on 2021-03-13 at 0ce1e751b1)
167 + + doc: .gitignore documentation typofix
168
137 - Code cleanup.
169 + Doc cleanup.
170
171
140 -* tb/git-mv-icase-fix (2021-03-03) 1 commit
141 - (merged to 'next' on 2021-03-14 at 700e7556f1)
142 - + git mv foo FOO ; git mv foo bar gave an assert
172 +* mt/cleanly-die-upon-missing-required-filter (2021-02-26) 1 commit
173 + (merged to 'next' on 2021-03-01 at 357954af7c)
174 + + convert: fail gracefully upon missing clean cmd on required filter
175 +
176 + We had a code to diagnose and die cleanly when a required
177 + clean/smudge filter is missing, but an assert before that
178 + unnecessarily fired, hiding the end-user facing die() message.
179 +
180 +
181 +* ps/update-ref-trans-hook-doc (2021-03-01) 2 commits
182 + (merged to 'next' on 2021-03-14 at 41c418967d)
183 + + githooks.txt: clarify documentation on reference-transaction hook
184 + + githooks.txt: replace mentions of SHA-1 specific properties
185 +
186 + Doc update.
187 +
188 +
189 +* rr/mailmap-entry-self (2021-03-08) 1 commit
190 + (merged to 'next' on 2021-03-13 at 9f98a99713)
191 + + Add entry for Ramkumar Ramachandra
192 +
193 + Will merge to 'master'.
194 +
195 +
196 +* rs/pretty-describe (2021-03-11) 5 commits
197 + (merged to 'next' on 2021-03-12 at e987259477)
198 + + archive: expand only a single %(describe) per archive
199 + (merged to 'next' on 2021-03-01 at bee9248828)
200 + + pretty: document multiple %(describe) being inconsistent
201 + + t4205: assert %(describe) test coverage
202 + (merged to 'next' on 2021-02-25 at 2347ed8fe6)
203 + + pretty: add merge and exclude options to %(describe)
204 + + pretty: add %(describe)
205 +
206 + "git log --format='...'" learned "%(describe)" placeholder.
207
144 - Fix a corner case bug in "git mv" on case insensitive systems,
145 - which was introduced in 2.29 timeframe.
208 +
209 +* sv/t9801-test-path-is-file-cleanup (2021-03-03) 1 commit
210 + (merged to 'next' on 2021-03-13 at 14997360bb)
211 + + t9801: replace test -f with test_path_is_file
212 +
213 + Test cleanup.
214
215 --------------------------------------------------
216 [New Topics]
217
150 -* ds/sparse-index (2021-03-18) 20 commits
218 +* ab/diff-no-index-tests (2021-03-22) 2 commits
219 + - diff --no-index tests: test mode normalization
220 + - diff --no-index tests: add test for --exit-code
221 +
222 + More test coverage over "diff --no-index".
223 +
224 + Will merge to 'next'.
225 +
226 +
227 +* cs/http-use-basic-after-failed-negotiate (2021-03-22) 1 commit
228 + - remote-curl: fall back to basic auth if Negotiate fails
229 +
230 + When accessing a server with a URL like https://user:pass@site/, we
231 + did not to fall back to the basic authentication with the
232 + credential material embedded in the URL after the "Negotiate"
233 + authentication failed. Now we do.
234 +
235 + Will merge to 'next'.
236 +
237 +--------------------------------------------------
238 +[Cooking]
239 +
240 +* ds/sparse-index (2021-03-20) 20 commits
241 - p2000: add sparse-index repos
242 - sparse-index: loose integration with cache_tree_verify()
243 - cache-tree: integrate with sparse directory entries
@@ -180,13 +270,15 @@ Release tarballs are available at:
270 - merge-ort: record the reason that we want a rename for a directory
271 - merge-ort, diffcore-rename: tweak dirs_removed and relevant_source type
272 - diffcore-rename: take advantage of "majority rules" to skip more renames
183 - (this branch is used by en/ort-readiness; uses en/ort-perf-batch-8 and en/ort-perf-batch-9.)
273 + (this branch is used by en/ort-readiness; uses en/ort-perf-batch-9.)
274
275
276 * jk/fail-prereq-testfix (2021-03-18) 1 commit
187 - (merged to 'next' on 2021-03-19 at 180b9c0911)
277 + (merged to 'next' on 2021-03-22 at efbda3a7ce)
278 + t: annotate !PTHREADS tests with !FAIL_PREREQS
279
280 + Originally merged to 'next' on 2021-03-19
281 +
282 GIT_TEST_FAIL_PREREQS is a mechanism to skip test pieces with
283 prerequisites to catch broken tests that depend on the side effects
284 of optional pieces, but did not work at all when negative
@@ -222,7 +314,7 @@ Release tarballs are available at:
314 Will merge to 'next'.
315
316
225 -* mt/parallel-checkout-part-2 (2021-03-18) 5 commits
317 +* mt/parallel-checkout-part-2 (2021-03-21) 5 commits
318 - parallel-checkout: add design documentation
319 - parallel-checkout: support progress displaying
320 - parallel-checkout: add configuration options
@@ -232,18 +324,20 @@ Release tarballs are available at:
324
325
326 * nk/diff-index-fsmonitor (2021-03-18) 3 commits
235 - (merged to 'next' on 2021-03-19 at 3b83b2359a)
327 + (merged to 'next' on 2021-03-22 at 3d4fa0bc51)
328 + fsmonitor: add perf test for git diff HEAD
329 + fsmonitor: add assertion that fsmonitor is valid to check_removed
330 + fsmonitor: skip lstat deletion check during git diff-index
331
332 + Originally merged to 'next' on 2021-03-19
333 +
334 "git diff-index" codepath has been taught to trust fsmonitor status
335 to reduce number of lstat() calls.
336
337 Will merge to 'master'.
338
339
246 -* ps/pack-bitmap-optim (2021-03-18) 1 commit
340 +* ps/pack-bitmap-optim (2021-03-22) 1 commit
341 - pack-bitmap: avoid traversal of objects referenced by uninteresting tag
342
343 Optimize "rev-list --use-bitmap-index --objects" corner case that
@@ -272,7 +366,7 @@ Release tarballs are available at:
366 cf. <xmqqtup7nnld.fsf@gitster.g>
367
368
275 -* ds/sparse-index-protections (2021-03-19) 27 commits
369 +* ds/sparse-index-protections (2021-03-20) 27 commits
370 - name-hash: use expand_to_path()
371 - sparse-index: expand_to_path()
372 - revision: ensure full index
@@ -319,15 +413,11 @@ Release tarballs are available at:
413 - merge-ort: have ll_merge() use a special attr_index for renormalization
414 - merge-ort: add a special minimal index just for renormalization
415 - merge-ort: use STABLE_QSORT instead of QSORT where required
322 - (this branch uses en/ort-perf-batch-10, en/ort-perf-batch-8 and en/ort-perf-batch-9.)
416 + (this branch uses en/ort-perf-batch-10 and en/ort-perf-batch-9.)
417
418 Plug the ort merge backend throughout the rest of the system, and
419 start testing it as a replacement for the recursive backend.
420
327 - Will merge to 'next'.
328 -
329 ---------------------------------------------------
330 -[Cooking]
421
422 * ag/merge-strategies-in-c (2021-03-17) 15 commits
423 - sequencer: use the "octopus" merge strategy without forking
@@ -352,22 +442,24 @@ Release tarballs are available at:
442 Ready?
443
444
355 -* mt/parallel-checkout-part-1 (2021-03-18) 9 commits
356 - (merged to 'next' on 2021-03-19 at a1bc83ad8e)
357 - + entry: add checkout_entry_ca() taking preloaded conv_attrs
358 - + entry: move conv_attrs lookup up to checkout_entry()
359 - + entry: extract update_ce_after_write() from write_entry()
360 - + entry: make fstat_output() and read_blob_entry() public
361 - + entry: extract a header file for entry.c functions
362 - + convert: add classification for conv_attrs struct
363 - + convert: add get_stream_filter_ca() variant
364 - + convert: add [async_]convert_to_working_tree_ca() variants
365 - + convert: make convert_attrs() and convert structs public
445 +* mt/parallel-checkout-part-1 (2021-03-21) 10 commits
446 + - stash: adjust for recent change to entry.h
447 + - entry: add checkout_entry_ca() taking preloaded conv_attrs
448 + - entry: move conv_attrs lookup up to checkout_entry()
449 + - entry: extract update_ce_after_write() from write_entry()
450 + - entry: make fstat_output() and read_blob_entry() public
451 + - entry: extract a header file for entry.c functions
452 + - convert: add classification for conv_attrs struct
453 + - convert: add get_stream_filter_ca() variant
454 + - convert: add [async_]convert_to_working_tree_ca() variants
455 + - convert: make convert_attrs() and convert structs public
456 (this branch is used by mt/parallel-checkout-part-2.)
457
458 + Originally merged to 'next' on 2021-03-21
459 +
460 Preparatory API changes for parallel checkout.
461
370 - Will merge to 'master'.
462 + Kicked out of 'next' tentatively and wait for a replacement.
463
464
465 * ab/fsck-api-cleanup (2021-03-17) 19 commits
@@ -404,17 +496,19 @@ Release tarballs are available at:
496 - merge-ort: add data structures for an alternate tree traversal
497 - merge-ort: precompute subset of sources for which we need rename detection
498 - diffcore-rename: enable filtering possible rename sources
407 - (this branch is used by en/ort-perf-batch-10 and en/ort-readiness; uses en/ort-perf-batch-8.)
499 + (this branch is used by en/ort-perf-batch-10 and en/ort-readiness.)
500
501 The ort merge backend has been optimized by skipping irrelevant
502 renames.
503
504
505 * js/http-pki-credential-store (2021-03-11) 2 commits
414 - (merged to 'next' on 2021-03-19 at 5138870dee)
506 + (merged to 'next' on 2021-03-22 at 0df16bc9b3)
507 + http: drop the check for an empty proxy password before approving
508 + http: store credential when PKI auth is used
509
510 + Originally merged to 'next' on 2021-03-19
511 +
512 The http codepath learned to let the credential layer to cache the
513 password used to unlock a certificate that has successfully been
514 used.
@@ -422,17 +516,6 @@ Release tarballs are available at:
516 Will merge to 'master'.
517
518
425 -* dl/stash-show-untracked (2021-03-05) 2 commits
426 - (merged to 'next' on 2021-03-08 at 510d4cfa5f)
427 - + stash show: learn stash.showIncludeUntracked
428 - + stash show: teach --include-untracked and --only-untracked
429 -
430 - "git stash show" learned to optionally show untracked part of the
431 - stash.
432 -
433 - Will merge to 'master'.
434 -
435 -
519 * hn/reftable (2021-03-12) 15 commits
520 - Add "test-tool dump-reftable" command.
521 - git-prompt: prepare for reftable refs backend
@@ -468,21 +551,7 @@ Release tarballs are available at:
551 trying to test.
552
553
471 -* jk/filter-branch-sha256 (2021-03-10) 3 commits
472 - (merged to 'next' on 2021-03-14 at e4e624590a)
473 - + filter-branch: drop $_x40 glob
474 - + filter-branch: drop multiple-ancestor warning
475 - + t7003: test ref rewriting explicitly
476 -
477 - Code clean-up.
478 -
479 - Will merge to 'master'.
480 - In the longer term, we might want to remove filter-branch and nudge
481 - folks to more modern tools.
482 -
483 -
484 -* ab/make-cocci-dedup (2021-03-12) 5 commits
485 - - Makefile/coccicheck: use --include-headers-for-types
554 +* ab/make-cocci-dedup (2021-03-22) 4 commits
555 - Makefile/coccicheck: set SPATCH_BATCH_SIZE to 8
556 - Makefile/coccicheck: allow for setting xargs concurrency
557 - Makefile/coccicheck: speed up and fix bug with duplicate hunks
@@ -490,32 +559,23 @@ Release tarballs are available at:
559
560 Coccicheck update.
561
493 - Expecting a reroll.
494 - IIUC, the "speed up" claimed in the intermediate steps are all gone
495 - when correctness is brought back in with the last step. The series
496 - needs a restructuring to avoid confuing readers with "it produces
497 - incorrect result very quickly" followed by "we now produce right
498 - result, even more correct than the original, but we are not all
499 - that fast" progression.
562 + cf. <cover.1616414951.git.avarab@gmail.com>
563
564
502 -* ab/read-tree (2021-03-17) 9 commits
565 +* ab/read-tree (2021-03-20) 8 commits
566 + - tree.h API: simplify read_tree_recursive() signature
567 - tree.h API: expose read_tree_1() as read_tree_at()
504 - - show tests: add test for "git show <tree>"
505 - - tree.h API: rename read_tree_recursive() to read_tree()
506 - - tree.h API: remove "stage" parameter from read_tree_recursive()
507 - - tree.h API: remove support for starting at prefix != ""
568 + - archive: stop passing "stage" through read_tree_recursive()
569 - ls-files: refactor away read_tree()
570 - ls-files: don't needlessly pass around stage variable
571 - tree.c API: move read_tree() into builtin/ls-files.c
572 - ls-files tests: add meaningful --with-tree tests
512 - (this branch is used by ab/tree-walk-with-object-type, ds/sparse-index and ds/sparse-index-protections.)
573 + - show tests: add test for "git show <tree>"
574 + (this branch is used by ds/sparse-index and ds/sparse-index-protections.)
575
576 Code simplification by removing support for a caller that is long gone.
577
516 - Expecting a reroll.
517 - Mostly good, but the progression shows "oops we screwed up" earlier
518 - in the series that is then fixed later.
578 + Will merge to 'next'.
579
580
581 * ab/unexpected-object-type (2021-03-08) 7 commits
@@ -533,7 +593,7 @@ Release tarballs are available at:
593 Looked good except for some rewrites.
594
595
536 -* ah/plugleaks (2021-03-14) 9 commits
596 +* ah/plugleaks (2021-03-21) 9 commits
597 - transport: also free remote_refs in transport_disconnect()
598 - parse-options: don't leak alias help messages
599 - parse-options: convert bitfield values to use binary shift
@@ -550,91 +610,13 @@ Release tarballs are available at:
610 Ready?
611
612
553 -* bc/clone-bare-with-conflicting-config (2021-03-10) 1 commit
554 - (merged to 'next' on 2021-03-14 at 963a86199c)
555 - + builtin/init-db: handle bare clones when core.bare set to false
556 -
557 - "git -c core.bare=false clone --bare ..." would have segfaulted,
558 - which has been corrected.
559 -
560 - Will merge to 'master'.
561 -
562 -
563 -* dl/cat-file-doc-cleanup (2021-03-03) 2 commits
564 - (merged to 'next' on 2021-03-13 at f1a216175a)
565 - + git-cat-file.txt: remove references to "sha1"
566 - + git-cat-file.txt: monospace args, placeholders and filenames
567 -
568 - Doc cleanup.
569 -
570 - Will merge to 'master'.
571 -
572 -
573 -* jr/doc-ignore-typofix (2021-03-03) 1 commit
574 - (merged to 'next' on 2021-03-13 at 0ce1e751b1)
575 - + doc: .gitignore documentation typofix
576 -
577 - Doc cleanup.
578 -
579 - Will merge to 'master'.
580 -
581 -
582 -* rr/mailmap-entry-self (2021-03-08) 1 commit
583 - (merged to 'next' on 2021-03-13 at 9f98a99713)
584 - + Add entry for Ramkumar Ramachandra
585 -
586 - Will merge to 'master'.
587 -
588 -
589 -* sv/t9801-test-path-is-file-cleanup (2021-03-03) 1 commit
590 - (merged to 'next' on 2021-03-13 at 14997360bb)
591 - + t9801: replace test -f with test_path_is_file
592 -
593 - Test cleanup.
594 -
595 - Will merge to 'master'.
596 -
597 -
613 * tb/push-simple-uses-branch-merge-config (2021-03-13) 1 commit
599 - (merged to 'next' on 2021-03-19 at 2a81ed26fd)
614 + (merged to 'next' on 2021-03-22 at bec0a72090)
615 + Documentation/git-push.txt: correct configuration typo
616
602 - Doc update.
603 -
604 - Will merge to 'master'.
617 + Originally merged to 'next' on 2021-03-19
618
606 -
607 -* ab/remote-write-config-in-camel-case (2021-02-24) 2 commits
608 - (merged to 'next' on 2021-03-01 at a01bd0d8e4)
609 - + remote: write camel-cased *.pushRemote on rename
610 - + remote: add camel-cased *.tagOpt key, like clone
611 -
612 - Update C code that sets a few configuration variables when a remote
613 - is configured so that it spells configuration variable names in the
614 - canonical camelCase.
615 -
616 - Will merge to 'master'.
617 -
618 -
619 -* ds/commit-graph-generation-config (2021-02-25) 2 commits
620 - (merged to 'next' on 2021-03-01 at 926537ea97)
621 - + commit-graph: use config to specify generation type
622 - + commit-graph: create local repository pointer
623 -
624 - A new configuration variable has been introduced to allow choosing
625 - which version of the generation number gets used in the
626 - commit-graph file.
627 -
628 - Will merge to 'master'.
629 -
630 -
631 -* mt/cleanly-die-upon-missing-required-filter (2021-02-26) 1 commit
632 - (merged to 'next' on 2021-03-01 at 357954af7c)
633 - + convert: fail gracefully upon missing clean cmd on required filter
634 -
635 - We had a code to diagnose and die cleanly when a required
636 - clean/smudge filter is missing, but an assert before that
637 - unnecessarily fired, hiding the end-user facing die() message.
619 + Doc update.
620
621 Will merge to 'master'.
622
@@ -657,86 +639,31 @@ Release tarballs are available at:
639 cf. <xmqq1rcj6hzr.fsf@gitster.g>
640
641
660 -* en/ort-perf-batch-8 (2021-02-26) 10 commits
661 - (merged to 'next' on 2021-03-07 at f03b2c1acd)
662 - + diffcore-rename: compute dir_rename_guess from dir_rename_counts
663 - + diffcore-rename: limit dir_rename_counts computation to relevant dirs
664 - + diffcore-rename: compute dir_rename_counts in stages
665 - + diffcore-rename: extend cleanup_dir_rename_info()
666 - + diffcore-rename: move dir_rename_counts into dir_rename_info struct
667 - + diffcore-rename: add function for clearing dir_rename_count
668 - + Move computation of dir_rename_count from merge-ort to diffcore-rename
669 - + diffcore-rename: add a mapping of destination names to their indices
670 - + diffcore-rename: provide basic implementation of idx_possible_rename()
671 - + diffcore-rename: use directory rename guided basename comparisons
672 - (this branch is used by en/ort-perf-batch-10, en/ort-perf-batch-9 and en/ort-readiness.)
673 -
674 - Rename detection rework continues.
675 -
676 - Will merge to 'master'.
677 -
678 -
679 -* jk/perf-in-worktrees (2021-02-26) 2 commits
680 - (merged to 'next' on 2021-03-02 at ea298cb298)
681 - + t/perf: avoid copying worktree files from test repo
682 - + t/perf: handle worktrees as test repos
683 -
684 - Perf test update to work better in secondary worktrees.
685 -
686 - Will merge to 'master'.
687 -
688 -
689 -* ps/update-ref-trans-hook-doc (2021-03-01) 2 commits
690 - (merged to 'next' on 2021-03-14 at 41c418967d)
691 - + githooks.txt: clarify documentation on reference-transaction hook
692 - + githooks.txt: replace mentions of SHA-1 specific properties
693 -
694 - Doc update.
695 -
696 - Will merge to 'master'.
697 -
698 -
699 -* zh/format-patch-fractional-reroll-count (2021-03-20) 1 commit
642 +* zh/format-patch-fractional-reroll-count (2021-03-21) 1 commit
643 - format-patch: allow a non-integral version numbers
644
645 "git format-patch -v<n>" learned to allow a reroll count that is
646 not an integer.
647
705 - Expecting a reroll.
648 + Will merge to 'next'.
649
650
651 * ab/make-cleanup (2021-02-23) 5 commits
709 - (merged to 'next' on 2021-03-19 at a86fcc482d)
652 + (merged to 'next' on 2021-03-22 at e9e16c9fc4)
653 + Makefile: add {program,xdiff,test,git,fuzz}-objs & objects targets
654 + Makefile: split OBJECTS into OBJECTS and GIT_OBJS
655 + Makefile: sort OBJECTS assignment for subsequent change
656 + Makefile: split up long OBJECTS line
657 + Makefile: guard against TEST_OBJS in the environment
658
659 + Originally merged to 'next' on 2021-03-19
660 +
661 Reorganize Makefile to allow building git.o and other essential
662 objects without extra stuff needed only for testing.
663
664 Will merge to 'master'.
665
666
722 -* ab/grep-pcre2-allocfix (2021-02-17) 10 commits
723 - (merged to 'next' on 2021-03-04 at 26d2b726b1)
724 - + grep/pcre2: move definitions of pcre2_{malloc,free}
725 - + grep/pcre2: move back to thread-only PCREv2 structures
726 - + grep/pcre2: actually make pcre2 use custom allocator
727 - + grep/pcre2: use pcre2_maketables_free() function
728 - + grep/pcre2: use compile-time PCREv2 version test
729 - + grep/pcre2: add GREP_PCRE2_DEBUG_MALLOC debug mode
730 - + grep/pcre2: prepare to add debugging to pcre2_malloc()
731 - + grep/pcre2: correct reference to grep_init() in comment
732 - + grep/pcre2: drop needless assignment to NULL
733 - + grep/pcre2: drop needless assignment + assert() on opt->pcre2
734 -
735 - Updates to memory allocation code around the use of pcre2 library.
736 -
737 - Will merge to 'master'.
738 -
739 -
667 * tb/reverse-midx (2021-03-11) 17 commits
668 - midx.c: improve cache locality in midx_pack_order_cmp()
669 - pack-revindex: write multi-pack reverse indexes
@@ -759,6 +686,8 @@ Release tarballs are available at:
686 An on-disk reverse-index to map the in-pack location of an object
687 back to its object name across multiple packfiles is introduced.
688
689 + Ready???
690 +
691
692 * ab/pickaxe-pcre2 (2021-02-18) 24 commits
693 - pickaxe -G: don't special-case create/delete
@@ -789,9 +718,11 @@ Release tarballs are available at:
718 Rewrite the backend for "diff -G/-S" to use pcre2 engine when
719 available.
720
721 + Ready???
722 +
723
724 * cm/rebase-i-fixup-amend-reword (2021-03-15) 6 commits
794 - (merged to 'next' on 2021-03-19 at 0f58ecb738)
725 + (merged to 'next' on 2021-03-22 at 6335e70b5e)
726 + doc/git-commit: add documentation for fixup=[amend|reword] options
727 + t3437: use --fixup with options to create amend! commit
728 + t7500: add tests for --fixup=[amend|reword] options
@@ -800,6 +731,8 @@ Release tarballs are available at:
731 + sequencer: export and rename subject_length()
732 (this branch uses cm/rebase-i and cm/rebase-i-updates.)
733
734 + Originally merged to 'next' on 2021-03-19
735 +
736 "git commit --fixup=<commit>", which was to tweak the changes made
737 to the contents while keeping the original log message intact,
738 learned "--fixup=(amend|reword):<commit>", that can be used to
@@ -809,42 +742,8 @@ Release tarballs are available at:
742 Will merge to 'master'.
743
744
812 -* jk/open-dotgitx-with-nofollow (2021-02-16) 6 commits
813 - (merged to 'next' on 2021-02-25 at a784bf7be6)
814 - + mailmap: do not respect symlinks for in-tree .mailmap
815 - + exclude: do not respect symlinks for in-tree .gitignore
816 - + attr: do not respect symlinks for in-tree .gitattributes
817 - + exclude: add flags parameter to add_patterns()
818 - + attr: convert "macro_ok" into a flags field
819 - + add open_nofollow() helper
820 -
821 - It does not make sense to make ".gitattributes", ".gitignore" and
822 - ".mailmap" symlinks, as they are supposed to be usable from the
823 - object store (think: bare repositories where HEAD:.mailmap etc. are
824 - used). When these files are symbolic links, we used to read the
825 - contents of the files pointed by them by mistake, which has been
826 - corrected.
827 -
828 - Will merge to 'master'.
829 -
830 -
831 -* rs/pretty-describe (2021-03-11) 5 commits
832 - (merged to 'next' on 2021-03-12 at e987259477)
833 - + archive: expand only a single %(describe) per archive
834 - (merged to 'next' on 2021-03-01 at bee9248828)
835 - + pretty: document multiple %(describe) being inconsistent
836 - + t4205: assert %(describe) test coverage
837 - (merged to 'next' on 2021-02-25 at 2347ed8fe6)
838 - + pretty: add merge and exclude options to %(describe)
839 - + pretty: add %(describe)
840 -
841 - "git log --format='...'" learned "%(describe)" placeholder.
842 -
843 - Will merge to 'master'.
844 -
845 -
745 * cm/rebase-i-updates (2021-02-10) 11 commits
847 - (merged to 'next' on 2021-02-12 at e29227780b)
746 + (merged to 'next' on 2021-03-22 at 067e2829d9)
747 + doc/rebase -i: fix typo in the documentation of 'fixup' command
748 + t/t3437: fixup the test 'multiple fixup -c opens editor once'
749 + t/t3437: use named commits in the tests
@@ -858,13 +757,14 @@ Release tarballs are available at:
757 + sequencer: fixup the datatype of the 'flag' argument
758 (this branch is used by cm/rebase-i-fixup-amend-reword; uses cm/rebase-i.)
759
760 + Originally merged to 'next' on 2021-02-12
761 +
762 Follow-up fixes to "cm/rebase-i" topic.
763
764 Will merge to 'master'.
765
766
866 -* jh/simple-ipc (2021-03-15) 13 commits
867 - - SQUASH??? CALLOC_ARRAY()
767 +* jh/simple-ipc (2021-03-22) 12 commits
768 - t0052: add simple-ipc tests and t/helper/test-simple-ipc tool
769 - simple-ipc: add Unix domain socket implementation
770 - unix-stream-server: create unix domain socket under lock
@@ -881,11 +781,11 @@ Release tarballs are available at:
781 A simple IPC interface gets introduced to build services like
782 fsmonitor on top.
783
884 - Expecting an update for SQUASH???
784 + Will merge to 'next'.
785
786
787 * cm/rebase-i (2021-01-29) 9 commits
888 - (merged to 'next' on 2021-02-01 at 4f9aa6cec3)
788 + (merged to 'next' on 2021-03-22 at d5612f5a75)
789 + doc/git-rebase: add documentation for fixup [-C|-c] options
790 + rebase -i: teach --autosquash to work with amend!
791 + t3437: test script for fixup [-C|-c] options in interactive rebase
@@ -897,20 +797,21 @@ Release tarballs are available at:
797 + rebase -i: only write fixup-message when it's needed
798 (this branch is used by cm/rebase-i-fixup-amend-reword and cm/rebase-i-updates.)
799
800 + Originally merged to 'next' on 2021-02-01
801 +
802 "rebase -i" is getting cleaned up and also enhanced.
803
804 Will merge to 'master'.
805
806
807 * tb/geometric-repack (2021-03-19) 14 commits
906 - - builtin/pack-objects.c: ignore missing links with --stdin-packs
907 - (merged to 'next' on 2021-03-08 at def1c48d43)
808 + (merged to 'next' on 2021-03-22 at 8147f00207)
809 + + builtin/pack-objects.c: ignore missing links with --stdin-packs
810 + builtin/repack.c: reword comment around pack-objects flags
811 + builtin/repack.c: be more conservative with unsigned overflows
812 + builtin/repack.c: assign pack split later
813 + t7703: test --geometric repack with loose objects
814 + builtin/repack.c: do not repack single packs with --geometric
913 - (merged to 'next' on 2021-02-25 at a854fdbaff)
815 + builtin/repack.c: add '--geometric' option
816 + packfile: add kept-pack cache for find_kept_pack_entry()
817 + builtin/pack-objects.c: rewrite honor-pack-keep logic
@@ -920,12 +821,14 @@ Release tarballs are available at:
821 + revision: learn '--no-kept-objects'
822 + packfile: introduce 'find_kept_pack_entry()'
823
824 + Originally merged to 'next' on 2021-03-08
825 +
826 "git repack" so far has been only capable of repacking everything
827 under the sun into a single pack (or split by size). A cleverer
828 strategy to reduce the cost of repacking a repository has been
829 introduced.
830
928 - Will merge to 'next'.
831 + Will merge to 'master'.
832
833
834 * es/config-hooks (2021-03-10) 37 commits