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>