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