What's cooking (2021/05 #03)
Junio C Hamano committed
May 20, 2021 at 12:15 UTC
e7ca304e556547c84eae15a193de64ee17b9b071
1 file changed
+339
-487
whats-cooking.txt
+339
-487
@@ -1,10 +1,10 @@
1
To: git@vger.kernel.org
2
Bcc: lwn@lwn.net
3
-Subject: What's cooking in git.git (May 2021, #02; Wed, 12)
4
-X-master-at: df6c4f722c94641d5a9ea5496511f7043433abc2
5
-X-next-at: a26e31b5bc8c25bf0f70407da361b41b06153806
3
+Subject: What's cooking in git.git (May 2021, #03; Thu, 20)
4
+X-master-at: 88dd4282d949cdafff516650c1be8aaf4d67983f
5
+X-next-at: 0aeb996cc0ef25ce07f2e6c059b1bbb68acd0d56
6
7
-What's cooking in git.git (May 2021, #02; Wed, 12)
7
+What's cooking in git.git (May 2021, #03; Thu, 20)
8
--------------------------------------------------
9
10
Here are the topics that have been cooking. Commits prefixed with '-' are
@@ -43,466 +43,417 @@ Release tarballs are available at:
43
--------------------------------------------------
44
[Graduated to 'master']
45
46
-* ab/doc-lint (2021-04-10) 7 commits
47
- (merged to 'next' on 2021-04-30 at 285b9c4d64)
48
- + docs: fix linting issues due to incorrect relative section order
49
- + doc lint: lint relative section order
50
- + doc lint: lint and fix missing "GIT" end sections
51
- + doc lint: fix bugs in, simplify and improve lint script
52
- + doc lint: Perl "strict" and "warnings" in lint-gitlink.perl
53
- + Documentation/Makefile: make doc.dep dependencies a variable again
54
- + Documentation/Makefile: make $(wildcard howto/*.txt) a var
46
+* ab/perl-makefile-cleanup (2021-05-13) 5 commits
47
+ (merged to 'next' on 2021-05-13 at 6cf377a1bc)
48
+ + Makefile: make PERL_DEFINES recursively expanded
49
+ (merged to 'next' on 2021-05-10 at 23b48398e6)
50
+ + perl: use mock i18n functions under NO_GETTEXT=Y
51
+ + Makefile: regenerate *.pm on NO_PERL_CPAN_FALLBACKS change
52
+ + Makefile: regenerate perl/build/* if GIT-PERL-DEFINES changes
53
+ + Makefile: don't re-define PERL_DEFINES
54
56
- Dev support.
55
+ Build procedure clean-up.
56
57
59
-* ab/pretty-date-format-tests (2021-04-27) 2 commits
60
- (merged to 'next' on 2021-04-30 at bd2d680c23)
61
- + pretty tests: give --date/format tests a better description
62
- + pretty tests: simplify %aI/%cI date format test
63
- (this branch is used by zh/pretty-date-human.)
58
+* ab/sparse-index-cleanup (2021-05-06) 1 commit
59
+ (merged to 'next' on 2021-05-10 at bbb0239571)
60
+ + sparse-index.c: remove set_index_sparse_config()
61
65
- Tweak a few tests for "log --format=..." that show timestamps in
66
- various formats.
62
+ Code clean-up.
63
64
69
-* ab/rebase-no-reschedule-failed-exec (2021-04-10) 2 commits
70
- (merged to 'next' on 2021-04-30 at 97d56cc674)
71
- + rebase: don't override --no-reschedule-failed-exec with config
72
- + rebase tests: camel-case rebase.rescheduleFailedExec consistently
65
+* ab/streaming-simplify (2021-05-06) 5 commits
66
+ (merged to 'next' on 2021-05-07 at 0992a78c75)
67
+ + streaming.c: move {open,close,read} from vtable to "struct git_istream"
68
+ + streaming.c: stop passing around "object_info *" to open()
69
+ + streaming.c: remove {open,close,read}_method_decl() macros
70
+ + streaming.c: remove enum/function/vtbl indirection
71
+ + streaming.c: avoid forward declarations
72
74
- "git rebase --[no-]reschedule-failed-exec" did not work well with
75
- its configuration variable, which has been corrected.
73
+ Code clean-up.
74
75
78
-* ab/svn-tests-set-e-fix (2021-04-12) 2 commits
79
- (merged to 'next' on 2021-04-30 at 41f7907187)
80
- + svn tests: refactor away a "set -e" in test body
81
- + svn tests: remove legacy re-setup from init-clone test
76
+* ah/merge-ort-i18n (2021-05-11) 1 commit
77
+ (merged to 'next' on 2021-05-12 at bda497af01)
78
+ + merge-ort: split "distinct types" message into two translatable messages
79
83
- Test clean-up.
80
+ An i18n fix.
81
82
86
-* ad/cygwin-no-backslashes-in-paths (2021-04-30) 1 commit
87
- (merged to 'next' on 2021-04-30 at e2cf03a8aa)
88
- + cygwin: disallow backslashes in file names
83
+* ba/object-info (2021-04-20) 1 commit
84
+ (merged to 'next' on 2021-05-07 at e2cb0e4ef1)
85
+ + object-info: support for retrieving object info
86
90
- Cygwin pathname handling fix.
87
+ Over-the-wire protocol learns a new request type to ask for object
88
+ sizes given a list of object names.
89
90
93
-* ah/plugleaks (2021-04-28) 12 commits
94
- (merged to 'next' on 2021-04-30 at ccb3984029)
95
- + builtin/rm: avoid leaking pathspec and seen
96
- + builtin/rebase: release git_format_patch_opt too
97
- + builtin/for-each-ref: free filter and UNLEAK sorting.
98
- + mailinfo: also free strbuf lists when clearing mailinfo
99
- + builtin/checkout: clear pending objects after diffing
100
- + builtin/check-ignore: clear_pathspec before returning
101
- + builtin/bugreport: don't leak prefixed filename
102
- + branch: FREE_AND_NULL instead of NULL'ing real_ref
103
- + bloom: clear each bloom_key after use
104
- + ls-files: free max_prefix when done
105
- + wt-status: fix multiple small leaks
106
- + revision: free remainder of old commit list in limit_list
91
+* dd/mailinfo-quoted-cr (2021-05-10) 6 commits
92
+ (merged to 'next' on 2021-05-12 at a4bcfd18b9)
93
+ + am: learn to process quoted lines that ends with CRLF
94
+ + mailinfo: allow stripping quoted CR without warning
95
+ + mailinfo: allow squelching quoted CRLF warning
96
+ + mailinfo: warn if CRLF found in decoded base64/QP email
97
+ + mailinfo: stop parsing options manually
98
+ + mailinfo: load default metainfo_charset lazily
99
108
- Plug various leans reported by LSAN.
100
+ "git mailinfo" (hence "git am") learned the "--quoted-cr" option to
101
+ control how lines ending with CRLF wrapped in base64 or qp are
102
+ handled.
103
104
111
-* bc/hash-transition-interop-part-1 (2021-04-27) 13 commits
112
- (merged to 'next' on 2021-05-03 at 19dba33d17)
113
- + hex: print objects using the hash algorithm member
114
- + hex: default to the_hash_algo on zero algorithm value
115
- + builtin/pack-objects: avoid using struct object_id for pack hash
116
- + commit-graph: don't store file hashes as struct object_id
117
- + builtin/show-index: set the algorithm for object IDs
118
- + hash: provide per-algorithm null OIDs
119
- + hash: set, copy, and use algo field in struct object_id
120
- + builtin/pack-redundant: avoid casting buffers to struct object_id
121
- + Use the final_oid_fn to finalize hashing of object IDs
122
- + hash: add a function to finalize object IDs
123
- + http-push: set algorithm when reading object ID
124
- + Always use oidread to read into struct object_id
125
- + hash: add an algo member to struct object_id
105
+* dl/stash-show-untracked-fixup (2021-05-13) 2 commits
106
+ (merged to 'next' on 2021-05-13 at 267a756b92)
107
+ + stash show: fix segfault with --{include,only}-untracked
108
+ + t3905: correct test title
109
127
- SHA-256 transition.
110
+ The code to handle options recently added to "git stash show"
111
+ around untracked part of the stash segfaulted when these options
112
+ were used on a stash entry that does not record untracked part.
113
114
130
-* dl/complete-stash (2021-03-24) 3 commits
131
- (merged to 'next' on 2021-03-24 at ce573a99cc)
132
- + git-completion.bash: use __gitcomp_builtin() in _git_stash()
133
- + git-completion.bash: extract from else in _git_stash()
134
- + git-completion.bash: pass $__git_subcommand_idx from __git_main()
135
- (this branch is used by dl/complete-stash-updates.)
115
+* en/dir-traversal (2021-05-13) 9 commits
116
+ (merged to 'next' on 2021-05-14 at 316f9264c1)
117
+ + dir: introduce readdir_skip_dot_and_dotdot() helper
118
+ + dir: update stale description of treat_directory()
119
+ + dir: traverse into untracked directories if they may have ignored subfiles
120
+ + dir: avoid unnecessary traversal into ignored directory
121
+ + t3001, t7300: add testcase showcasing missed directory traversal
122
+ + t7300: add testcase showing unnecessary traversal into ignored directory
123
+ + ls-files: error out on -i unless -o or -c are specified
124
+ + dir: report number of visited directories and paths with trace2
125
+ + dir: convert trace calls to trace2 equivalents
126
137
- The command line completion (in contrib/) for "git stash" has been
138
- updated.
127
+ "git clean" and "git ls-files -i" had confusion around working on
128
+ or showing ignored paths inside an ignored directory, which has
129
+ been corrected.
130
131
141
-* dl/complete-stash-updates (2021-04-27) 4 commits
142
- (merged to 'next' on 2021-05-03 at 8901a9c431)
143
- + git-completion.bash: consolidate cases in _git_stash()
144
- + git-completion.bash: use $__git_cmd_idx in more places
145
- + git-completion.bash: rename to $__git_cmd_idx
146
- + git-completion.bash: separate some commands onto their own line
147
- (this branch uses dl/complete-stash.)
132
+* en/prompt-under-set-u (2021-05-13) 1 commit
133
+ (merged to 'next' on 2021-05-16 at 4467131ca3)
134
+ + git-prompt: work under set -u
135
149
- Further update the command line completion (in contrib/) for "git
150
- stash".
136
+ The bash prompt script (in contrib/) did not work under "set -u".
137
138
153
-* hn/trace-reflog-expiry (2021-04-27) 1 commit
154
- (merged to 'next' on 2021-04-30 at 6bc9a79b61)
155
- + refs/debug: trace into reflog expiry too
139
+* ew/sha256-clone-remote-curl-fix (2021-05-12) 1 commit
140
+ (merged to 'next' on 2021-05-14 at 6d6a81717a)
141
+ + remote-curl: fix clone on sha256 repos
142
157
- The reflog expiry machinery has been taught to emit trace events.
143
+ "git clone" from SHA256 repository by Git built with SHA-1 as the
144
+ default hash algorithm over the dumb HTTP protocol did not
145
+ correctly set up the resulting repository, which has been corrected.
146
147
160
-* jc/test-allows-local (2021-05-03) 1 commit
161
- (merged to 'next' on 2021-05-04 at 768071c554)
162
- + CodingGuidelines: explicitly allow "local" for test scripts
148
+* jk/p4-locate-branch-point-optim (2021-05-06) 2 commits
149
+ (merged to 'next' on 2021-05-07 at 0fa60c3af3)
150
+ + git-p4: speed up search for branch parent
151
+ + git-p4: ensure complex branches are cloned correctly
152
164
- Document that our test can use "local" keyword.
153
+ "git p4" learned to find branch points more efficiently.
154
155
167
-* jk/doc-format-patch-skips-merges (2021-05-03) 1 commit
168
- (merged to 'next' on 2021-05-04 at cac68f7193)
169
- + docs/format-patch: mention handling of merges
156
+* jk/test-chainlint-softer (2021-05-13) 1 commit
157
+ (merged to 'next' on 2021-05-16 at 2f4f4454ea)
158
+ + t: avoid sed-based chain-linting in some expensive cases
159
171
- Document that "format-patch" skips merges.
160
+ The "chainlint" feature in the test framework is a handy way to
161
+ catch common mistakes in writing new tests, but tends to get
162
+ expensive. An knob to selectively disable it has been introduced
163
+ to help running tests that the developer has not modified.
164
165
174
-* jk/pack-objects-negative-options-fix (2021-05-03) 5 commits
175
- (merged to 'next' on 2021-05-04 at 4a61f68cf0)
176
- + pack-objects: clamp negative depth to 0
177
- + t5316: check behavior of pack-objects --depth=0
178
- + pack-objects: clamp negative window size to 0
179
- + t5300: check that we produced expected number of deltas
180
- + t5300: modernize basic tests
166
+* jt/push-negotiation (2021-05-05) 6 commits
167
+ (merged to 'next' on 2021-05-06 at 644a1bc4ee)
168
+ + send-pack: support push negotiation
169
+ + fetch: teach independent negotiation (no packfile)
170
+ + fetch-pack: refactor command and capability write
171
+ + fetch-pack: refactor add_haves()
172
+ + fetch-pack: refactor process_acks()
173
+ + Merge branch 'jt/fetch-pack-request-fix' into jt/push-negotiation
174
182
- Options to "git pack-objects" that take numeric values like
183
- --window and --depth should not accept negative values; the input
184
- validation has been tightened.
175
+ "git push" learns to discover common ancestor with the receiving
176
+ end over protocol v2.
177
178
187
-* jk/prune-with-bitmap-fix (2021-04-29) 2 commits
188
- (merged to 'next' on 2021-04-30 at bede558f31)
189
- + prune: save reachable-from-recent objects with bitmaps
190
- + pack-bitmap: clean up include_check after use
179
+* lh/maintenance-leakfix (2021-05-12) 1 commit
180
+ (merged to 'next' on 2021-05-13 at 38d02fe309)
181
+ + maintenance: fix two memory leaks
182
192
- When the reachability bitmap is in effect, the "do not lose
193
- recently created objects and those that are reachable from them"
194
- safety to protect us from races were disabled by mistake, which has
195
- been corrected.
183
+ Will merge to 'master'.
184
185
198
-* jk/symlinked-dotgitx-cleanup (2021-05-04) 9 commits
199
- (merged to 'next' on 2021-05-04 at deca6ca662)
200
- + docs: document symlink restrictions for dot-files
201
- + fsck: warn about symlinked dotfiles we'll open with O_NOFOLLOW
202
- + t0060: test ntfs/hfs-obscured dotfiles
203
- + t7450: test .gitmodules symlink matching against obscured names
204
- + t7450: test verify_path() handling of gitmodules
205
- + t7415: rename to expand scope
206
- + fsck_tree(): wrap some long lines
207
- + fsck_tree(): fix shadowed variable
208
- + t7415: remove out-dated comment about translation
209
-
210
- Various test and documentation updates about .gitsomething paths
211
- that are symlinks.
212
-
213
-
214
-* js/merge-already-up-to-date-message-reword (2021-05-03) 2 commits
215
- (merged to 'next' on 2021-05-04 at b2e696ecd7)
216
- + merge: fix swapped "up to date" message components
217
- + merge(s): apply consistent punctuation to "up to date" messages
218
-
219
- A few variants of informational message "Already up-to-date" has
220
- been rephrased.
221
-
222
-
223
-* jz/apply-3way-first-message-fix (2021-04-29) 1 commit
224
- (merged to 'next' on 2021-04-30 at 829167e135)
225
- + apply: adjust messages to account for --3way changes
226
-
227
- When we swapped the order of --3way fallback, we forgot to adjust
228
- the message we give when the first method fails and the second
229
- method is attempted (which used to be "direct application failed
230
- hence we try 3way", now it is the other way around).
231
-
232
-
233
-* ll/clone-reject-shallow (2021-05-05) 1 commit
234
- (merged to 'next' on 2021-05-06 at 4a165ffc96)
235
- + t5601: mark protocol v2-only test
236
-
237
- Fix tests when forced to use v0 protocol.
238
-
239
-
240
-* ls/subtree (2021-04-28) 30 commits
241
- (merged to 'next' on 2021-05-03 at 12c5fe8677)
242
- + subtree: be stricter about validating flags
243
- + subtree: push: allow specifying a local rev other than HEAD
244
- + subtree: allow 'split' flags to be passed to 'push'
245
- + subtree: allow --squash to be used with --rejoin
246
- + subtree: give the docs a once-over
247
- + subtree: have $indent actually affect indentation
248
- + subtree: don't let debug and progress output clash
249
- + subtree: add comments and sanity checks
250
- + subtree: remove duplicate check
251
- + subtree: parse revs in individual cmd_ functions
252
- + subtree: use "^{commit}" instead of "^0"
253
- + subtree: don't fuss with PATH
254
- + subtree: use "$*" instead of "$@" as appropriate
255
- + subtree: use more explicit variable names for cmdline args
256
- + subtree: use git-sh-setup's `say`
257
- + subtree: use `git merge-base --is-ancestor`
258
- + subtree: drop support for git < 1.7
259
- + subtree: more consistent error propagation
260
- + subtree: don't have loose code outside of a function
261
- + subtree: t7900: add porcelain tests for 'pull' and 'push'
262
- + subtree: t7900: add a test for the -h flag
263
- + subtree: t7900: rename last_commit_message to last_commit_subject
264
- + subtree: t7900: fix 'verify one file change per commit'
265
- + subtree: t7900: delete some dead code
266
- + subtree: t7900: use 'test' for string equality
267
- + subtree: t7900: comment subtree_test_create_repo
268
- + subtree: t7900: use consistent formatting
269
- + subtree: t7900: use test-lib.sh's test_count
270
- + subtree: t7900: update for having the default branch name be 'main'
271
- + .gitignore: ignore 'git-subtree' as a build artifact
272
-
273
- "git subtree" updates.
274
-
275
-
276
-* mt/add-rm-in-sparse-checkout (2021-04-08) 7 commits
277
- (merged to 'next' on 2021-04-30 at ddead90eaf)
278
- + rm: honor sparse checkout patterns
279
- + add: warn when asked to update SKIP_WORKTREE entries
280
- + refresh_index(): add flag to ignore SKIP_WORKTREE entries
281
- + pathspec: allow to ignore SKIP_WORKTREE entries on index matching
282
- + add: make --chmod and --renormalize honor sparse checkouts
283
- + t3705: add tests for `git add` in sparse checkouts
284
- + add: include magic part of pathspec on --refresh error
285
- (this branch is used by ds/status-with-sparse-index.)
286
-
287
- "git add" and "git rm" learned not to touch those paths that are
288
- outside of sparse checkout.
289
-
290
-
291
-* nc/submodule-update-quiet (2021-05-03) 1 commit
292
- (merged to 'next' on 2021-05-04 at 09bed89b60)
293
- + submodule update: silence underlying fetch with "--quiet"
294
-
295
- "git submodule update --quiet" did not propagate the quiet option
296
- down to underlying "git fetch", which has been corrected.
297
-
298
-
299
-* po/diff-patch-doc (2021-04-28) 1 commit
300
- (merged to 'next' on 2021-04-30 at 58af0f4b5e)
301
- + doc: point to diff attribute in patch format docs
186
+* ls/typofix (2021-05-13) 1 commit
187
+ (merged to 'next' on 2021-05-13 at d0b92b2b10)
188
+ + pretty: fix a typo in the documentation for %(trailers)
189
303
- Doc update.
190
+ Will merge to 'master'.
191
192
306
-* ps/config-env-option-with-separate-value (2021-04-30) 2 commits
307
- (merged to 'next' on 2021-04-30 at 46fbcd08c1)
308
- + git: support separate arg for `--config-env`'s value
309
- + git.txt: fix synopsis of `--config-env` missing the equals sign
193
+* ma/typofixes (2021-05-10) 2 commits
194
+ (merged to 'next' on 2021-05-12 at 99cc0d265e)
195
+ + pretty-formats.txt: add missing space
196
+ + git-repack.txt: remove spurious ")"
197
311
- "git --config-env var=val cmd" weren't accepted (only
312
- --config-env=var=val was).
198
+ A couple of trivial typofixes.
199
200
315
-* ps/config-global-override (2021-04-27) 4 commits
316
- (merged to 'next' on 2021-04-30 at 5ce435d98f)
317
- + t1300: fix unset of GIT_CONFIG_NOSYSTEM leaking into subsequent tests
318
- (merged to 'next' on 2021-04-20 at 82578c696d)
319
- + config: allow overriding of global and system configuration
320
- + config: unify code paths to get global config paths
321
- + config: rename `git_etc_config()`
201
+* mt/clean-clean (2021-05-07) 1 commit
202
+ (merged to 'next' on 2021-05-07 at 51e40b7ddd)
203
+ + clean: remove unnecessary variable
204
323
- Replace GIT_CONFIG_NOSYSTEM mechanism to decline from reading the
324
- system-wide configuration file with GIT_CONFIG_SYSTEM that lets
325
- users specify from which file to read the system-wide configuration
326
- (setting it to an empty file would essentially be the same as
327
- setting NOSYSTEM), and introduce GIT_CONFIG_GLOBAL to override the
328
- per-user configuration in $HOME/.gitconfig.
205
+ Code clean-up.
206
207
331
-* ps/rev-list-object-type-filter (2021-04-19) 8 commits
332
- (merged to 'next' on 2021-04-30 at fa0ceacde4)
333
- + rev-list: allow filtering of provided items
334
- + pack-bitmap: implement combined filter
335
- + pack-bitmap: implement object type filter
336
- + list-objects: implement object type filter
337
- + list-objects: support filtering by tag and commit
338
- + list-objects: move tag processing into its own function
339
- + revision: mark commit parents as NOT_USER_GIVEN
340
- + uploadpack.txt: document implication of `uploadpackfilter.allow`
208
+* mt/parallel-checkout-part-3 (2021-05-05) 8 commits
209
+ (merged to 'next' on 2021-05-07 at 0393d61c0c)
210
+ + ci: run test round with parallel-checkout enabled
211
+ + parallel-checkout: add tests related to .gitattributes
212
+ + t0028: extract encoding helpers to lib-encoding.sh
213
+ + parallel-checkout: add tests related to path collisions
214
+ + parallel-checkout: add tests for basic operations
215
+ + checkout-index: add parallel checkout support
216
+ + builtin/checkout.c: complete parallel checkout support
217
+ + make_transient_cache_entry(): optionally alloc from mem_pool
218
342
- "git rev-list" learns the "--filter=object:type=<type>" option,
343
- which can be used to exclude objects of the given kind from the
344
- packfile generated by pack-objects.
219
+ The final part of "parallel checkout".
220
221
347
-* rj/bisect-skip-honor-terms (2021-04-30) 1 commit
348
- (merged to 'next' on 2021-05-04 at f7c11bba06)
349
- + bisect--helper: use BISECT_TERMS in 'bisect skip' command
222
+* ow/no-dryrun-in-add-i (2021-05-07) 1 commit
223
+ (merged to 'next' on 2021-05-07 at e822750e3a)
224
+ + add: die if both --dry-run and --interactive are given
225
351
- "git bisect skip" when custom words are used for new/old did not
352
- work, which has been corrected.
226
+ "git add -i --dry-run" does not dry-run, which was surprising. The
227
+ combination of options has taught to error out.
228
229
355
-* rs/repack-without-loosening-promised-objects (2021-04-28) 1 commit
356
- (merged to 'next' on 2021-05-03 at 6681b49209)
357
- + repack: avoid loosening promisor objects in partial clones
230
+* pw/patience-diff-clean-up (2021-05-05) 2 commits
231
+ (merged to 'next' on 2021-05-06 at 1ce651569c)
232
+ + patience diff: remove unused variable
233
+ + patience diff: remove unnecessary string comparisons
234
359
- "git repack -A -d" in a partial clone unnecessarily loosened
360
- objects in promisor pack.
235
+ Code clean-up.
236
237
363
-* si/zsh-complete-comment-fix (2021-05-04) 1 commit
364
- (merged to 'next' on 2021-05-04 at a15c1ea590)
365
- + work around zsh comment in __git_complete_worktree_paths
238
+* pw/word-diff-zero-width-matches (2021-05-05) 1 commit
239
+ (merged to 'next' on 2021-05-06 at e5653da568)
240
+ + word diff: handle zero length matches
241
367
- Portability fix for command line completion script (in contrib/).
242
+ The word-diff mode has been taught to work better with a word
243
+ regexp that can match an empty string.
244
245
370
-* zh/format-ref-array-optim (2021-04-20) 2 commits
371
- (merged to 'next' on 2021-04-30 at b6c835cc51)
372
- + ref-filter: reuse output buffer
373
- + ref-filter: get rid of show_ref_array_item
246
+* wc/packed-ref-removal-cleanup (2021-05-11) 1 commit
247
+ (merged to 'next' on 2021-05-13 at 58e8c23f29)
248
+ + refs: cleanup directories when deleting packed ref
249
375
- "git (branch|tag) --format=..." has been micro-optimized.
250
+ When "git update-ref -d" removes a ref that is packed, it left
251
+ empty directories under $GIT_DIR/refs/ for
252
253
378
-* zh/pretty-date-human (2021-04-27) 1 commit
379
- (merged to 'next' on 2021-04-30 at 2320ad8fb0)
380
- + pretty: provide human date format
381
- (this branch uses ab/pretty-date-format-tests.)
254
+* zh/ref-filter-push-remote-fix (2021-05-12) 1 commit
255
+ (merged to 'next' on 2021-05-16 at d90e8df2b7)
256
+ + ref-filter: fix read invalid union member bug
257
383
- "git log --format=..." placeholders learned %ah/%ch placeholders to
384
- request the --date=human output.
258
+ The handling of "%(push)" formatting element of "for-each-ref" and
259
+ friends was broken when the same codepath started handling
260
+ "%(push:<what>)", which has been corrected.
261
262
+--------------------------------------------------
263
+[New Topics]
264
387
-* zh/trailer-cmd (2021-05-04) 2 commits
388
- (merged to 'next' on 2021-05-04 at fb677877f7)
389
- + trailer: add new .cmd config option
390
- + docs: correct descript of trailer.<token>.command
265
+* ab/send-email-optim (2021-05-13) 9 commits
266
+ - send-email: move trivial config handling to Perl
267
+ - perl: lazily load some common Git.pm setup code
268
+ - send-email: lazily load modules for a big speedup
269
+ - send-email: get rid of indirect object syntax
270
+ - send-email: use function syntax instead of barewords
271
+ - send-email: lazily shell out to "git var"
272
+ - send-email: lazily load config for a big speedup
273
+ - send-email: refactor sendemail.smtpencryption config parsing
274
+ - send-email: remove non-working support for "sendemail.smtpssl"
275
392
- The way the command line specified by the trailer.<token>.command
393
- configuration variable receives the end-user supplied value was
394
- both error prone and misleading. An alternative to achieve the
395
- same goal in a safer and more intuitive way has been added, as
396
- the trailer.<token>.cmd configuration variable, to replace it.
276
+ "git send-email" optimization.
277
398
---------------------------------------------------
399
-[New Topics]
278
+ Looking good.
279
+ May want to update with Eric's suggestion.
280
+ cf. <20210512180517.GA11354@dcvr>
281
+ I've squashed in typofixes while queuing.
282
401
-* mt/clean-clean (2021-05-07) 1 commit
402
- (merged to 'next' on 2021-05-07 at 51e40b7ddd)
403
- + clean: remove unnecessary variable
283
405
- Code clean-up.
284
+* ab/update-submitting-patches (2021-05-13) 3 commits
285
+ - SubmittingPatches: remove pine-specific hints from MUA hints
286
+ - SubmittingPatches: replace discussion of Travis with GitHub Actions
287
+ - SubmittingPatches: move discussion of Signed-off-by above "send"
288
407
- Will merge to 'master'.
289
+ Reorganize and update the SubmitingPatches document.
290
291
+ Expecting a reroll.
292
+ cf. <xmqq4kf7fueq.fsf@gitster.g>, <20210512235136.GB10785@localhost>
293
410
-* ah/merge-ort-i18n (2021-05-11) 1 commit
411
- (merged to 'next' on 2021-05-12 at bda497af01)
412
- + merge-ort: split "distinct types" message into two translatable messages
294
414
- An i18n fix.
295
+* zh/ref-filter-atom-type (2021-05-14) 2 commits
296
+ (merged to 'next' on 2021-05-16 at 48fd717185)
297
+ + ref-filter: introduce enum atom_type
298
+ + ref-filter: add objectsize to used_atom
299
416
- Will merge to 'master'.
300
+ The code to handle the "--format" option in "for-each-ref" and
301
+ friends made too many string comparisons on %(atom)s used in the
302
+ format string, which has been corrected by converting them into
303
+ enum when the format string is parsed.
304
305
+ Will cook in 'next'.
306
419
-* en/dir-traversal (2021-05-12) 8 commits
420
- - dir: update stale description of treat_directory()
421
- - dir: traverse into untracked directories if they may have ignored subfiles
422
- - dir: avoid unnecessary traversal into ignored directory
423
- - t3001, t7300: add testcase showcasing missed directory traversal
424
- - t7300: add testcase showing unnecessary traversal into ignored directory
425
- - ls-files: error out on -i unless -o or -c are specified
426
- - dir: report number of visited directories and paths with trace2
427
- - dir: convert trace calls to trace2 equivalents
307
429
- "git clean" and "git ls-files -i" had confusion around working on
430
- or showing ignored paths inside an ignored directory, which has
431
- been corrected.
308
+* tl/fix-packfile-uri-doc (2021-05-14) 1 commit
309
+ - packfile-uri.txt: fix blobPackfileUri description
310
+
311
+ Doc fix.
312
313
Will merge to 'next'?
314
+ cf. <xmqq8s4c6fbg.fsf@gitster.g>
315
316
436
-* ma/typofixes (2021-05-10) 2 commits
437
- (merged to 'next' on 2021-05-12 at 99cc0d265e)
438
- + pretty-formats.txt: add missing space
439
- + git-repack.txt: remove spurious ")"
317
+* ga/send-email-sendmail-cmd (2021-05-17) 1 commit
318
+ - git-send-email: add option to specify sendmail command
319
441
- A couple of trivial typofixes.
320
+ "git send-email" learned the "--sendmail-cmd" command line option
321
+ and the "sendemail.sendmailCmd" configuration variable, which is a
322
+ more sensible approach than the current way of repurposing the
323
+ "smtp-server" that is meant to name the server to instead name the
324
+ command to talk to the server.
325
443
- Will merge to 'master'.
326
+ Will merge to 'next'.
327
328
446
-* zh/ref-filter-push-remote-fix (2021-05-12) 1 commit
447
- - ref-filter: fix read invalid union member bug
329
+* ah/doc-describe (2021-05-17) 1 commit
330
+ - describe-doc: clarify default length of abbreviation
331
449
- The handling of "%(push)" formatting element of "for-each-ref" and
450
- friends was broken when the same codepath started handling
451
- "%(push:<what>)", which has been corrected.
332
+ Doc update.
333
453
- Will merge to 'next'?
334
+ Will merge to 'next'.
335
336
456
-* lh/maintenance-leakfix (2021-05-12) 1 commit
457
- - maintenance: fix two memory leaks
337
+* ah/merge-usage-i18n-fix (2021-05-16) 1 commit
338
+ - merge: don't translate literal commands
339
+
340
+ i18n update.
341
342
Will merge to 'next'.
343
344
462
-* so/log-m-implies-p (2021-05-11) 7 commits
463
- - diff-merges: let -m imply -p
464
- - diff-merges: rename "combined_imply_patch" to "merges_imply_patch"
465
- - stash list: stop passing "-m" to "git list"
466
- - git-svn: stop passing "-m" to "git rev-list"
467
- - t4062: diff-index -S can take its string as a separate arg
468
- - diff-merges: move specific diff-index "-m" handling to diff-index
469
- - t4013: add test for "git diff-index -m"
345
+* ah/stash-usage-i18n-fix (2021-05-17) 1 commit
346
+ - stash: don't translate literal commands
347
471
- The "-m" option in "git log -m" that does not specify which format,
472
- if any, of diff is desired did not have any visible effect; it now
473
- implies some form of diff (by default "--patch") is produced.
348
+ i18n update.
349
475
- Expecting a reroll.
476
- cf. <871radwfl7.fsf@osv.gnss.ru>
350
+ Will merge to 'next'.
351
352
479
-* wc/packed-ref-removal-cleanup (2021-05-11) 1 commit
480
- - refs: cleanup directories when deleting packed ref
353
+* ah/submodule-helper-module-summary-parseopt (2021-05-17) 1 commit
354
+ - submodule: use the imperative mood to describe the --files option
355
482
- When "git update-ref -d" removes a ref that is packed, it left
483
- empty directories under $GIT_DIR/refs/ for
356
+ Message update.
357
358
Will merge to 'next'.
359
360
488
-* ew/sha256-clone-remote-curl-fix (2021-05-12) 1 commit
489
- - remote-curl: fix clone on sha256 repos
361
+* ef/mailinfo-short-name (2021-05-17) 1 commit
362
+ (merged to 'next' on 2021-05-20 at 5ee67911ea)
363
+ + mailinfo: don't discard names under 3 characters
364
491
- "git clone" from SHA256 repository by Git built with SHA-1 as the
492
- default hash algorithm over the dumb HTTP protocol did not
493
- correctly set up the resulting repository, which has been corrected.
365
+ We historically rejected a very short string as an author name
366
+ while accepting a patch e-mail, which has been loosened.
367
+
368
+ Will cook in 'next'.
369
+
370
+
371
+* wm/rev-parse-path-format-wo-arg (2021-05-17) 2 commits
372
+ - rev-parse: mark die() messages for translation
373
+ - rev-parse: fix segfault with missing --path-format argument
374
+
375
+ The "rev-parse" command did not diagnose the lack of argument to
376
+ "--path-format" option, which was introduced in v2.31 era, which
377
+ has been corrected.
378
379
Will merge to 'next'.
380
381
498
-* bc/doc-asciidoctor-to-man-wo-xmlto (2021-05-12) 2 commits
499
- - doc: remove GNU_ROFF option
500
- - doc: add an option to have Asciidoctor build man pages directly
382
+* cs/http-use-basic-after-failed-negotiate (2021-05-19) 2 commits
383
+ (merged to 'next' on 2021-05-20 at 1c75b2d80c)
384
+ + Revert "remote-curl: fall back to basic auth if Negotiate fails"
385
+ + t5551: test http interaction with credential helpers
386
502
- An option to render the manual pages via AsciiDoctor bypassing
503
- xmlto has been introduced.
387
+ Regression fix for a change made during this cycle.
388
505
- Will merge to 'next'?
389
+ Will merge to 'master'.
390
+
391
+
392
+* ds/sparse-index-protections (2021-05-18) 1 commit
393
+ (merged to 'next' on 2021-05-20 at 2b8d511fda)
394
+ + sparse-index: fix uninitialized jump
395
+
396
+ Fix access to uninitialized piece of memory, introduced during this
397
+ cycle.
398
+
399
+ Will merge to 'master'.
400
+
401
+
402
+* ds/write-index-with-hashfile-api (2021-05-19) 4 commits
403
+ - read-cache: delete unused hashing methods
404
+ - read-cache: use hashfile instead of git_hash_ctx
405
+ - csum-file.h: increase hashfile buffer size
406
+ - hashfile: use write_in_full()
407
+
408
+ Use the hashfile API in the codepath that writes the index file to
409
+ reduce code duplication.
410
+
411
+ Will merge to 'next'.
412
+
413
+
414
+* jc/clarify-revision-range (2021-05-18) 1 commit
415
+ - revisions(7): clarify that most commands take a single revision range
416
+
417
+ Doc update.
418
+
419
+ Will merge to 'next'.
420
+
421
+
422
+* jh/simple-ipc-sans-pthread (2021-05-19) 1 commit
423
+ - simple-ipc: correct ifdefs when NO_PTHREADS is defined
424
+
425
+ The "simple-ipc" did not compile without pthreads support, but the
426
+ build procedure was not properly account for it.
427
+
428
+ Expecting a reroll.
429
+
430
+
431
+* jn/size-t-casted-to-off-t-fix (2021-05-19) 1 commit
432
+ (merged to 'next' on 2021-05-20 at bbde7e6616)
433
+ + xsize_t: avoid implementation defined behavior when len < 0
434
+
435
+ Rewrite code that triggers undefined behaiour warning.
436
+
437
+ Will cook in 'next'.
438
+
439
+
440
+* mt/parallel-checkout-with-padded-oidcpy (2021-05-18) 1 commit
441
+ (merged to 'next' on 2021-05-20 at 016cab0381)
442
+ + parallel-checkout: send the new object_id algo field to the workers
443
+
444
+ The parallel checkout codepath did not initialize object ID field
445
+ used to talk to the worker processes in a futureproof way.
446
+
447
+ Will cook in 'next'.
448
+
449
+
450
+* tz/c-locale-output-is-no-more (2021-05-18) 1 commit
451
+ (merged to 'next' on 2021-05-20 at 47820de46e)
452
+ + t7500: remove non-existant C_LOCALE_OUTPUT prereq
453
+
454
+ Test update.
455
+
456
+ Will merge to 'master'.
457
458
--------------------------------------------------
459
[Stalled]
@@ -538,8 +489,9 @@ Release tarballs are available at:
489
safely accept changeset descriptions that aren't written in UTF-8.
490
491
541
-* ds/status-with-sparse-index (2021-04-28) 10 commits
542
- - fsmonitor: test with sparse index
492
+* ds/status-with-sparse-index (2021-05-16) 14 commits
493
+ - fsmonitor: integrate with sparse index
494
+ - wt-status: expand added sparse directory entries
495
- status: use sparse-index throughout
496
- status: skip sparse-checkout percentage with sparse-index
497
- dir.c: accept a directory as part of cone-mode patterns
@@ -547,13 +499,17 @@ Release tarballs are available at:
499
- unpack-trees: compare sparse directories correctly
500
- unpack-trees: preserve cache_bottom
501
- t1092: add tests for status/add and sparse files
502
+ - t1092: expand repository data shape
503
+ - sparse-index: include EXTENDED flag when expanding
504
+ - sparse-index: skip indexes with unmerged entries
505
- Merge branch 'mt/add-rm-in-sparse-checkout' into ds/status-with-sparse-index
506
- Merge branch 'ds/sparse-index-protections' into ds/status-with-sparse-index
507
508
"git status" codepath learned to work with sparsely populated index
509
without hydrating it fully.
510
556
- What's the status of this thing?
511
+ Expecting a reroll.
512
+ cf. <05932ebc-04ac-b3c5-a460-5d37d8604fd9@gmail.com>
513
514
515
* jh/rfc-builtin-fsmonitor (2021-05-04) 24 commits
@@ -673,11 +629,38 @@ Release tarballs are available at:
629
--------------------------------------------------
630
[Cooking]
631
632
+* so/log-m-implies-p (2021-05-19) 9 commits
633
+ - diff-merges: let "-m" imply "-p"
634
+ - diff-merges: rename "combined_imply_patch" to "merges_imply_patch"
635
+ - stash list: stop passing "-m" to "git log"
636
+ - git-svn: stop passing "-m" to "git rev-list"
637
+ - diff-merges: move specific diff-index "-m" handling to diff-index
638
+ - t4013: test "git diff-index -m"
639
+ - t4013: test "git log -m --stat"
640
+ - t4013: test "git log -m --raw"
641
+ - t4013: test that "-m" alone has no effect in "git log"
642
+
643
+ The "-m" option in "git log -m" that does not specify which format,
644
+ if any, of diff is desired did not have any visible effect; it now
645
+ implies some form of diff (by default "--patch") is produced.
646
+
647
+ Will merge to 'next'?
648
+
649
+
650
+* bc/doc-asciidoctor-to-man-wo-xmlto (2021-05-14) 2 commits
651
+ - doc: remove GNU_ROFF option
652
+ - doc: add an option to have Asciidoctor build man pages directly
653
+
654
+ An option to render the manual pages via AsciiDoctor bypassing
655
+ xmlto has been introduced.
656
+
657
+
658
* ab/trace2-squelch-gcc-warning (2021-05-11) 1 commit
659
- trace2: refactor to avoid gcc warning under -O3
660
661
Workaround compiler warnings.
662
663
+ Expecting a reroll.
664
cf. <YJrIMbr6VkYGQMfs@coredump.intra.peff.net>
665
666
@@ -718,96 +701,6 @@ Release tarballs are available at:
701
Waiting for reviews.
702
703
721
-* dd/mailinfo-quoted-cr (2021-05-10) 6 commits
722
- (merged to 'next' on 2021-05-12 at a4bcfd18b9)
723
- + am: learn to process quoted lines that ends with CRLF
724
- + mailinfo: allow stripping quoted CR without warning
725
- + mailinfo: allow squelching quoted CRLF warning
726
- + mailinfo: warn if CRLF found in decoded base64/QP email
727
- + mailinfo: stop parsing options manually
728
- + mailinfo: load default metainfo_charset lazily
729
-
730
- "git mailinfo" (hence "git am") learned the "--quoted-cr" option to
731
- control how lines ending with CRLF wrapped in base64 or qp are
732
- handled.
733
-
734
- Will merge to 'master'.
735
-
736
-
737
-* ab/perl-makefile-cleanup (2021-05-06) 4 commits
738
- (merged to 'next' on 2021-05-10 at 23b48398e6)
739
- + perl: use mock i18n functions under NO_GETTEXT=Y
740
- + Makefile: regenerate *.pm on NO_PERL_CPAN_FALLBACKS change
741
- + Makefile: regenerate perl/build/* if GIT-PERL-DEFINES changes
742
- + Makefile: don't re-define PERL_DEFINES
743
-
744
- Build procedure clean-up.
745
-
746
- Will merge to 'master'.
747
-
748
-
749
-* ab/sparse-index-cleanup (2021-05-06) 1 commit
750
- (merged to 'next' on 2021-05-10 at bbb0239571)
751
- + sparse-index.c: remove set_index_sparse_config()
752
-
753
- Code clean-up.
754
-
755
- Will merge to 'master'.
756
-
757
-
758
-* ab/streaming-simplify (2021-05-06) 5 commits
759
- (merged to 'next' on 2021-05-07 at 0992a78c75)
760
- + streaming.c: move {open,close,read} from vtable to "struct git_istream"
761
- + streaming.c: stop passing around "object_info *" to open()
762
- + streaming.c: remove {open,close,read}_method_decl() macros
763
- + streaming.c: remove enum/function/vtbl indirection
764
- + streaming.c: avoid forward declarations
765
-
766
- Code clean-up.
767
-
768
- Will merge to 'master'.
769
-
770
-
771
-* jk/p4-locate-branch-point-optim (2021-05-06) 2 commits
772
- (merged to 'next' on 2021-05-07 at 0fa60c3af3)
773
- + git-p4: speed up search for branch parent
774
- + git-p4: ensure complex branches are cloned correctly
775
-
776
- "git p4" learned to find branch points more efficiently.
777
-
778
- Will merge to 'master'.
779
-
780
-
781
-* ow/no-dryrun-in-add-i (2021-05-07) 1 commit
782
- (merged to 'next' on 2021-05-07 at e822750e3a)
783
- + add: die if both --dry-run and --interactive are given
784
-
785
- "git add -i --dry-run" does not dry-run, which was surprising. The
786
- combination of options has taught to error out.
787
-
788
- Will merge to 'master'.
789
-
790
-
791
-* pw/patience-diff-clean-up (2021-05-05) 2 commits
792
- (merged to 'next' on 2021-05-06 at 1ce651569c)
793
- + patience diff: remove unused variable
794
- + patience diff: remove unnecessary string comparisons
795
-
796
- Code clean-up.
797
-
798
- Will merge to 'master'.
799
-
800
-
801
-* pw/word-diff-zero-width-matches (2021-05-05) 1 commit
802
- (merged to 'next' on 2021-05-06 at e5653da568)
803
- + word diff: handle zero length matches
804
-
805
- The word-diff mode has been taught to work better with a word
806
- regexp that can match an empty string.
807
-
808
- Will merge to 'master'.
809
-
810
-
704
* ls/fast-export-signed (2021-05-03) 5 commits
705
- fast-export, fast-import: add support for signed-commits
706
- fast-export: do not modify memory from get_commit_buffer
@@ -823,32 +716,6 @@ Release tarballs are available at:
716
cf. <xmqqa6pca0pv.fsf@gitster.g>, <xmqq1rao9zev.fsf@gitster.g>
717
718
826
-* mt/parallel-checkout-part-3 (2021-05-05) 8 commits
827
- (merged to 'next' on 2021-05-07 at 0393d61c0c)
828
- + ci: run test round with parallel-checkout enabled
829
- + parallel-checkout: add tests related to .gitattributes
830
- + t0028: extract encoding helpers to lib-encoding.sh
831
- + parallel-checkout: add tests related to path collisions
832
- + parallel-checkout: add tests for basic operations
833
- + checkout-index: add parallel checkout support
834
- + builtin/checkout.c: complete parallel checkout support
835
- + make_transient_cache_entry(): optionally alloc from mem_pool
836
-
837
- The final part of "parallel checkout".
838
-
839
- Will merge to 'master'.
840
-
841
-
842
-* ba/object-info (2021-04-20) 1 commit
843
- (merged to 'next' on 2021-05-07 at e2cb0e4ef1)
844
- + object-info: support for retrieving object info
845
-
846
- Over-the-wire protocol learns a new request type to ask for object
847
- sizes given a list of object names.
848
-
849
- Will merge to 'master'.
850
-
851
-
719
* hn/prep-tests-for-reftable (2021-04-28) 21 commits
720
- t1415: set REFFILES for test specific to storage format
721
- t4202: mark bogus head hash test with REFFILES
@@ -878,21 +745,6 @@ Release tarballs are available at:
745
Waiting for reviews.
746
747
881
-* jt/push-negotiation (2021-05-05) 6 commits
882
- (merged to 'next' on 2021-05-06 at 644a1bc4ee)
883
- + send-pack: support push negotiation
884
- + fetch: teach independent negotiation (no packfile)
885
- + fetch-pack: refactor command and capability write
886
- + fetch-pack: refactor add_haves()
887
- + fetch-pack: refactor process_acks()
888
- + Merge branch 'jt/fetch-pack-request-fix' into jt/push-negotiation
889
-
890
- "git push" learns to discover common ancestor with the receiving
891
- end over protocol v2.
892
-
893
- Will merge to 'master'.
894
-
895
-
748
* tb/multi-pack-bitmaps (2021-04-10) 23 commits
749
- p5326: perf tests for MIDX bitmaps
750
- p5310: extract full and partial bitmap tests
@@ -979,7 +831,7 @@ Release tarballs are available at:
831
May want to boost the test coverage.
832
833
982
-* hn/reftable (2021-04-20) 28 commits
834
+* hn/reftable (2021-05-20) 28 commits
835
- t1404: annotate test cases with REFFILES
836
- t1401,t2011: parameterize HEAD.lock for REFTABLE
837
- t1301: document what needs to be done for REFTABLE
@@ -1007,7 +859,7 @@ Release tarballs are available at:
859
- hash.h: provide constants for the hash IDs
860
- refs/debug: trace into reflog expiry too
861
- refs: document reflog_expire_fn's flag argument
1010
- - refs: ref_iterator_peel returns boolean, rather than peel_status
862
+ - refs: make explicit that ref_iterator_peel returns boolean
863
864
The "reftable" backend for the refs API.
865