What's cooking (2021/05 #01)

Junio C Hamano committed May 6, 2021 at 14:00 UTC 1de9209a8798ef4ad406bcbfbaa5a7eff346755c
1 file changed +608 -473
whats-cooking.txt
+608 -473
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Apr 2021, #06; Thu, 29)
4 -X-master-at: 311531c9de557d25ac087c1637818bd2aad6eb3a
5 -X-next-at: 47e6f1690178d77508c72e3fec1411a0ca706661
3 +Subject: What's cooking in git.git (May 2021, #01; Thu, 6)
4 +X-master-at: 7e391989789db82983665667013a46eabc6fc570
5 +X-next-at: 1ce651569ca7e0a65f24af9c9548363d83d99866
6
7 -What's cooking in git.git (Apr 2021, #06; Thu, 29)
7 +What's cooking in git.git (May 2021, #01; Thu, 6)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking. Commits prefixed with '-' are
@@ -12,11 +12,6 @@ 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 -I am still catching up with the updates of various topics that
16 -happened during my absense, and I'd expect new patches will still
17 -take more time to be queued in 'seen' (as by definition I haven't
18 -seen many of them ;-).
19 -
15 Copies of the source code to Git live in many repositories, and the
16 following is a list of the ones I push into or their mirrors. Some
17 repositories have only a subset of branches.
@@ -48,293 +43,382 @@ Release tarballs are available at:
43 --------------------------------------------------
44 [Graduated to 'master']
45
51 -* ab/detox-gettext-tests (2021-04-13) 1 commit
52 - (merged to 'next' on 2021-04-15 at db0da2903a)
53 - + tests: remove all uses of test_i18cmp
46 +* ab/pathname-encoding-doc (2021-04-20) 1 commit
47 + (merged to 'next' on 2021-04-20 at a90562c59f)
48 + + doc: clarify the filename encoding in git diff
49 +
50 + Clarify that pathnames recorded in Git trees are most often (but
51 + not necessarily) encoded in UTF-8.
52
55 - Test clean-up.
53 +
54 +* ds/maintenance-prefetch-fix (2021-04-16) 4 commits
55 + (merged to 'next' on 2021-04-16 at 0a1818e235)
56 + + maintenance: respect remote.*.skipFetchAll
57 + + maintenance: use 'git fetch --prefetch'
58 + + fetch: add --prefetch option
59 + + maintenance: simplify prefetch logic
60 +
61 + The prefetch task in "git maintenance" assumed that "git fetch"
62 + from any remote would fetch all its local branches, which would
63 + fetch too much if the user is interested in only a subset of
64 + branches there.
65
66
58 -* ab/usage-error-docs (2021-04-13) 3 commits
59 - (merged to 'next' on 2021-04-15 at dbbbaa5eea)
60 - + api docs: document that BUG() emits a trace2 error event
61 - + api docs: document BUG() in api-error-handling.txt
62 - + usage.c: don't copy/paste the same comment three times
67 +* ds/sparse-index (2021-03-30) 21 commits
68 + (merged to 'next' on 2021-04-07 at f1290a7929)
69 + + p2000: add sparse-index repos
70 + + sparse-index: loose integration with cache_tree_verify()
71 + + cache-tree: integrate with sparse directory entries
72 + + sparse-checkout: disable sparse-index
73 + + sparse-checkout: toggle sparse index from builtin
74 + + sparse-index: add index.sparse config option
75 + + sparse-index: check index conversion happens
76 + + unpack-trees: allow sparse directories
77 + + submodule: sparse-index should not collapse links
78 + + sparse-index: convert from full to sparse
79 + + sparse-index: add 'sdir' index extension
80 + + sparse-checkout: hold pattern list in index
81 + + unpack-trees: ensure full index
82 + + test-tool: don't force full index
83 + + test-read-cache: print cache entries with --table
84 + + t1092: compare sparse-checkout to sparse-index
85 + + sparse-index: implement ensure_full_index()
86 + + sparse-index: add guard to ensure full index
87 + + t1092: clean up script quoting
88 + + t/perf: add performance test for sparse operations
89 + + sparse-index: design doc and format update
90 + (this branch is used by ds/sparse-index-protections and ds/status-with-sparse-index.)
91
64 - Documentation updates, with unrelated comment updates, too.
92 + Both in-core and on-disk index has been updated to optionally omit
93 + individual entries and replace them with the tree object that
94 + corresponds to the directory that contains them when the "cone"
95 + mode of sparse checkout is in use.
96
97
67 -* ab/userdiff-tests (2021-04-08) 9 commits
68 - (merged to 'next' on 2021-04-13 at 35fb0e853d)
69 - + blame tests: simplify userdiff driver test
70 - + blame tests: don't rely on t/t4018/ directory
71 - + userdiff: remove support for "broken" tests
72 - + userdiff tests: list builtin drivers via test-tool
73 - + userdiff tests: explicitly test "default" pattern
74 - + userdiff: add and use for_each_userdiff_driver()
75 - + userdiff style: normalize pascal regex declaration
76 - + userdiff style: declare patterns with consistent style
77 - + userdiff style: re-order drivers in alphabetical order
98 +* ds/sparse-index-protections (2021-04-14) 26 commits
99 + (merged to 'next' on 2021-04-17 at f1c40f89ba)
100 + + name-hash: use expand_to_path()
101 + + sparse-index: expand_to_path()
102 + + name-hash: don't add directories to name_hash
103 + + revision: ensure full index
104 + + resolve-undo: ensure full index
105 + + read-cache: ensure full index
106 + + pathspec: ensure full index
107 + + merge-recursive: ensure full index
108 + + entry: ensure full index
109 + + dir: ensure full index
110 + + update-index: ensure full index
111 + + stash: ensure full index
112 + + rm: ensure full index
113 + + merge-index: ensure full index
114 + + ls-files: ensure full index
115 + + grep: ensure full index
116 + + fsck: ensure full index
117 + + difftool: ensure full index
118 + + commit: ensure full index
119 + + checkout: ensure full index
120 + + checkout-index: ensure full index
121 + + add: ensure full index
122 + + cache: move ensure_full_index() to cache.h
123 + + read-cache: expand on query into sparse-directory entry
124 + + *: remove 'const' qualifier for struct index_state
125 + + sparse-index: API protection strategy
126 + (this branch is used by ds/status-with-sparse-index; uses ds/sparse-index.)
127
79 - A bit of code clean-up and a lot of test clean-up around userdiff
80 - area.
128 + Builds on top of the sparse-index infrastructure to mark operations
129 + that are not ready to mark with the sparse index, causing them to
130 + fall back on fully-populated index that they always have worked with.
131
132
83 -* ar/userdiff-scheme (2021-04-08) 1 commit
84 - (merged to 'next' on 2021-04-13 at eb80d55a8c)
85 - + userdiff: add support for Scheme
133 +* hn/refs-trace-errno (2021-04-12) 1 commit
134 + (merged to 'next' on 2021-04-20 at 0816e49d22)
135 + + refs: print errno for read_raw_ref if GIT_TRACE_REFS is set
136
87 - Userdiff patterns for "Scheme" has been added.
137 + Show errno in the trace output in the error codepath that calls
138 + read_raw_ref method.
139
140
90 -* hn/reftable-tables-doc-update (2021-04-12) 1 commit
91 - (merged to 'next' on 2021-04-13 at cdadb2c621)
92 - + reftable: document an alternate cleanup method on Windows
141 +* jk/promisor-optim (2021-04-13) 3 commits
142 + (merged to 'next' on 2021-04-15 at 41f303ef9b)
143 + + revision: avoid parsing with --exclude-promisor-objects
144 + + lookup_unknown_object(): take a repository argument
145 + + is_promisor_object(): free tree buffer after parsing
146 + (this branch is used by rs/repack-without-loosening-promised-objects.)
147
94 - Doc updte.
148 + Handling of "promisor packs" that allows certain objects to be
149 + missing and lazily retrievable has been optimized (a bit).
150
151
97 -* jc/doc-do-not-capitalize-clarification (2021-04-14) 1 commit
98 - (merged to 'next' on 2021-04-15 at 873f7a1f84)
99 - + doc: clarify "do not capitalize the first word" rule
152 +* mt/parallel-checkout-part-2 (2021-04-19) 5 commits
153 + (merged to 'next' on 2021-04-20 at d4779b8864)
154 + + parallel-checkout: add design documentation
155 + + parallel-checkout: support progress displaying
156 + + parallel-checkout: add configuration options
157 + + parallel-checkout: make it truly parallel
158 + + unpack-trees: add basic support for parallel checkout
159 + (this branch is used by mt/parallel-checkout-part-3.)
160
101 - Doc update for developers.
161 + The checkout machinery has been taught to perform the actual
162 + write-out of the files in parallel when able.
163
164
104 -* jk/pack-objects-bitmap-progress-fix (2021-04-12) 1 commit
105 - (merged to 'next' on 2021-04-13 at bbe18a7b3a)
106 - + pack-objects: update "nr_seen" progress based on pack-reused count
165 +* mt/pkt-write-errors (2021-04-15) 1 commit
166 + (merged to 'next' on 2021-04-16 at 4a82d89ff3)
167 + + pkt-line: do not report packet write errors twice
168
108 - When "git pack-objects" makes a literal copy of a part of existing
109 - packfile using the reachability bitmaps, its update to the progress
110 - meter was broken.
169 + When packet_write() fails, we gave an extra error message
170 + unnecessarily, which has been corrected.
171
172
113 -* js/access-nul-emulation-on-windows (2021-04-16) 1 commit
114 - (merged to 'next' on 2021-04-16 at 3017437e51)
115 - + msvc: avoid calling `access("NUL", flags)`
173 +* ow/push-quiet-set-upstream (2021-04-15) 1 commit
174 + (merged to 'next' on 2021-04-16 at 9466d4ef38)
175 + + transport: respect verbosity when setting upstream
176
117 - Portability fix.
177 + "git push --quiet --set-upstream" was not quiet when setting the
178 + upstream branch configuration, which has been corrected.
179
180
120 -* jt/fetch-pack-request-fix (2021-04-08) 1 commit
121 - (merged to 'next' on 2021-04-15 at 25c02ce3c3)
122 - + fetch-pack: buffer object-format with other args
123 - (this branch is used by jt/push-negotiation.)
181 +* so/log-diff-merge (2021-04-16) 5 commits
182 + (merged to 'next' on 2021-04-17 at 6c1eba8ee3)
183 + + doc/diff-options: document new --diff-merges features
184 + + diff-merges: introduce log.diffMerges config variable
185 + + diff-merges: adapt -m to enable default diff format
186 + + diff-merges: refactor set_diff_merges()
187 + + diff-merges: introduce --diff-merges=on
188
125 - The response to the "object-format" capability in the fetch client
126 - codepath were malformed, which has been corrected. It is
127 - understandable that this bug has been hidden, as practically nobody
128 - uses the non-standard hash function yet.
189 + "git log" learned "--diff-merges=<style>" option, with an
190 + associated configuration variable log.diffMerges.
191
192
131 -* sg/bugreport-fixes (2021-04-08) 1 commit
132 - (merged to 'next' on 2021-04-16 at e93602f4df)
133 - + Makefile: add missing dependencies of 'config-list.h'
134 - (this branch is used by so/log-diff-merge.)
193 +* vs/completion-with-set-u (2021-04-16) 1 commit
194 + (merged to 'next' on 2021-04-20 at 179933f961)
195 + + completion: avoid aliased command lookup error in nounset mode
196
136 - The dependencies for config-list.h and command-list.h were broken
137 - when the former was split out of the latter, which has been
138 - corrected.
197 + Effort to make the command line completion (in contrib/) safe with
198 + "set -u" continues.
199
200 --------------------------------------------------
201 [New Topics]
202
143 -* ab/pathname-encoding-doc (2021-04-20) 1 commit
144 - (merged to 'next' on 2021-04-20 at a90562c59f)
145 - + doc: clarify the filename encoding in git diff
203 +* ad/cygwin-no-backslashes-in-paths (2021-04-30) 1 commit
204 + (merged to 'next' on 2021-04-30 at e2cf03a8aa)
205 + + cygwin: disallow backslashes in file names
206
147 - Clarify that pathnames recorded in Git trees are most often (but
148 - not necessarily) encoded in UTF-8.
207 + Cygwin pathname handling fix.
208
209 Will merge to 'master'.
210
211
153 -* dl/complete-stash-updates (2021-04-27) 4 commits
154 - - git-completion.bash: consolidate cases in _git_stash()
155 - - git-completion.bash: use $__git_cmd_idx in more places
156 - - git-completion.bash: rename to $__git_cmd_idx
157 - - git-completion.bash: separate some commands onto their own line
158 - (this branch uses dl/complete-stash.)
212 +* hn/refs-errno-cleanup (2021-04-30) 8 commits
213 + - refs: explicitly propagate errno from refs_read_raw_ref
214 + - refs: stop setting EINVAL and ELOOP in symref resolution
215 + - refs: clear errno return in refs_resolve_ref_unsafe()
216 + - refs: add failure_errno to refs_read_raw_ref() signature
217 + - refs: make errno output explicit for refs_resolve_ref_unsafe
218 + - refs: make errno output explicit for read_raw_ref_fn
219 + - refs/files-backend: stop setting errno from lock_ref_oid_basic
220 + - refs: remove EINVAL specification from the errno sideband in read_raw_ref_fn
221
160 - Further update the command line completion (in contrib/) for "git
161 - stash".
222 + Futz with the way 'errno' is relied on in the refs API to carry the
223 + failure modes up the callchain.
224
163 - Will merge to 'next'?
225 + Waiting for reviews.
226
227
166 -* ab/pretty-date-format-tests (2021-04-27) 2 commits
167 - - pretty tests: give --date/format tests a better description
168 - - pretty tests: simplify %aI/%cI date format test
169 - (this branch is used by zh/pretty-date-human.)
228 +* jc/test-allows-local (2021-05-03) 1 commit
229 + (merged to 'next' on 2021-05-04 at 768071c554)
230 + + CodingGuidelines: explicitly allow "local" for test scripts
231
171 - Tweak a few tests for "log --format=..." that show timestamps in
172 - various formats.
232 + Document that our test can use "local" keyword.
233
174 - Will merge to 'next'.
234 + Will merge to 'master'.
235
236
177 -* ds/status-with-sparse-index (2021-04-28) 10 commits
178 - - fsmonitor: test with sparse index
179 - - status: use sparse-index throughout
180 - - status: skip sparse-checkout percentage with sparse-index
181 - - dir.c: accept a directory as part of cone-mode patterns
182 - - unpack-trees: stop recursing into sparse directories
183 - - unpack-trees: compare sparse directories correctly
184 - - unpack-trees: preserve cache_bottom
185 - - t1092: add tests for status/add and sparse files
186 - - Merge branch 'mt/add-rm-in-sparse-checkout' into ds/status-with-sparse-index
187 - - Merge branch 'ds/sparse-index-protections' into ds/status-with-sparse-index
188 - (this branch uses ds/sparse-index, ds/sparse-index-protections and mt/add-rm-in-sparse-checkout.)
237 +* jk/doc-format-patch-skips-merges (2021-05-03) 1 commit
238 + (merged to 'next' on 2021-05-04 at cac68f7193)
239 + + docs/format-patch: mention handling of merges
240
190 - "git status" codepath learned to work with sparsely populated index
191 - without hydrating it fully.
241 + Document that "format-patch" skips merges.
242
243 + Will merge to 'master'.
244
194 -* hn/trace-reflog-expiry (2021-04-27) 1 commit
195 - - refs/debug: trace into reflog expiry too
245
197 - The reflog expiry machinery has been taught to emit trace events.
246 +* jk/pack-objects-negative-options-fix (2021-05-03) 5 commits
247 + (merged to 'next' on 2021-05-04 at 4a61f68cf0)
248 + + pack-objects: clamp negative depth to 0
249 + + t5316: check behavior of pack-objects --depth=0
250 + + pack-objects: clamp negative window size to 0
251 + + t5300: check that we produced expected number of deltas
252 + + t5300: modernize basic tests
253
199 - Will merge to 'next'.
254 + Options to "git pack-objects" that take numeric values like
255 + --window and --depth should not accept negative values; the input
256 + validation has been tightened.
257
258 + Will merge to 'master'.
259
202 -* jk/prune-with-bitmap-fix (2021-04-29) 2 commits
203 - - prune: save reachable-from-recent objects with bitmaps
204 - - pack-bitmap: clean up include_check after use
260
206 - When the reachability bitmap is in effect, the "do not lose
207 - recently created objects and those that are reachable from them"
208 - safety to protect us from races were disabled by mistake, which has
209 - been corrected.
261 +* jk/symlinked-dotgitx-cleanup (2021-05-04) 9 commits
262 + (merged to 'next' on 2021-05-04 at deca6ca662)
263 + + docs: document symlink restrictions for dot-files
264 + + fsck: warn about symlinked dotfiles we'll open with O_NOFOLLOW
265 + + t0060: test ntfs/hfs-obscured dotfiles
266 + + t7450: test .gitmodules symlink matching against obscured names
267 + + t7450: test verify_path() handling of gitmodules
268 + + t7415: rename to expand scope
269 + + fsck_tree(): wrap some long lines
270 + + fsck_tree(): fix shadowed variable
271 + + t7415: remove out-dated comment about translation
272
211 - Will merge to 'next'.
273 + Various test and documentation updates about .gitsomething paths
274 + that are symlinks.
275
276 + Will merge to 'master'.
277
214 -* js/merge-already-up-to-date-message-reword (2021-04-28) 1 commit
215 - - git-merge: rewrite already up to date message
278
217 - A few variants of informational message "Already up-to-date" has
218 - been rephrased.
279 +* nc/submodule-update-quiet (2021-05-03) 1 commit
280 + (merged to 'next' on 2021-05-04 at 09bed89b60)
281 + + submodule update: silence underlying fetch with "--quiet"
282
220 - Expecting a reroll.
283 + "git submodule update --quiet" did not propagate the quiet option
284 + down to underlying "git fetch", which has been corrected.
285
286 + Will merge to 'master'.
287
223 -* jz/apply-3way-first-message-fix (2021-04-29) 1 commit
224 - - apply: adjust messages to account for --3way changes
288
226 - When we swapped the order of --3way fallback, we forgot to adjust
227 - the message we give when the first method fails and the second
228 - method is attempted (which used to be "direct application failed
229 - hence we try 3way", now it is the other way around).
289 +* en/ort-perf-batch-11 (2021-05-04) 13 commits
290 + - merge-ort, diffcore-rename: employ cached renames when possible
291 + - merge-ort: handle interactions of caching and rename/rename(1to1) cases
292 + - merge-ort: add helper functions for using cached renames
293 + - merge-ort: preserve cached renames for the appropriate side
294 + - merge-ort: avoid accidental API mis-use
295 + - merge-ort: add code to check for whether cached renames can be reused
296 + - merge-ort: populate caches of rename detection results
297 + - merge-ort: add data structures for in-memory caching of rename detection
298 + - t6429: testcases for remembering renames
299 + - fast-rebase: write conflict state to working tree, index, and HEAD
300 + - fast-rebase: change assert() to BUG()
301 + - Documentation/technical: describe remembering renames optimization
302 + - t6423: rename file within directory that other side renamed
303 +
304 + Optimize out repeated rename detection in a sequence of mergy
305 + operations.
306
231 - Will merge to 'next'.
307 + Waiting for reviews.
308
309
234 -* ls/fast-export-signed (2021-04-28) 3 commits
235 - - fast-export, fast-import: implement signed-commits
236 - - fast-export: rename --signed-tags='warn' to 'warn-verbatim'
237 - - git-fast-import.txt: add missing LF in the BNF
310 +* si/zsh-complete-comment-fix (2021-05-04) 1 commit
311 + (merged to 'next' on 2021-05-04 at a15c1ea590)
312 + + work around zsh comment in __git_complete_worktree_paths
313 +
314 + Portability fix for command line completion script (in contrib/).
315 +
316 + Will merge to 'master'.
317
239 - "git fast-export" offers a way to control how signed tags are
240 - handled; the mechanism has been extended to allow specifying how
241 - signed commits are handled as well.
318 +
319 +* dd/mailinfo-quoted-cr (2021-05-05) 5 commits
320 + - am: learn to process quoted lines that ends with CRLF
321 + - mailinfo: strip quoted CR on users' wish
322 + - mailinfo: skip quoted CR on user's wish
323 + - mailinfo: warn if CR found in base64/quoted-printable email
324 + - mailinfo: avoid magic number in option parsing
325 +
326 + "git mailinfo" (hence "git am") learned the "--quoted-cr" option to
327 + control how lines ending with CRLF wrapped in base64 or qp are
328 + handled.
329
330 Expecting a reroll.
331 + cf. <YJK/ieA7fzB+h01t@danh.dev>
332
333
246 -* ls/subtree (2021-04-28) 30 commits
247 - - subtree: be stricter about validating flags
248 - - subtree: push: allow specifying a local rev other than HEAD
249 - - subtree: allow 'split' flags to be passed to 'push'
250 - - subtree: allow --squash to be used with --rejoin
251 - - subtree: give the docs a once-over
252 - - subtree: have $indent actually affect indentation
253 - - subtree: don't let debug and progress output clash
254 - - subtree: add comments and sanity checks
255 - - subtree: remove duplicate check
256 - - subtree: parse revs in individual cmd_ functions
257 - - subtree: use "^{commit}" instead of "^0"
258 - - subtree: don't fuss with PATH
259 - - subtree: use "$*" instead of "$@" as appropriate
260 - - subtree: use more explicit variable names for cmdline args
261 - - subtree: use git-sh-setup's `say`
262 - - subtree: use `git merge-base --is-ancestor`
263 - - subtree: drop support for git < 1.7
264 - - subtree: more consistent error propagation
265 - - subtree: don't have loose code outside of a function
266 - - subtree: t7900: add porcelain tests for 'pull' and 'push'
267 - - subtree: t7900: add a test for the -h flag
268 - - subtree: t7900: rename last_commit_message to last_commit_subject
269 - - subtree: t7900: fix 'verify one file change per commit'
270 - - subtree: t7900: delete some dead code
271 - - subtree: t7900: use 'test' for string equality
272 - - subtree: t7900: comment subtree_test_create_repo
273 - - subtree: t7900: use consistent formatting
274 - - subtree: t7900: use test-lib.sh's test_count
275 - - subtree: t7900: update for having the default branch name be 'main'
276 - - .gitignore: ignore 'git-subtree' as a build artifact
334 +* ll/clone-reject-shallow (2021-05-05) 1 commit
335 + (merged to 'next' on 2021-05-06 at 4a165ffc96)
336 + + t5601: mark protocol v2-only test
337
278 - "git subtree" updates.
338 + Fix tests when forced to use v0 protocol.
339
280 - Will merge to 'next'?
281 - Unless somebody familiar with subtree speaks up soon and causes a
282 - reroll.
340 + Will merge to 'master'.
341
342
285 -* mt/parallel-checkout-part-3 (2021-04-28) 7 commits
286 - - ci: run test round with parallel-checkout enabled
287 - - parallel-checkout: add tests related to .gitattributes
288 - - parallel-checkout: add tests related to path collisions
289 - - parallel-checkout: add tests for basic operations
290 - - checkout-index: add parallel checkout support
291 - - builtin/checkout.c: complete parallel checkout support
292 - - make_transient_cache_entry(): optionally alloc from mem_pool
293 - (this branch uses mt/parallel-checkout-part-2.)
343 +* ab/perl-makefile-cleanup (2021-05-06) 4 commits
344 + - perl: use mock i18n functions under NO_GETTEXT=Y
345 + - Makefile: regenerate *.pm on NO_PERL_CPAN_FALLBACKS change
346 + - Makefile: regenerate perl/build/* if GIT-PERL-DEFINES changes
347 + - Makefile: don't re-define PERL_DEFINES
348
295 - The final part of "parallel checkout".
349 + Build procedure clean-up.
350
297 - Waiting for a review.
351 + Will merge to 'next'.
352
353
300 -* po/diff-patch-doc (2021-04-28) 1 commit
301 - - doc: point to diff attribute in patch format docs
354 +* ab/sparse-index-cleanup (2021-05-06) 1 commit
355 + - sparse-index.c: remove set_index_sparse_config()
356
303 - Doc update.
357 + Code clean-up.
358
359 Will merge to 'next'.
360
361
308 -* rj/bisect-skip-honor-terms (2021-04-28) 2 commits
309 - - t6030: add test for git bisect skip started with --term-* arguments
310 - - bisect--helper: use BISECT_TERMS in 'bisect skip' command
362 +* ab/streaming-simplify (2021-05-06) 5 commits
363 + - streaming.c: move {open,close,read} from vtable to "struct git_istream"
364 + - streaming.c: stop passing around "object_info *" to open()
365 + - streaming.c: remove {open,close,read}_method_decl() macros
366 + - streaming.c: remove enum/function/vtbl indirection
367 + - streaming.c: avoid forward declarations
368
312 - "git bisect skip" when custom words are used for new/old did not
313 - work, which has been corrected.
369 + Code clean-up.
370
371 + Will merge to 'next'.
372
316 -* tv/p4-fallback-encoding (2021-04-28) 1 commit
317 - - add git-p4.fallbackEncoding config variable, to prevent git-p4 from crashing on non UTF-8 changeset descriptions
373
319 - "git p4" learns the fallbackEncoding configuration variable to
320 - safely accept changeset descriptions that aren't written in UTF-8.
374 +* ab/trace2-squelch-bcc-warning (2021-05-05) 1 commit
375 + - trace2: refactor to avoid gcc warning under -O3
376
322 - Expecting a reroll.
377 + Workaround compiler warnings.
378
379
325 -* zh/pretty-date-human (2021-04-27) 1 commit
326 - - pretty: provide human date format
327 - (this branch uses ab/pretty-date-format-tests.)
380 +* jk/p4-locate-branch-point-optim (2021-05-06) 2 commits
381 + - git-p4: speed up search for branch parent
382 + - git-p4: ensure complex branches are cloned correctly
383
329 - "git log --format=..." placeholders learned %ah/%ch placeholders to
330 - request the --date=human output.
384 + "git p4" learned to find branch points more efficiently.
385 +
386 + Will merge to 'next'.
387 +
388 +
389 +* ow/no-dryrun-in-add-i (2021-05-06) 1 commit
390 + - add: die if both --dry-run and --interactive are given
391 +
392 + "git add -i --dry-run" does not dry-run, which was surprising. The
393 + combination of options has taught to error out.
394 +
395 + Will merge to 'next'.
396 +
397 +
398 +* pw/patience-diff-clean-up (2021-05-05) 2 commits
399 + (merged to 'next' on 2021-05-06 at 1ce651569c)
400 + + patience diff: remove unused variable
401 + + patience diff: remove unnecessary string comparisons
402 +
403 + Code clean-up.
404
332 - Will merge to 'next'?
405 + Will merge to 'master'.
406 +
407 +
408 +* pw/word-diff-zero-width-matches (2021-05-05) 1 commit
409 + (merged to 'next' on 2021-05-06 at e5653da568)
410 + + word diff: handle zero length matches
411 +
412 + The word-diff mode has been taught to work better with a word
413 + regexp that can match an empty string.
414 +
415 + Will merge to 'master'.
416
417 --------------------------------------------------
418 [Stalled]
419
337 -* jh/rfc-builtin-fsmonitor (2021-04-08) 23 commits
420 +* jh/rfc-builtin-fsmonitor (2021-05-04) 24 commits
421 + - fsmonitor: only enable it in non-bare repositories
422 - t7527: test status with untracked-cache and fsmonitor--daemon
423 - p7519: add fsmonitor--daemon
424 - t7527: create test for fsmonitor--daemon
@@ -397,6 +481,8 @@ Release tarballs are available at:
481
482 Various updates to tests around "git describe"
483
484 + Waiting for the base topic to solidify.
485 +
486
487 * ab/pickaxe-pcre2 (2021-04-29) 22 commits
488 - xdiff-interface: replace discard_hunk_line() with a flag
@@ -426,6 +512,8 @@ Release tarballs are available at:
512 Rewrite the backend for "diff -G/-S" to use pcre2 engine when
513 available.
514
515 + Waiting for the base topic to solidify.
516 +
517
518 * es/config-hooks (2021-03-10) 36 commits
519 . run-command: stop thinking about hooks
@@ -470,41 +558,227 @@ Release tarballs are available at:
558 --------------------------------------------------
559 [Cooking]
560
473 -* dl/complete-stash (2021-03-24) 3 commits
474 - (merged to 'next' on 2021-03-24 at ce573a99cc)
475 - + git-completion.bash: use __gitcomp_builtin() in _git_stash()
476 - + git-completion.bash: extract from else in _git_stash()
477 - + git-completion.bash: pass $__git_subcommand_idx from __git_main()
478 - (this branch is used by dl/complete-stash-updates.)
561 +* dl/complete-stash-updates (2021-04-27) 4 commits
562 + (merged to 'next' on 2021-05-03 at 8901a9c431)
563 + + git-completion.bash: consolidate cases in _git_stash()
564 + + git-completion.bash: use $__git_cmd_idx in more places
565 + + git-completion.bash: rename to $__git_cmd_idx
566 + + git-completion.bash: separate some commands onto their own line
567 + (this branch uses dl/complete-stash.)
568
480 - The command line completion (in contrib/) for "git stash" has been
481 - updated.
569 + Further update the command line completion (in contrib/) for "git
570 + stash".
571
483 - Wait until dl/complete-stash-updates matures.
572 + Will merge to 'master'.
573
574
486 -* ba/object-info (2021-04-20) 1 commit
487 - - object-info: support for retrieving object info
575 +* ab/pretty-date-format-tests (2021-04-27) 2 commits
576 + (merged to 'next' on 2021-04-30 at bd2d680c23)
577 + + pretty tests: give --date/format tests a better description
578 + + pretty tests: simplify %aI/%cI date format test
579 + (this branch is used by zh/pretty-date-human.)
580
489 - Over-the-wire protocol learns a new request type to ask for object
490 - sizes given a list of object names.
581 + Tweak a few tests for "log --format=..." that show timestamps in
582 + various formats.
583
584 + Will merge to 'master'.
585
493 -* zh/format-ref-array-optim (2021-04-20) 2 commits
494 - - ref-filter: reuse output buffer
495 - - ref-filter: get rid of show_ref_array_item
586
497 - "git (branch|tag) --format=..." has been micro-optimized.
587 +* ds/status-with-sparse-index (2021-04-28) 10 commits
588 + - fsmonitor: test with sparse index
589 + - status: use sparse-index throughout
590 + - status: skip sparse-checkout percentage with sparse-index
591 + - dir.c: accept a directory as part of cone-mode patterns
592 + - unpack-trees: stop recursing into sparse directories
593 + - unpack-trees: compare sparse directories correctly
594 + - unpack-trees: preserve cache_bottom
595 + - t1092: add tests for status/add and sparse files
596 + - Merge branch 'mt/add-rm-in-sparse-checkout' into ds/status-with-sparse-index
597 + - Merge branch 'ds/sparse-index-protections' into ds/status-with-sparse-index
598 + (this branch uses mt/add-rm-in-sparse-checkout.)
599
499 - Will merge to 'next'?
600 + "git status" codepath learned to work with sparsely populated index
601 + without hydrating it fully.
602
603
502 -* vs/completion-with-set-u (2021-04-16) 1 commit
503 - (merged to 'next' on 2021-04-20 at 179933f961)
504 - + completion: avoid aliased command lookup error in nounset mode
604 +* hn/trace-reflog-expiry (2021-04-27) 1 commit
605 + (merged to 'next' on 2021-04-30 at 6bc9a79b61)
606 + + refs/debug: trace into reflog expiry too
607
506 - Effort to make the command line completion (in contrib/) safe with
507 - "set -u" continues.
608 + The reflog expiry machinery has been taught to emit trace events.
609 +
610 + Will merge to 'master'.
611 +
612 +
613 +* jk/prune-with-bitmap-fix (2021-04-29) 2 commits
614 + (merged to 'next' on 2021-04-30 at bede558f31)
615 + + prune: save reachable-from-recent objects with bitmaps
616 + + pack-bitmap: clean up include_check after use
617 +
618 + When the reachability bitmap is in effect, the "do not lose
619 + recently created objects and those that are reachable from them"
620 + safety to protect us from races were disabled by mistake, which has
621 + been corrected.
622 +
623 + Will merge to 'master'.
624 +
625 +
626 +* js/merge-already-up-to-date-message-reword (2021-05-03) 2 commits
627 + (merged to 'next' on 2021-05-04 at b2e696ecd7)
628 + + merge: fix swapped "up to date" message components
629 + + merge(s): apply consistent punctuation to "up to date" messages
630 +
631 + A few variants of informational message "Already up-to-date" has
632 + been rephrased.
633 +
634 + Will merge to 'master'.
635 +
636 +
637 +* jz/apply-3way-first-message-fix (2021-04-29) 1 commit
638 + (merged to 'next' on 2021-04-30 at 829167e135)
639 + + apply: adjust messages to account for --3way changes
640 +
641 + When we swapped the order of --3way fallback, we forgot to adjust
642 + the message we give when the first method fails and the second
643 + method is attempted (which used to be "direct application failed
644 + hence we try 3way", now it is the other way around).
645 +
646 + Will merge to 'master'.
647 +
648 +
649 +* ls/fast-export-signed (2021-05-03) 5 commits
650 + - fast-export, fast-import: add support for signed-commits
651 + - fast-export: do not modify memory from get_commit_buffer
652 + - git-fast-export.txt: clarify why 'verbatim' may not be a good idea
653 + - fast-export: rename --signed-tags='warn' to 'warn-verbatim'
654 + - git-fast-import.txt: add missing LF in the BNF
655 +
656 + "git fast-export" offers a way to control how signed tags are
657 + handled; the mechanism has been extended to allow specifying how
658 + signed commits are handled as well.
659 +
660 + Expecting a reroll.
661 + cf. <xmqqa6pca0pv.fsf@gitster.g>, <xmqq1rao9zev.fsf@gitster.g>
662 +
663 +
664 +* ls/subtree (2021-04-28) 30 commits
665 + (merged to 'next' on 2021-05-03 at 12c5fe8677)
666 + + subtree: be stricter about validating flags
667 + + subtree: push: allow specifying a local rev other than HEAD
668 + + subtree: allow 'split' flags to be passed to 'push'
669 + + subtree: allow --squash to be used with --rejoin
670 + + subtree: give the docs a once-over
671 + + subtree: have $indent actually affect indentation
672 + + subtree: don't let debug and progress output clash
673 + + subtree: add comments and sanity checks
674 + + subtree: remove duplicate check
675 + + subtree: parse revs in individual cmd_ functions
676 + + subtree: use "^{commit}" instead of "^0"
677 + + subtree: don't fuss with PATH
678 + + subtree: use "$*" instead of "$@" as appropriate
679 + + subtree: use more explicit variable names for cmdline args
680 + + subtree: use git-sh-setup's `say`
681 + + subtree: use `git merge-base --is-ancestor`
682 + + subtree: drop support for git < 1.7
683 + + subtree: more consistent error propagation
684 + + subtree: don't have loose code outside of a function
685 + + subtree: t7900: add porcelain tests for 'pull' and 'push'
686 + + subtree: t7900: add a test for the -h flag
687 + + subtree: t7900: rename last_commit_message to last_commit_subject
688 + + subtree: t7900: fix 'verify one file change per commit'
689 + + subtree: t7900: delete some dead code
690 + + subtree: t7900: use 'test' for string equality
691 + + subtree: t7900: comment subtree_test_create_repo
692 + + subtree: t7900: use consistent formatting
693 + + subtree: t7900: use test-lib.sh's test_count
694 + + subtree: t7900: update for having the default branch name be 'main'
695 + + .gitignore: ignore 'git-subtree' as a build artifact
696 +
697 + "git subtree" updates.
698 +
699 + Will merge to 'master'.
700 +
701 +
702 +* mt/parallel-checkout-part-3 (2021-05-05) 8 commits
703 + - ci: run test round with parallel-checkout enabled
704 + - parallel-checkout: add tests related to .gitattributes
705 + - t0028: extract encoding helpers to lib-encoding.sh
706 + - parallel-checkout: add tests related to path collisions
707 + - parallel-checkout: add tests for basic operations
708 + - checkout-index: add parallel checkout support
709 + - builtin/checkout.c: complete parallel checkout support
710 + - make_transient_cache_entry(): optionally alloc from mem_pool
711 +
712 + The final part of "parallel checkout".
713 +
714 + Will merge to 'next'.
715 +
716 +
717 +* po/diff-patch-doc (2021-04-28) 1 commit
718 + (merged to 'next' on 2021-04-30 at 58af0f4b5e)
719 + + doc: point to diff attribute in patch format docs
720 +
721 + Doc update.
722 +
723 + Will merge to 'master'.
724 +
725 +
726 +* rj/bisect-skip-honor-terms (2021-04-30) 1 commit
727 + (merged to 'next' on 2021-05-04 at f7c11bba06)
728 + + bisect--helper: use BISECT_TERMS in 'bisect skip' command
729 +
730 + "git bisect skip" when custom words are used for new/old did not
731 + work, which has been corrected.
732 +
733 + Will merge to 'master'.
734 +
735 +
736 +* tv/p4-fallback-encoding (2021-04-30) 1 commit
737 + - git-p4: git-p4.fallbackEncoding to specify non UTF-8 charset
738 +
739 + "git p4" learns the fallbackEncoding configuration variable to
740 + safely accept changeset descriptions that aren't written in UTF-8.
741 +
742 +
743 +* zh/pretty-date-human (2021-04-27) 1 commit
744 + (merged to 'next' on 2021-04-30 at 2320ad8fb0)
745 + + pretty: provide human date format
746 + (this branch uses ab/pretty-date-format-tests.)
747 +
748 + "git log --format=..." placeholders learned %ah/%ch placeholders to
749 + request the --date=human output.
750 +
751 + Will merge to 'master'.
752 +
753 +
754 +* dl/complete-stash (2021-03-24) 3 commits
755 + (merged to 'next' on 2021-03-24 at ce573a99cc)
756 + + git-completion.bash: use __gitcomp_builtin() in _git_stash()
757 + + git-completion.bash: extract from else in _git_stash()
758 + + git-completion.bash: pass $__git_subcommand_idx from __git_main()
759 + (this branch is used by dl/complete-stash-updates.)
760 +
761 + The command line completion (in contrib/) for "git stash" has been
762 + updated.
763 +
764 + Will merge to 'master'.
765 +
766 +
767 +* ba/object-info (2021-04-20) 1 commit
768 + - object-info: support for retrieving object info
769 +
770 + Over-the-wire protocol learns a new request type to ask for object
771 + sizes given a list of object names.
772 +
773 + Will merge to 'next'.
774 +
775 +
776 +* zh/format-ref-array-optim (2021-04-20) 2 commits
777 + (merged to 'next' on 2021-04-30 at b6c835cc51)
778 + + ref-filter: reuse output buffer
779 + + ref-filter: get rid of show_ref_array_item
780 +
781 + "git (branch|tag) --format=..." has been micro-optimized.
782
783 Will merge to 'master'.
784
@@ -535,179 +809,128 @@ Release tarballs are available at:
809 Preliminary clean-up of tests before the main reftable changes
810 hits the codebase.
811
812 + Waiting for reviews.
813 +
814
539 -* ps/config-env-option-with-separate-value (2021-04-19) 2 commits
540 - - git: support separate arg for `--config-env`'s value
541 - - git.txt: fix synopsis of `--config-env` missing the equals sign
815 +* ps/config-env-option-with-separate-value (2021-04-30) 2 commits
816 + (merged to 'next' on 2021-04-30 at 46fbcd08c1)
817 + + git: support separate arg for `--config-env`'s value
818 + + git.txt: fix synopsis of `--config-env` missing the equals sign
819
820 "git --config-env var=val cmd" weren't accepted (only
821 --config-env=var=val was).
822
546 - Will merge to 'next'.
547 - possibly with minimum fix-up?
548 - cf. <YIKcZxEDsG7qsE4G@coredump.intra.peff.net>
549 -
550 -
551 -* ab/fsck-unexpected-type (2021-04-13) 6 commits
552 - - fsck: report invalid object type-path combinations
553 - - fsck: report invalid types recorded in objects
554 - - object-store.h: move read_loose_object() below 'struct object_info'
555 - - fsck: don't hard die on invalid object types
556 - - fsck tests: refactor one test to use a sub-repo
557 - - cache.h: move object functions to object-store.h
558 -
559 - "git fsck" has been taught to report mismatch between expected and
560 - actual types of an object better.
561 -
562 - Expecting a reroll.
563 -
564 -
565 -* jk/promisor-optim (2021-04-13) 3 commits
566 - (merged to 'next' on 2021-04-15 at 41f303ef9b)
567 - + revision: avoid parsing with --exclude-promisor-objects
568 - + lookup_unknown_object(): take a repository argument
569 - + is_promisor_object(): free tree buffer after parsing
570 - (this branch is used by rs/repack-without-loosening-promised-objects.)
571 -
572 - Handling of "promisor packs" that allows certain objects to be
573 - missing and lazily retrievable has been optimized (a bit).
574 -
575 - Will merge to 'master'.
576 -
577 -
578 -* so/log-diff-merge (2021-04-16) 5 commits
579 - (merged to 'next' on 2021-04-17 at 6c1eba8ee3)
580 - + doc/diff-options: document new --diff-merges features
581 - + diff-merges: introduce log.diffMerges config variable
582 - + diff-merges: adapt -m to enable default diff format
583 - + diff-merges: refactor set_diff_merges()
584 - + diff-merges: introduce --diff-merges=on
585 -
586 - "git log" learned "--diff-merges=<style>" option, with an
587 - associated configuration variable log.diffMerges.
588 -
823 Will merge to 'master'.
824
825
826 * rs/repack-without-loosening-promised-objects (2021-04-28) 1 commit
593 - - repack: avoid loosening promisor objects in partial clones
594 - (this branch uses jk/promisor-optim.)
827 + (merged to 'next' on 2021-05-03 at 6681b49209)
828 + + repack: avoid loosening promisor objects in partial clones
829
830 "git repack -A -d" in a partial clone unnecessarily loosened
831 objects in promisor pack.
832
599 -
600 -* mt/pkt-write-errors (2021-04-15) 1 commit
601 - (merged to 'next' on 2021-04-16 at 4a82d89ff3)
602 - + pkt-line: do not report packet write errors twice
603 -
604 - When packet_write() fails, we gave an extra error message
605 - unnecessarily, which has been corrected.
606 -
607 - Will merge to 'master'.
608 -
609 -
610 -* ow/push-quiet-set-upstream (2021-04-15) 1 commit
611 - (merged to 'next' on 2021-04-16 at 9466d4ef38)
612 - + transport: respect verbosity when setting upstream
613 -
614 - "git push --quiet --set-upstream" was not quiet when setting the
615 - upstream branch configuration, which has been corrected.
616 -
833 Will merge to 'master'.
834
835
620 -* jt/push-negotiation (2021-04-08) 6 commits
621 - - send-pack: support push negotiation
622 - - fetch: teach independent negotiation (no packfile)
623 - - fetch-pack: refactor command and capability write
624 - - fetch-pack: refactor add_haves()
625 - - fetch-pack: refactor process_acks()
626 - - Merge branch 'jt/fetch-pack-request-fix' into jt/push-negotiation
836 +* jt/push-negotiation (2021-05-05) 6 commits
837 + (merged to 'next' on 2021-05-06 at 644a1bc4ee)
838 + + send-pack: support push negotiation
839 + + fetch: teach independent negotiation (no packfile)
840 + + fetch-pack: refactor command and capability write
841 + + fetch-pack: refactor add_haves()
842 + + fetch-pack: refactor process_acks()
843 + + Merge branch 'jt/fetch-pack-request-fix' into jt/push-negotiation
844
845 "git push" learns to discover common ancestor with the receiving
846 end over protocol v2.
847
848 + Will merge to 'master'.
849 +
850
851 * ab/doc-lint (2021-04-10) 7 commits
633 - - docs: fix linting issues due to incorrect relative section order
634 - - doc lint: lint relative section order
635 - - doc lint: lint and fix missing "GIT" end sections
636 - - doc lint: fix bugs in, simplify and improve lint script
637 - - doc lint: Perl "strict" and "warnings" in lint-gitlink.perl
638 - - Documentation/Makefile: make doc.dep dependencies a variable again
639 - - Documentation/Makefile: make $(wildcard howto/*.txt) a var
852 + (merged to 'next' on 2021-04-30 at 285b9c4d64)
853 + + docs: fix linting issues due to incorrect relative section order
854 + + doc lint: lint relative section order
855 + + doc lint: lint and fix missing "GIT" end sections
856 + + doc lint: fix bugs in, simplify and improve lint script
857 + + doc lint: Perl "strict" and "warnings" in lint-gitlink.perl
858 + + Documentation/Makefile: make doc.dep dependencies a variable again
859 + + Documentation/Makefile: make $(wildcard howto/*.txt) a var
860
861 Dev support.
862
643 - Will merge to 'next'.
863 + Will merge to 'master'.
864
865
866 * ab/rebase-no-reschedule-failed-exec (2021-04-10) 2 commits
647 - - rebase: don't override --no-reschedule-failed-exec with config
648 - - rebase tests: camel-case rebase.rescheduleFailedExec consistently
867 + (merged to 'next' on 2021-04-30 at 97d56cc674)
868 + + rebase: don't override --no-reschedule-failed-exec with config
869 + + rebase tests: camel-case rebase.rescheduleFailedExec consistently
870
871 "git rebase --[no-]reschedule-failed-exec" did not work well with
872 its configuration variable, which has been corrected.
873
653 - Will merge to 'next'.
874 + Will merge to 'master'.
875
876
877 * ah/plugleaks (2021-04-28) 12 commits
657 - - builtin/rm: avoid leaking pathspec and seen
658 - - builtin/rebase: release git_format_patch_opt too
659 - - builtin/for-each-ref: free filter and UNLEAK sorting.
660 - - mailinfo: also free strbuf lists when clearing mailinfo
661 - - builtin/checkout: clear pending objects after diffing
662 - - builtin/check-ignore: clear_pathspec before returning
663 - - builtin/bugreport: don't leak prefixed filename
664 - - branch: FREE_AND_NULL instead of NULL'ing real_ref
665 - - bloom: clear each bloom_key after use
666 - - ls-files: free max_prefix when done
667 - - wt-status: fix multiple small leaks
668 - - revision: free remainder of old commit list in limit_list
878 + (merged to 'next' on 2021-04-30 at ccb3984029)
879 + + builtin/rm: avoid leaking pathspec and seen
880 + + builtin/rebase: release git_format_patch_opt too
881 + + builtin/for-each-ref: free filter and UNLEAK sorting.
882 + + mailinfo: also free strbuf lists when clearing mailinfo
883 + + builtin/checkout: clear pending objects after diffing
884 + + builtin/check-ignore: clear_pathspec before returning
885 + + builtin/bugreport: don't leak prefixed filename
886 + + branch: FREE_AND_NULL instead of NULL'ing real_ref
887 + + bloom: clear each bloom_key after use
888 + + ls-files: free max_prefix when done
889 + + wt-status: fix multiple small leaks
890 + + revision: free remainder of old commit list in limit_list
891
892 Plug various leans reported by LSAN.
893
672 - Will merge to 'next'?
894 + Will merge to 'master'.
895
896
897 * bc/hash-transition-interop-part-1 (2021-04-27) 13 commits
676 - - hex: print objects using the hash algorithm member
677 - - hex: default to the_hash_algo on zero algorithm value
678 - - builtin/pack-objects: avoid using struct object_id for pack hash
679 - - commit-graph: don't store file hashes as struct object_id
680 - - builtin/show-index: set the algorithm for object IDs
681 - - hash: provide per-algorithm null OIDs
682 - - hash: set, copy, and use algo field in struct object_id
683 - - builtin/pack-redundant: avoid casting buffers to struct object_id
684 - - Use the final_oid_fn to finalize hashing of object IDs
685 - - hash: add a function to finalize object IDs
686 - - http-push: set algorithm when reading object ID
687 - - Always use oidread to read into struct object_id
688 - - hash: add an algo member to struct object_id
898 + (merged to 'next' on 2021-05-03 at 19dba33d17)
899 + + hex: print objects using the hash algorithm member
900 + + hex: default to the_hash_algo on zero algorithm value
901 + + builtin/pack-objects: avoid using struct object_id for pack hash
902 + + commit-graph: don't store file hashes as struct object_id
903 + + builtin/show-index: set the algorithm for object IDs
904 + + hash: provide per-algorithm null OIDs
905 + + hash: set, copy, and use algo field in struct object_id
906 + + builtin/pack-redundant: avoid casting buffers to struct object_id
907 + + Use the final_oid_fn to finalize hashing of object IDs
908 + + hash: add a function to finalize object IDs
909 + + http-push: set algorithm when reading object ID
910 + + Always use oidread to read into struct object_id
911 + + hash: add an algo member to struct object_id
912
913 SHA-256 transition.
914
692 - Will merge to 'next'?
915 + Will merge to 'master'.
916
917
918 * ps/rev-list-object-type-filter (2021-04-19) 8 commits
696 - - rev-list: allow filtering of provided items
697 - - pack-bitmap: implement combined filter
698 - - pack-bitmap: implement object type filter
699 - - list-objects: implement object type filter
700 - - list-objects: support filtering by tag and commit
701 - - list-objects: move tag processing into its own function
702 - - revision: mark commit parents as NOT_USER_GIVEN
703 - - uploadpack.txt: document implication of `uploadpackfilter.allow`
919 + (merged to 'next' on 2021-04-30 at fa0ceacde4)
920 + + rev-list: allow filtering of provided items
921 + + pack-bitmap: implement combined filter
922 + + pack-bitmap: implement object type filter
923 + + list-objects: implement object type filter
924 + + list-objects: support filtering by tag and commit
925 + + list-objects: move tag processing into its own function
926 + + revision: mark commit parents as NOT_USER_GIVEN
927 + + uploadpack.txt: document implication of `uploadpackfilter.allow`
928
929 "git rev-list" learns the "--filter=object:type=<type>" option,
930 which can be used to exclude objects of the given kind from the
931 packfile generated by pack-objects.
932
709 - Will merge to 'next'.
710 - cf. <YIKPwRFbgzKJ1EBg@coredump.intra.peff.net>
933 + Will merge to 'master'.
934
935
936 * tb/multi-pack-bitmaps (2021-04-10) 23 commits
@@ -744,12 +967,13 @@ Release tarballs are available at:
967
968
969 * ab/svn-tests-set-e-fix (2021-04-12) 2 commits
747 - - svn tests: refactor away a "set -e" in test body
748 - - svn tests: remove legacy re-setup from init-clone test
970 + (merged to 'next' on 2021-04-30 at 41f7907187)
971 + + svn tests: refactor away a "set -e" in test body
972 + + svn tests: remove legacy re-setup from init-clone test
973
974 Test clean-up.
975
752 - Will merge to 'next'.
976 + Will merge to 'master'.
977
978
979 * ab/test-lib-updates (2021-04-29) 11 commits
@@ -768,8 +992,6 @@ Release tarballs are available at:
992
993 Test clean-up.
994
771 - Waiting for an Ack before merging them to 'next'.
772 -
995
996 * ao/p4-avoid-decoding (2021-04-12) 2 commits
997 - git-p4: do not decode data from perforce by default
@@ -783,16 +1005,6 @@ Release tarballs are available at:
1005 Waiting for reviews.
1006
1007
786 -* hn/refs-trace-errno (2021-04-12) 1 commit
787 - (merged to 'next' on 2021-04-20 at 0816e49d22)
788 - + refs: print errno for read_raw_ref if GIT_TRACE_REFS is set
789 -
790 - Show errno in the trace output in the error codepath that calls
791 - read_raw_ref method.
792 -
793 - Will merge to 'master'
794 -
795 -
1008 * ma/t0091-bugreport-fix (2021-04-12) 1 commit
1009 - t0091-bugreport.sh: actually verify some content of report
1010
@@ -803,7 +1015,8 @@ Release tarballs are available at:
1015
1016
1017 * ps/config-global-override (2021-04-27) 4 commits
806 - - t1300: fix unset of GIT_CONFIG_NOSYSTEM leaking into subsequent tests
1018 + (merged to 'next' on 2021-04-30 at 5ce435d98f)
1019 + + t1300: fix unset of GIT_CONFIG_NOSYSTEM leaking into subsequent tests
1020 (merged to 'next' on 2021-04-20 at 82578c696d)
1021 + config: allow overriding of global and system configuration
1022 + config: unify code paths to get global config paths
@@ -816,21 +1029,6 @@ Release tarballs are available at:
1029 setting NOSYSTEM), and introduce GIT_CONFIG_GLOBAL to override the
1030 per-user configuration in $HOME/.gitconfig.
1031
819 - Will merge to 'next'.
820 -
821 -
822 -* ds/maintenance-prefetch-fix (2021-04-16) 4 commits
823 - (merged to 'next' on 2021-04-16 at 0a1818e235)
824 - + maintenance: respect remote.*.skipFetchAll
825 - + maintenance: use 'git fetch --prefetch'
826 - + fetch: add --prefetch option
827 - + maintenance: simplify prefetch logic
828 -
829 - The prefetch task in "git maintenance" assumed that "git fetch"
830 - from any remote would fetch all its local branches, which would
831 - fetch too much if the user is interested in only a subset of
832 - branches there.
833 -
1032 Will merge to 'master'.
1033
1034
@@ -844,29 +1042,32 @@ Release tarballs are available at:
1042 bisect run" has been rewritten in C.
1043
1044 Expecting a reroll.
847 - cf. <xmqq35vwh8qk.fsf@gitster.g>, <xmqqy2doftrj.fsf@gitster.g>
1045 + cf. <xmqq35vwh8qk.fsf@gitster.g>, <xmqqy2doftrj.fsf@gitster.g>,
1046 + <CAP8UFD3X24F3qgefHpi00PM-KUk+vcqxwy2Dbngbyj7ciavCVQ@mail.gmail.com>
1047 May want to boost the test coverage.
1048
1049
1050 * mt/add-rm-in-sparse-checkout (2021-04-08) 7 commits
852 - - rm: honor sparse checkout patterns
853 - - add: warn when asked to update SKIP_WORKTREE entries
854 - - refresh_index(): add flag to ignore SKIP_WORKTREE entries
855 - - pathspec: allow to ignore SKIP_WORKTREE entries on index matching
856 - - add: make --chmod and --renormalize honor sparse checkouts
857 - - t3705: add tests for `git add` in sparse checkouts
858 - - add: include magic part of pathspec on --refresh error
1051 + (merged to 'next' on 2021-04-30 at ddead90eaf)
1052 + + rm: honor sparse checkout patterns
1053 + + add: warn when asked to update SKIP_WORKTREE entries
1054 + + refresh_index(): add flag to ignore SKIP_WORKTREE entries
1055 + + pathspec: allow to ignore SKIP_WORKTREE entries on index matching
1056 + + add: make --chmod and --renormalize honor sparse checkouts
1057 + + t3705: add tests for `git add` in sparse checkouts
1058 + + add: include magic part of pathspec on --refresh error
1059 (this branch is used by ds/status-with-sparse-index.)
1060
1061 "git add" and "git rm" learned not to touch those paths that are
1062 outside of sparse checkout.
1063
864 - Will merge to 'next'.
1064 + Will merge to 'master'.
1065
1066
867 -* zh/trailer-cmd (2021-04-17) 2 commits
868 - - trailer: add new .cmd config option
869 - - docs: correct description of .command
1067 +* zh/trailer-cmd (2021-05-04) 2 commits
1068 + (merged to 'next' on 2021-05-04 at fb677877f7)
1069 + + trailer: add new .cmd config option
1070 + + docs: correct descript of trailer.<token>.command
1071
1072 The way the command line specified by the trailer.<token>.command
1073 configuration variable receives the end-user supplied value was
@@ -874,91 +1075,6 @@ Release tarballs are available at:
1075 same goal in a safer and more intuitive way has been added, as
1076 the trailer.<token>.cmd configuration variable, to replace it.
1077
877 - Expecting a reroll, after waiting for "commit --trailer" to stabilize.
878 -
879 -
880 -* ds/sparse-index (2021-03-30) 21 commits
881 - (merged to 'next' on 2021-04-07 at f1290a7929)
882 - + p2000: add sparse-index repos
883 - + sparse-index: loose integration with cache_tree_verify()
884 - + cache-tree: integrate with sparse directory entries
885 - + sparse-checkout: disable sparse-index
886 - + sparse-checkout: toggle sparse index from builtin
887 - + sparse-index: add index.sparse config option
888 - + sparse-index: check index conversion happens
889 - + unpack-trees: allow sparse directories
890 - + submodule: sparse-index should not collapse links
891 - + sparse-index: convert from full to sparse
892 - + sparse-index: add 'sdir' index extension
893 - + sparse-checkout: hold pattern list in index
894 - + unpack-trees: ensure full index
895 - + test-tool: don't force full index
896 - + test-read-cache: print cache entries with --table
897 - + t1092: compare sparse-checkout to sparse-index
898 - + sparse-index: implement ensure_full_index()
899 - + sparse-index: add guard to ensure full index
900 - + t1092: clean up script quoting
901 - + t/perf: add performance test for sparse operations
902 - + sparse-index: design doc and format update
903 - (this branch is used by ds/sparse-index-protections and ds/status-with-sparse-index.)
904 -
905 - Both in-core and on-disk index has been updated to optionally omit
906 - individual entries and replace them with the tree object that
907 - corresponds to the directory that contains them when the "cone"
908 - mode of sparse checkout is in use.
909 -
910 - On hold, waiting for the "protections" topic to stablize.
911 -
912 -
913 -* mt/parallel-checkout-part-2 (2021-04-19) 5 commits
914 - (merged to 'next' on 2021-04-20 at d4779b8864)
915 - + parallel-checkout: add design documentation
916 - + parallel-checkout: support progress displaying
917 - + parallel-checkout: add configuration options
918 - + parallel-checkout: make it truly parallel
919 - + unpack-trees: add basic support for parallel checkout
920 - (this branch is used by mt/parallel-checkout-part-3.)
921 -
922 - The checkout machinery has been taught to perform the actual
923 - write-out of the files in parallel when able.
924 -
925 - Will merge to 'master'.
926 -
927 -
928 -* ds/sparse-index-protections (2021-04-14) 26 commits
929 - (merged to 'next' on 2021-04-17 at f1c40f89ba)
930 - + name-hash: use expand_to_path()
931 - + sparse-index: expand_to_path()
932 - + name-hash: don't add directories to name_hash
933 - + revision: ensure full index
934 - + resolve-undo: ensure full index
935 - + read-cache: ensure full index
936 - + pathspec: ensure full index
937 - + merge-recursive: ensure full index
938 - + entry: ensure full index
939 - + dir: ensure full index
940 - + update-index: ensure full index
941 - + stash: ensure full index
942 - + rm: ensure full index
943 - + merge-index: ensure full index
944 - + ls-files: ensure full index
945 - + grep: ensure full index
946 - + fsck: ensure full index
947 - + difftool: ensure full index
948 - + commit: ensure full index
949 - + checkout: ensure full index
950 - + checkout-index: ensure full index
951 - + add: ensure full index
952 - + cache: move ensure_full_index() to cache.h
953 - + read-cache: expand on query into sparse-directory entry
954 - + *: remove 'const' qualifier for struct index_state
955 - + sparse-index: API protection strategy
956 - (this branch is used by ds/status-with-sparse-index; uses ds/sparse-index.)
957 -
958 - Builds on top of the sparse-index infrastructure to mark operations
959 - that are not ready to mark with the sparse index, causing them to
960 - fall back on fully-populated index that they always have worked with.
961 -
1078 Will merge to 'master'.
1079
1080
@@ -993,3 +1109,22 @@ Release tarballs are available at:
1109 - refs: ref_iterator_peel returns boolean, rather than peel_status
1110
1111 The "reftable" backend for the refs API.
1112 +
1113 + Waiting for reviews.
1114 +
1115 +--------------------------------------------------
1116 +[Discarded]
1117 +
1118 +* ab/fsck-unexpected-type (2021-04-13) 6 commits
1119 + . fsck: report invalid object type-path combinations
1120 + . fsck: report invalid types recorded in objects
1121 + . object-store.h: move read_loose_object() below 'struct object_info'
1122 + . fsck: don't hard die on invalid object types
1123 + . fsck tests: refactor one test to use a sub-repo
1124 + . cache.h: move object functions to object-store.h
1125 +
1126 + "git fsck" has been taught to report mismatch between expected and
1127 + actual types of an object better.
1128 +
1129 + Retracted for now.
1130 + cf. <cover-0.5-00000000000-20210505T122816Z-avarab@gmail.com>