What's cooking (2021/12 #06)

Junio C Hamano committed Dec 27, 2021 at 15:48 UTC 0d3f465463990d406d975a5ba65e4d26021ad317
1 file changed +191 -351
whats-cooking.txt
+191 -351
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Dec 2021, #05; Thu, 23)
3 +Subject: What's cooking in git.git (Dec 2021, #06; Mon, 27)
4 X-master-at: 2ae0a9cb8298185a94e5998086f380a355dd8907
5 -X-next-at: 21d7827218cb2304be633536bc9a50759e8f5c13
5 +X-next-at: 55b058a8bbcc54bd93c733035c995abc7967e539
6
7 -What's cooking in git.git (Dec 2021, #05; Thu, 23)
7 +What's cooking in git.git (Dec 2021, #06; Mon, 27)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking in my tree. Commits
@@ -18,6 +18,11 @@ useful"). Do not read too much into a topic being in (or not in)
18 'seen'. The ones marked with '.' do not appear in any of the
19 integration branches, but I am still holding onto them.
20
21 +Hopefully this will be the last issue of "What's cooking" report of
22 +this year. Please expect my tree will be slow moving this week and
23 +whereever you are on the globe, relax and enjoy the remainder of
24 +this year.
25 +
26 Copies of the source code to Git live in many repositories, and the
27 following is a list of the ones I push into or their mirrors. Some
28 repositories have only a subset of branches.
@@ -47,218 +52,84 @@ Release tarballs are available at:
52 https://www.kernel.org/pub/software/scm/git/
53
54 --------------------------------------------------
50 -[Graduated to 'master']
55 +[New Topics]
56
52 -* ab/common-main-cleanup (2021-12-07) 1 commit
53 - (merged to 'next' on 2021-12-15 at ff08c86f65)
54 - + common-main.c: call exit(), don't return
57 +* ab/makefile-hook-list-dependency-fix (2021-12-25) 1 commit
58 + - Makefile: correct the dependency graph of hook-list.h
59
56 - Code clean-up.
57 - source: <patch-v2-1.1-4f52ecc94ba-20211207T101207Z-avarab@gmail.com>
60 + Fix dependency rules to generate hook-list.h header file.
61
62 + Will merge to 'next'.
63 + source: <patch-1.1-1fafa6c643b-20211217T001137Z-avarab@gmail.com>
64
60 -* ab/fetch-set-upstream-while-detached (2021-12-07) 1 commit
61 - (merged to 'next' on 2021-12-15 at d0406f880a)
62 - + pull, fetch: fix segfault in --set-upstream option
63 -
64 - "git fetch --set-upstream" did not check if there is a current
65 - branch, leading to a segfault when it is run on a detached HEAD,
66 - which has been corrected.
67 - source: <patch-v5-1.1-69ab40d623b-20211207T215115Z-avarab@gmail.com>
68 -
69 -
70 -* ak/protect-any-current-branch (2021-12-01) 8 commits
71 - (merged to 'next' on 2021-12-10 at dd2c6a557c)
72 - + branch: protect branches checked out in all worktrees
73 - + receive-pack: protect current branch for bare repository worktree
74 - + receive-pack: clean dead code from update_worktree()
75 - + fetch: protect branches checked out in all worktrees
76 - + worktree: simplify find_shared_symref() memory ownership model
77 - + branch: lowercase error messages
78 - + receive-pack: lowercase error messages
79 - + fetch: lowercase error messages
80 -
81 - "git fetch" without the "--update-head-ok" option ought to protect
82 - a checked out branch from getting updated, to prevent the working
83 - tree that checks it out to go out of sync. The code was written
84 - before the use of "git worktree" got widespread, and only checked
85 - the branch that was checked out in the current worktree, which has
86 - been updated.
87 - source: <20211201221547.1796213-1-andersk@mit.edu>
65
66 +* ab/makefile-msgfmt-wo-stats (2021-12-25) 1 commit
67 + - Makefile: don't invoke msgfmt with --statistics
68 +
69 + Make the recipe that runs msgfmt less noisy.
70
90 -* en/name-rev-shorter-output (2021-12-04) 1 commit
91 - (merged to 'next' on 2021-12-10 at ae8ec3912f)
92 - + name-rev: prefer shorter names over following merges
93 -
94 - "git name-rev" has been tweaked to give output that is shorter and
95 - easier to understand.
96 - source: <pull.1119.git.git.1636762454792.gitgitgadget@gmail.com>
71 + Will merge to 'next'.
72 + source: <patch-1.1-58408f384e7-20211217T000729Z-avarab@gmail.com>
73
74
99 -* en/rebase-x-wo-git-dir-env (2021-12-04) 1 commit
100 - (merged to 'next' on 2021-12-07 at 44f2663314)
101 - + sequencer: do not export GIT_DIR and GIT_WORK_TREE for 'exec'
102 -
103 - "git rebase -x" by mistake started exporting the GIT_DIR and
104 - GIT_WORK_TREE environment variables when the command was rewritten
105 - in C, which has been corrected.
106 - source: <pull.1134.v3.git.git.1638596219656.gitgitgadget@gmail.com>
107 -
108 -
109 -* es/chainlint (2021-12-13) 15 commits
110 - (merged to 'next' on 2021-12-15 at 49b7a37334)
111 - + chainlint.sed: stop splitting "(..." into separate lines "(" and "..."
112 - + chainlint.sed: swallow comments consistently
113 - + chainlint.sed: stop throwing away here-doc tags
114 - + chainlint.sed: don't mistake `<< word` in string as here-doc operator
115 - + chainlint.sed: make here-doc "<<-" operator recognition more POSIX-like
116 - + chainlint.sed: drop subshell-closing ">" annotation
117 - + chainlint.sed: drop unnecessary distinction between ?!AMP?! and ?!SEMI?!
118 - + chainlint.sed: tolerate harmless ";" at end of last line in block
119 - + chainlint.sed: improve ?!SEMI?! placement accuracy
120 - + chainlint.sed: improve ?!AMP?! placement accuracy
121 - + t/Makefile: optimize chainlint self-test
122 - + t/chainlint/one-liner: avoid overly intimate chainlint.sed knowledge
123 - + t/chainlint/*.test: generalize self-test commentary
124 - + t/chainlint/*.test: fix invalid test cases due to mixing quote types
125 - + t/chainlint/*.test: don't use invalid shell syntax
126 -
127 - The chainlint test script linter in the test suite has been updated.
128 - source: <20211213063059.19424-1-sunshine@sunshineco.com>
129 -
130 -
131 -* fs/ssh-signing-key-lifetime (2021-12-09) 9 commits
132 - (merged to 'next' on 2021-12-10 at d5e7bd8b79)
133 - + ssh signing: verify ssh-keygen in test prereq
134 - + ssh signing: make fmt-merge-msg consider key lifetime
135 - + ssh signing: make verify-tag consider key lifetime
136 - + ssh signing: make git log verify key lifetime
137 - + ssh signing: make verify-commit consider key lifetime
138 - + ssh signing: add key lifetime test prereqs
139 - + ssh signing: use sigc struct to pass payload
140 - + t/fmt-merge-msg: make gpgssh tests more specific
141 - + t/fmt-merge-msg: do not redirect stderr
142 -
143 - Extend the signing of objects with SSH keys and learn to pay
144 - attention to the key validity time range when verifying.
145 - source: <20211209085249.13587-1-fs@gigacodes.de>
146 -
147 -
148 -* fs/ssh-signing-other-keytypes (2021-11-19) 2 commits
149 - (merged to 'next' on 2021-12-10 at 2d0c8cb8e6)
150 - + ssh signing: make sign/amend test more resilient
151 - + ssh signing: support non ssh-* keytypes
152 -
153 - The cryptographic signing using ssh keys can specify literal keys
154 - for keytypes whose name do not begin with the "ssh-" prefix by
155 - using the "key::" prefix mechanism (e.g. "key::ecdsa-sha2-nistp256").
156 - source: <20211119150707.3924636-1-fs@gigacodes.de>
157 -
158 -
159 -* jc/c99-var-decl-in-for-loop (2021-12-03) 1 commit
160 - (merged to 'next' on 2021-12-03 at 57100223b2)
161 - + revision: use C99 declaration of variable in for() loop
162 -
163 - Weather balloon to find compilers that do not grok variable
164 - declaration in the for() loop.
165 - source: <xmqqpmr2j5lq.fsf_-_@gitster.g>
166 -
167 -
168 -* jc/grep-patterntype-default-doc (2021-12-05) 1 commit
169 - (merged to 'next' on 2021-12-10 at e46385ad9d)
170 - + grep: clarify what `grep.patternType=default` means
171 -
172 - Doc update.
173 - source: <xmqqy24ykdel.fsf_-_@gitster.g>
174 -
175 -
176 -* jk/limit-developers-to-gnu99 (2021-12-08) 2 commits
177 - (merged to 'next' on 2021-12-15 at 6b40e01445)
178 - + config.mak.dev: specify -std=gnu99 for gcc/clang
179 - + Merge branch 'bc/require-c99' into jk/limit-developers-to-gnu99
180 -
181 - Enable -std=gnu99 option in DEVELOPER builds.
182 - source: <YbEMnksMEuAz3Nt0@coredump.intra.peff.net>
183 -
184 -
185 -* jk/log-decorate-opts-with-implicit-decorate (2021-12-01) 2 commits
186 - (merged to 'next' on 2021-12-10 at 80585b2755)
187 - + log: load decorations with --simplify-by-decoration
188 - + log: handle --decorate-refs with userformat "%d"
189 -
190 - When "git log" implicitly enabled the "decoration" processing
191 - without being explicitly asked with "--decorate" option, it failed
192 - to read and honor the settings given by the "--decorate-refs"
193 - option.
194 - source: <YahbseXEC66dK0k8@coredump.intra.peff.net>
195 -
196 -
197 -* js/scalar (2021-12-04) 15 commits
198 - (merged to 'next' on 2021-12-10 at 6248603a80)
199 - + scalar: implement the `version` command
200 - + scalar: implement the `delete` command
201 - + scalar: teach 'reconfigure' to optionally handle all registered enlistments
202 - + scalar: allow reconfiguring an existing enlistment
203 - + scalar: implement the `run` command
204 - + scalar: teach 'clone' to support the --single-branch option
205 - + scalar: implement the `clone` subcommand
206 - + scalar: implement 'scalar list'
207 - + scalar: let 'unregister' handle a deleted enlistment directory gracefully
208 - + scalar: 'unregister' stops background maintenance
209 - + scalar: 'register' sets recommended config and starts maintenance
210 - + scalar: create test infrastructure
211 - + scalar: start documenting the command
212 - + scalar: create a rudimentary executable
213 - + scalar: add a README with a roadmap
214 -
215 - Add pieces from "scalar" to contrib/.
216 - source: <pull.1005.v10.git.1638538470.gitgitgadget@gmail.com>
217 -
218 -
219 -* jz/apply-quiet-and-allow-empty (2021-12-13) 2 commits
220 - (merged to 'next' on 2021-12-15 at e3f643eaa3)
221 - + git-apply: add --allow-empty flag
222 - + git-apply: add --quiet flag
223 -
224 - "git apply" has been taught to ignore a message without a patch
225 - with the "--allow-empty" option. It also learned to honor the
226 - "--quiet" option given from the command line.
227 - source: <20211213220327.16042-2-jerry@skydio.com>
228 -
229 -
230 -* ld/sparse-diff-blame (2021-12-06) 8 commits
231 - (merged to 'next' on 2021-12-10 at 57b89936d6)
232 - + blame: enable and test the sparse index
233 - + diff: enable and test the sparse index
234 - + diff: replace --staged with --cached in t1092 tests
235 - + repo-settings: prepare_repo_settings only in git repos
236 - + test-read-cache: set up repo after git directory
237 - + commit-graph: return if there is no git directory
238 - + git: ensure correct git directory setup with -h
239 - + Merge branch 'vd/sparse-reset' into ld/sparse-diff-blame
240 - (this branch is used by ds/fetch-pull-with-sparse-index.)
241 -
242 - Teach diff and blame to work well with sparse index.
243 - source: <pull.1050.v6.git.1638806161.gitgitgadget@gmail.com>
244 -
75 +* ab/makefile-pager-env-is-used-only-by-pager.c (2021-12-25) 1 commit
76 + - Makefile: move -DPAGER_ENV from BASIC_CFLAGS to EXTRA_CPPFLAGS
77
246 -* pw/xdiff-classify-record-in-histogram (2021-12-04) 6 commits
247 - (merged to 'next' on 2021-12-07 at 8cdad7bc9a)
248 - + xdiff: drop unused flags parameter from recs_match
249 - + xdiff: drop xpparam_t parameter from histogram cmp_recs()
250 - + xdiff: drop CMP_ENV macro from xhistogram
251 - (merged to 'next' on 2021-12-02 at 5ccd12d09b)
252 - + xdiff: simplify comparison
253 - + xdiff: avoid unnecessary memory allocations
254 - + diff histogram: intern strings
255 -
256 - "diff --histogram" optimization.
257 - source: <Yammtm+pIkMu43zZ@coredump.intra.peff.net>
258 - source: <pull.1079.git.1637148025.gitgitgadget@gmail.com>
78 + Will merge to 'next'.
79 + source: <patch-1.1-90d1e77ad5e-20211217T001628Z-avarab@gmail.com>
80
81 --------------------------------------------------
261 -[New Topics]
82 +[Stalled]
83 +
84 +* je/http-better-error-output (2021-12-03) 1 commit
85 + . http-backend: give a hint that web browser access is not supported
86 +
87 + When the http-backend program, which is the server-side component
88 + for the smart HTTP transport, sends a "404 Not found" error, we
89 + deliberately did not say anything to the requesting client. We now
90 + send a message back to the browser to tell the user that they do
91 + not want to visit the URL via their browser, instead of a totally
92 + blank page.
93 +
94 + Expecting a reroll.
95 + Breaks its self tests.
96 + cf. <7r23s082-o3q0-479o-srqn-r45q778s5nq7@vanv.qr>
97 + source: <20211202102855.23907-1-jengelh@inai.de>
98 +
99 +
100 +* cb/save-term-across-editor-invocation (2021-12-01) 3 commits
101 + - fixup! editor: allow for saving/restoring terminal state
102 + - editor: allow for saving/restoring terminal state
103 + - terminal: teach save_term to fail when not foreground
104 +
105 + Some editors are reported to leave the terminal in funny state
106 + after they exit on Windows. Work it around by saving and restoring
107 + the terminal state when needed.
108 +
109 + Expecting a reroll.
110 + cf. <CAPUEsphktbdxeV7hvF52Or3CVHS8oOk5-WV=xfEZa8kfCVVnVg@mail.gmail.com>
111 + source: <20211202035446.1154-1-carenas@gmail.com>
112 +
113 +
114 +* ar/submodule-update (2021-10-13) 9 commits
115 + . submodule--helper: rename helper functions
116 + . submodule--helper: remove unused helpers
117 + . submodule: move core cmd_update() logic to C
118 + . submodule--helper: run update using child process struct
119 + . submodule--helper: allow setting superprefix for init_submodule()
120 + . submodule--helper: refactor get_submodule_displaypath()
121 + . submodule--helper: rename helpers for update-clone
122 + . submodule--helper: get remote names from any repository
123 + . submodule--helper: split up ensure_core_worktree()
124 +
125 + Rewrite of "git submodule update" in C.
126 +
127 + Expecting a reroll?
128 + cf. <YWiXL+plA7GHfuVv@google.com>
129 + source: <20211013051805.45662-10-raykar.ath@gmail.com>
130 +
131 +--------------------------------------------------
132 +[Cooking]
133
134 * ab/do-not-limit-stash-help-to-push (2021-12-16) 1 commit
135 - stash: don't show "git stash push" usage on bad "git stash" usage
@@ -272,13 +143,14 @@ Release tarballs are available at:
143
144
145 * km/help-prompt-fix (2021-12-16) 1 commit
275 - - help: make auto-correction prompt more consistent
146 + (merged to 'next' on 2021-12-27 at a16d8fa62a)
147 + + help: make auto-correction prompt more consistent
148
149 Among some code paths that ask an yes/no question, only one place
150 gave a prompt that looked different from the others, which has been
151 updated to match what the others create.
152
281 - Will merge to 'next'.
153 + Will merge to 'master'.
154 source: <xmqqy24k8c0j.fsf@gitster.g>
155
156
@@ -306,11 +178,12 @@ Release tarballs are available at:
178
179
180 * jc/t4204-do-not-write-git-on-upstream-of-pipe (2021-12-16) 1 commit
309 - - t4204 is not sanitizer clean at all
181 + (merged to 'next' on 2021-12-27 at dc2c5db807)
182 + + t4204 is not sanitizer clean at all
183
184 Test fixes.
185
313 - Will merge to 'next'.
186 + Will merge to 'master'.
187 source: <xmqqtuf86t7z.fsf_-_@gitster.g>
188
189
@@ -326,32 +199,35 @@ Release tarballs are available at:
199
200
201 * ds/repack-fixlets (2021-12-20) 2 commits
329 - - repack: make '--quiet' disable progress
330 - - repack: respect kept objects with '--write-midx -b'
202 + (merged to 'next' on 2021-12-27 at 8f8474ae84)
203 + + repack: make '--quiet' disable progress
204 + + repack: respect kept objects with '--write-midx -b'
205
206 Two fixes around "git repack".
207
334 - Will merge to 'next'.
208 + Will merge to 'master'.
209 source: <pull.1098.v2.git.1640011691.gitgitgadget@gmail.com>
210
211
212 * gh/gpg-doc-markup-fix (2021-12-17) 1 commit
339 - - docs: add missing colon to Documentation/config/gpg.txt
213 + (merged to 'next' on 2021-12-27 at 7988d71a27)
214 + + docs: add missing colon to Documentation/config/gpg.txt
215
216 Doc markup fix.
217
343 - Will merge to 'next'.
218 + Will merge to 'master'.
219 source: <20211217161718.15767-1-greg@hurrell.net>
220
221
222 * jc/merge-detached-head-name (2021-12-20) 1 commit
348 - - merge: allow to pretend a merge is made into a different branch
223 + (merged to 'next' on 2021-12-27 at 01f9fe17b9)
224 + + merge: allow to pretend a merge is made into a different branch
225
226 The default merge message prepared by "git merge" records the name
227 of the current branch; the name can be overridden with a new option
228 to allow users to pretend a merge is made on a different branch.
229
354 - Will merge to 'next'.
230 + Will merge to 'master'.
231 source: <xmqqee66ubuw.fsf_-_@gitster.g>
232
233
@@ -373,7 +249,7 @@ Release tarballs are available at:
249 application in more cases to address the regression caused by the
250 recent change to use direct application as a fallback.
251
376 - Will merge to 'next'?
252 + Will merge to 'next'.
253 source: <20211217224328.7646-1-jerry@skydio.com>
254
255
@@ -389,43 +265,47 @@ Release tarballs are available at:
265
266
267 * rs/daemon-plug-leak (2021-12-20) 1 commit
392 - - daemon: plug memory leak on overlong path
268 + (merged to 'next' on 2021-12-27 at 55b058a8bb)
269 + + daemon: plug memory leak on overlong path
270
271 Plug a memory leak.
272
396 - Will merge to 'next'.
273 + Will merge to 'master'.
274 source: <5b151dc3-d4c7-29d3-71ed-a79033693d5d@web.de>
275
276
277 * rs/log-invert-grep-with-headers (2021-12-17) 1 commit
401 - - log: let --invert-grep only invert --grep
278 + (merged to 'next' on 2021-12-27 at 861648fe8c)
279 + + log: let --invert-grep only invert --grep
280
281 "git log --invert-grep --author=<name>" used to exclude commits
282 written by the given author, but now "--invert-grep" only affects
283 the matches made by the "--grep=<pattern>" option.
284
407 - Will merge to 'next'.
285 + Will merge to 'master'.
286 source: <xmqqee6cbalb.fsf@gitster.g>
287
288
289 * rs/pcre2-utf (2021-12-20) 2 commits
412 - - grep/pcre2: factor out literal variable
413 - - grep/pcre2: use PCRE2_UTF even with ASCII patterns
290 + (merged to 'next' on 2021-12-27 at 5dc740c331)
291 + + grep/pcre2: factor out literal variable
292 + + grep/pcre2: use PCRE2_UTF even with ASCII patterns
293
294 "git grep --perl-regexp" failed to match UTF-8 characters with
295 wildcard when the pattern consists only of ASCII letters, which has
296 been corrected.
297
419 - Will merge to 'next'.
298 + Will merge to 'master'.
299 source: <5fa6962e-3c1c-6dbc-f6d7-589151a9baec@web.de>
300
301
302 * rs/t4202-invert-grep-test-fix (2021-12-17) 1 commit
424 - - t4202: fix patternType setting in --invert-grep test
303 + (merged to 'next' on 2021-12-27 at b09cee1626)
304 + + t4202: fix patternType setting in --invert-grep test
305
306 Test fix.
307
428 - Will merge to 'next'.
308 + Will merge to 'master'.
309 source: <79dcebc0-e569-cc8a-4702-c572b062ed6d@web.de>
310
311
@@ -444,25 +324,21 @@ Release tarballs are available at:
324 source: <pull.1101.v2.git.1640114048.gitgitgadget@gmail.com>
325
326
447 -* en/remerge-diff (2021-12-21) 10 commits
448 - - doc/diff-options: explain the new --remerge-diff option
449 - - show, log: provide a --remerge-diff capability
450 - - merge-ort: format messages slightly different for use in headers
327 +* en/remerge-diff (2021-12-25) 9 commits
328 + - show, log: include conflict/warning messages in --remerge-diff headers
329 - diff: add ability to insert additional headers for paths
452 - - merge-ort: make path_messages available to external callers
330 + - merge-ort: format messages slightly different for use in headers
331 - merge-ort: mark a few more conflict messages as omittable
332 - merge-ort: capture and print ll-merge warnings in our preferred fashion
333 - ll-merge: make callers responsible for showing warnings
456 - - tmp_objdir: add a helper function for discarding all contained objects
334 + - log: clean unneeded objects during `log --remerge-diff`
335 + - show, log: provide a --remerge-diff capability
336 - Merge branch 'ns/tmp-objdir' into en/remerge-diff
337 (this branch uses ns/tmp-objdir.)
338
339 "git log --remerge-diff" shows the difference from mechanical merge
340 result and the merge result that is actually recorded.
462 -
463 - Expecting a reroll.
464 - cf. <xmqqa6gto74z.fsf@gitster.g>
465 - source: <pull.1103.git.1640109948.gitgitgadget@gmail.com>
341 + source: <pull.1103.v2.git.1640419159.gitgitgadget@gmail.com>
342
343
344 * gc/fetch-negotiate-only-early-return (2021-12-21) 3 commits
@@ -495,14 +371,14 @@ Release tarballs are available at:
371 source: <pull.1167.git.git.1640092500725.gitgitgadget@gmail.com>
372
373
498 -* ja/perf-use-specified-shell (2021-12-21) 1 commit
374 +* ja/perf-use-specified-shell (2021-12-25) 1 commit
375 - t/perf: do not run tests in user's $SHELL
376
377 Perf tests were run with end-user's shell, but it has been
378 corrected to use the shell specified by $TEST_SHELL_PATH.
379
380 Will merge to 'next'.
505 - source: <f22f978a-26eb-8fe9-cab4-3fd60df69635@web.de>
381 + source: <20211225081656.1311583-1-aclopte@gmail.com>
382
383
384 * js/l10n-mention-ngettext-early-in-readme (2021-12-21) 1 commit
@@ -573,88 +449,40 @@ Release tarballs are available at:
449 Will merge to 'next'.
450 source: <pull.1164.git.git.1640287790.gitgitgadget@gmail.com>
451
576 ---------------------------------------------------
577 -[Stalled]
578 -
579 -* je/http-better-error-output (2021-12-03) 1 commit
580 - . http-backend: give a hint that web browser access is not supported
581 -
582 - When the http-backend program, which is the server-side component
583 - for the smart HTTP transport, sends a "404 Not found" error, we
584 - deliberately did not say anything to the requesting client. We now
585 - send a message back to the browser to tell the user that they do
586 - not want to visit the URL via their browser, instead of a totally
587 - blank page.
588 -
589 - Expecting a reroll.
590 - Breaks its self tests.
591 - cf. <7r23s082-o3q0-479o-srqn-r45q778s5nq7@vanv.qr>
592 - source: <20211202102855.23907-1-jengelh@inai.de>
593 -
594 -
595 -* cb/save-term-across-editor-invocation (2021-12-01) 3 commits
596 - - fixup! editor: allow for saving/restoring terminal state
597 - - editor: allow for saving/restoring terminal state
598 - - terminal: teach save_term to fail when not foreground
599 -
600 - Some editors are reported to leave the terminal in funny state
601 - after they exit on Windows. Work it around by saving and restoring
602 - the terminal state when needed.
603 -
604 - Expecting a reroll.
605 - cf. <CAPUEsphktbdxeV7hvF52Or3CVHS8oOk5-WV=xfEZa8kfCVVnVg@mail.gmail.com>
606 - source: <20211202035446.1154-1-carenas@gmail.com>
607 -
608 -
609 -* ar/submodule-update (2021-10-13) 9 commits
610 - . submodule--helper: rename helper functions
611 - . submodule--helper: remove unused helpers
612 - . submodule: move core cmd_update() logic to C
613 - . submodule--helper: run update using child process struct
614 - . submodule--helper: allow setting superprefix for init_submodule()
615 - . submodule--helper: refactor get_submodule_displaypath()
616 - . submodule--helper: rename helpers for update-clone
617 - . submodule--helper: get remote names from any repository
618 - . submodule--helper: split up ensure_core_worktree()
619 -
620 - Rewrite of "git submodule update" in C.
621 -
622 - Expecting a reroll?
623 - cf. <YWiXL+plA7GHfuVv@google.com>
624 - source: <20211013051805.45662-10-raykar.ath@gmail.com>
625 -
626 ---------------------------------------------------
627 -[Cooking]
452
453 * jh/p4-rcs-expansion-in-bytestring (2021-12-16) 5 commits
630 - - git-p4: resolve RCS keywords in bytes not utf-8
631 - - git-p4: open temporary patch file for write only
632 - - git-p4: add raw option to read_pipelines
633 - - git-p4: pre-compile RCS keyword regexes
634 - - git-p4: use with statements to close files after use in patchRCSKeywords
454 + (merged to 'next' on 2021-12-27 at 650cb248ea)
455 + + git-p4: resolve RCS keywords in bytes not utf-8
456 + + git-p4: open temporary patch file for write only
457 + + git-p4: add raw option to read_pipelines
458 + + git-p4: pre-compile RCS keyword regexes
459 + + git-p4: use with statements to close files after use in patchRCSKeywords
460
461 The RCS keyword substitution in "git p4" used to be done assuming
462 that the contents are UTF-8 text, which can trigger decoding
463 errors. We now treat the contents as a bytestring for robustness
464 and correctness.
465
641 - Will merge to 'next'.
466 + Will merge to 'master'.
467 source: <20211216134619.2048348-1-jholdsworth@nvidia.com>
468
469
645 -* ds/sparse-checkout-malformed-pattern-fix (2021-12-16) 3 commits
646 - - sparse-checkout: refuse to add to bad patterns
647 - - sparse-checkout: fix OOM error with mixed patterns
648 - - sparse-checkout: fix segfault on malformed patterns
470 +* ds/sparse-checkout-malformed-pattern-fix (2021-12-25) 4 commits
471 + (merged to 'next' on 2021-12-27 at c410caf527)
472 + + fixup! sparse-checkout: fix OOM error with mixed patterns
473 + + sparse-checkout: refuse to add to bad patterns
474 + + sparse-checkout: fix OOM error with mixed patterns
475 + + sparse-checkout: fix segfault on malformed patterns
476
477 Certain sparse-checkout patterns that are valid in non-cone mode
478 led to segfault in cone mode, which has been corrected.
479
653 - Will merge to 'next'.
480 + Will merge to 'master'.
481 source: <pull.1069.v4.git.1639671222.gitgitgadget@gmail.com>
482
483
657 -* gc/branch-recurse-submodules (2021-12-20) 6 commits
484 +* gc/branch-recurse-submodules (2021-12-25) 7 commits
485 + - fixup! branch: add --recurse-submodules option for branch creation
486 - branch: add --recurse-submodules option for branch creation
487 - builtin/branch: clean up action-picking logic in cmd_branch()
488 - branch: add a dry_run parameter to create_branch()
@@ -670,27 +498,30 @@ Release tarballs are available at:
498
499
500 * jk/ssh-signing-doc-markup-fix (2021-12-15) 1 commit
673 - - doc/config: mark ssh allowedSigners example as literal
501 + (merged to 'next' on 2021-12-27 at 2188dc2023)
502 + + doc/config: mark ssh allowedSigners example as literal
503
504 Docfix.
505
677 - Will merge to 'next'.
506 + Will merge to 'master'.
507 source: <YboWlOG3vZD/7Osx@coredump.intra.peff.net>
508
509
510 * jv/use-larger-buffer-in-upload-pack (2021-12-15) 1 commit
682 - - upload-pack.c: increase output buffer size
511 + (merged to 'next' on 2021-12-27 at 3a1afc1ef8)
512 + + upload-pack.c: increase output buffer size
513
514 "git upload-pack" (the other side of "git fetch") used a 8kB buffer
515 but most of its payload came on 64kB "packets". The buffer size
516 has been enlarged so that such a packet fits.
517
688 - Will merge to 'next'.
518 + Will merge to 'master'.
519 source: <20211214194626.33814-1-jacob@gitlab.com>
520
521
522 * en/sparse-checkout-set (2021-12-23) 11 commits
693 - - sparse-checkout: remove stray trailing space
523 + (merged to 'next' on 2021-12-25 at 510f9eba9a)
524 + + sparse-checkout: remove stray trailing space
525 (merged to 'next' on 2021-12-21 at 36a98aed11)
526 + clone: avoid using deprecated `sparse-checkout init`
527 + Documentation: clarify/correct a few sparsity related statements
@@ -706,7 +537,7 @@ Release tarballs are available at:
537 The "init" and "set" subcommands in "git sparse-checkout" have been
538 unified for a better user experience and performance.
539
709 - Will merge to 'next' and then to 'master'.
540 + Will merge to 'master'.
541 source: <pull.1151.v4.git.git.1639454952.gitgitgadget@gmail.com>
542
543
@@ -785,13 +616,14 @@ Release tarballs are available at:
616
617
618 * jc/flex-array-definition (2021-12-08) 1 commit
788 - - flex-array: simplify compiler-specific workaround
619 + (merged to 'next' on 2021-12-27 at 9db6a814b7)
620 + + flex-array: simplify compiler-specific workaround
621
622 The conditions to choose different definitions of the FLEX_ARRAY
623 macro for vendor compilers has been simplified to make it easier to
624 maintain.
625
794 - Will merge to 'next'.
626 + Will merge to 'master'.
627 source: <xmqqee6mv9no.fsf@gitster.g>
628
629
@@ -852,11 +684,12 @@ Release tarballs are available at:
684
685 Code clean-up to hide vreportf() from public API.
686
855 - Will merge to 'next'?
687 + Will merge to 'next'.
688 source: <cover-v2-0.6-00000000000-20211207T182419Z-avarab@gmail.com>
689
690
859 -* ab/cat-file (2021-12-22) 10 commits
691 +* ab/cat-file (2021-12-25) 11 commits
692 + - fixup! cat-file: fix remaining usage bugs
693 - cat-file: use GET_OID_ONLY_TO_DIE in --(textconv|filters)
694 - object-name.c: don't have GET_OID_ONLY_TO_DIE imply *_QUIETLY
695 - cat-file: correct and improve usage information
@@ -874,19 +707,20 @@ Release tarballs are available at:
707 source: <cover-v5-00.10-00000000000-20211222T041050Z-avarab@gmail.com>
708
709
877 -* ab/grep-patterntype (2021-12-22) 7 commits
710 +* ab/grep-patterntype (2021-12-27) 8 commits
711 - grep: simplify config parsing and option parsing
712 - grep API: call grep_config() after grep_init()
713 - grep.c: don't pass along NULL callback value
714 - built-ins: trust the "prefix" from run_builtin()
882 - - grep tests: add missing "grep.patternType" config test
715 + - fixup! grep tests: add missing "grep.patternType" config tests
716 + - grep tests: add missing "grep.patternType" config tests
717 - log tests: check if grep_config() is called by "log"-like cmds
718 - grep.h: remove unused "regex_t regexp" from grep_opt
719
720 Some code clean-up in the "git grep" machinery.
721
888 - Needs review.
889 - source: <cover-v5-0.7-00000000000-20211222T025214Z-avarab@gmail.com>
722 + The last step is still broken; earlier clean-ups may still be worth keeping.
723 + source: <cover-v6-0.7-00000000000-20211226T223035Z-avarab@gmail.com>
724
725
726 * js/use-builtin-add-i (2021-12-01) 2 commits
@@ -975,17 +809,18 @@ Release tarballs are available at:
809
810
811 * en/keep-cwd (2021-12-09) 11 commits
978 - - t2501: simplify the tests since we can now assume desired behavior
979 - - dir: new flag to remove_dir_recurse() to spare the original_cwd
980 - - dir: avoid incidentally removing the original_cwd in remove_path()
981 - - stash: do not attempt to remove startup_info->original_cwd
982 - - rebase: do not attempt to remove startup_info->original_cwd
983 - - clean: do not attempt to remove startup_info->original_cwd
984 - - symlinks: do not include startup_info->original_cwd in dir removal
985 - - unpack-trees: add special cwd handling
986 - - unpack-trees: refuse to remove startup_info->original_cwd
987 - - setup: introduce startup_info->original_cwd
988 - - t2501: add various tests for removing the current working directory
812 + (merged to 'next' on 2021-12-27 at 7cd8f7fdc0)
813 + + t2501: simplify the tests since we can now assume desired behavior
814 + + dir: new flag to remove_dir_recurse() to spare the original_cwd
815 + + dir: avoid incidentally removing the original_cwd in remove_path()
816 + + stash: do not attempt to remove startup_info->original_cwd
817 + + rebase: do not attempt to remove startup_info->original_cwd
818 + + clean: do not attempt to remove startup_info->original_cwd
819 + + symlinks: do not include startup_info->original_cwd in dir removal
820 + + unpack-trees: add special cwd handling
821 + + unpack-trees: refuse to remove startup_info->original_cwd
822 + + setup: introduce startup_info->original_cwd
823 + + t2501: add various tests for removing the current working directory
824
825 Many git commands that deal with working tree files try to remove a
826 directory that becomes empty (i.e. "git switch" from a branch that
@@ -996,7 +831,7 @@ Release tarballs are available at:
831 The commands have been taught to keep an empty directory if it is
832 the directory they were started in to avoid surprising users.
833
999 - Will merge to 'next'.
834 + Will merge to 'master'.
835 source: <pull.1140.v6.git.git.1639026515.gitgitgadget@gmail.com>
836
837
@@ -1024,37 +859,39 @@ Release tarballs are available at:
859
860
861 * xw/am-empty (2021-12-15) 3 commits
1027 - - am: support --allow-empty to record specific empty patches
1028 - - am: support --empty=<option> to handle empty patches
1029 - - doc: git-format-patch: describe the option --always
862 + (merged to 'next' on 2021-12-27 at 562e1552f6)
863 + + am: support --allow-empty to record specific empty patches
864 + + am: support --empty=<option> to handle empty patches
865 + + doc: git-format-patch: describe the option --always
866
867 "git am" learns "--empty=(stop|drop|keep)" option to tweak what is
868 done to a piece of e-mail without a patch in it.
869
1034 - Will merge to 'next'.
870 + Will merge to 'master'.
871 source: <pull.1076.v19.git.1639034755.gitgitgadget@gmail.com>
872
873
874 * pw/diff-color-moved-fix (2021-12-09) 15 commits
1039 - - diff --color-moved: intern strings
1040 - - diff: use designated initializers for emitted_diff_symbol
1041 - - diff --color-moved-ws=allow-indentation-change: improve hash lookups
1042 - - diff --color-moved: stop clearing potential moved blocks
1043 - - diff --color-moved: shrink potential moved blocks as we go
1044 - - diff --color-moved: unify moved block growth functions
1045 - - diff --color-moved: call comparison function directly
1046 - - diff --color-moved-ws=allow-indentation-change: simplify and optimize
1047 - - diff: simplify allow-indentation-change delta calculation
1048 - - diff --color-moved: avoid false short line matches and bad zebra coloring
1049 - - diff --color-moved=zebra: fix alternate coloring
1050 - - diff --color-moved: rewind when discarding pmb
1051 - - diff --color-moved: factor out function
1052 - - diff --color-moved: clear all flags on blocks that are too short
1053 - - diff --color-moved: add perf tests
875 + (merged to 'next' on 2021-12-27 at 443dd9f97f)
876 + + diff --color-moved: intern strings
877 + + diff: use designated initializers for emitted_diff_symbol
878 + + diff --color-moved-ws=allow-indentation-change: improve hash lookups
879 + + diff --color-moved: stop clearing potential moved blocks
880 + + diff --color-moved: shrink potential moved blocks as we go
881 + + diff --color-moved: unify moved block growth functions
882 + + diff --color-moved: call comparison function directly
883 + + diff --color-moved-ws=allow-indentation-change: simplify and optimize
884 + + diff: simplify allow-indentation-change delta calculation
885 + + diff --color-moved: avoid false short line matches and bad zebra coloring
886 + + diff --color-moved=zebra: fix alternate coloring
887 + + diff --color-moved: rewind when discarding pmb
888 + + diff --color-moved: factor out function
889 + + diff --color-moved: clear all flags on blocks that are too short
890 + + diff --color-moved: add perf tests
891
892 Correctness and performance update to "diff --color-moved" feature.
893
1057 - Will merge to 'next'.
894 + Will merge to 'master'.
895 source: <pull.981.v5.git.1639045809.gitgitgadget@gmail.com>
896
897
@@ -1108,11 +945,13 @@ Release tarballs are available at:
945 to have the same upstream as the "old" branch, instead of marking
946 "old" itself as its upstream.
947
1111 - Will merge to 'next'?
948 + Will merge to 'next'.
949 source: <cover.1640039978.git.steadmon@google.com>
950
951
1115 -* jh/builtin-fsmonitor-part2 (2021-10-21) 29 commits
952 +* jh/builtin-fsmonitor-part2 (2021-12-25) 31 commits
953 + - fixup! t7527: create test for fsmonitor--daemon
954 + - fixup! t/perf/p7519: speed up test on Windows
955 - t7527: test status with untracked-cache and fsmonitor--daemon
956 - fsmonitor: force update index after large responses
957 - fsmonitor--daemon: use a cookie file to sync with file system
@@ -1200,8 +1039,9 @@ Release tarballs are available at:
1039 --------------------------------------------------
1040 [Discarded]
1041
1203 -* ms/customizable-ident-expansion (2021-09-01) 1 commit
1204 - - keyword expansion: make "$Id$" string configurable
1042 +* ms/customizable-ident-expansion (2021-12-25) 2 commits
1043 + . fixup! keyword expansion: make "$Id$" string configurable
1044 + . keyword expansion: make "$Id$" string configurable
1045
1046 Instead of "$Id$", user-specified string (like $FreeBSD$) can be
1047 used as an in-blob placeholder for keyword expansion.