What's cooking (2021/12 #01)

Junio C Hamano committed Dec 3, 2021 at 15:29 UTC f307b316ec0192a6cafd1df13d73b5e353bb41da
1 file changed +645 -374
whats-cooking.txt
+645 -374
@@ -1,30 +1,31 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Nov 2021, #07; Mon, 29)
3 +Subject: What's cooking in git.git (Dec 2021, #01; Fri, 3)
4 X-master-at: abe6bb3905392d5eb6b01fa6e54d7e784e0522aa
5 -X-next-at: abe6bb3905392d5eb6b01fa6e54d7e784e0522aa
5 +X-next-at: a8338297339b1ab064e799c15c4fc56c122ef967
6
7 -What's cooking in git.git (Nov 2021, #07; Mon, 29)
7 +What's cooking in git.git (Dec 2021, #01; Fri, 3)
8 --------------------------------------------------
9
10 -As promised, most of the topics that have been cooking in 'next'
11 -since the previous release cycle have been merged to 'master' to
12 -start a new cycle, with a small exception. The tip of 'next' has
13 -been rewound and there is 0 topics on it right now.
10 +This is probably the first issue of the "What's cooking" report, in
11 +which all topics have some sort of description.
12 +
13 +Even better, each and every topic is annotated with some sort of
14 +verdict (like "Will discard", "Expecting a reroll", "Will merge to
15 +'next'?" etc.). There is no topic in the "Undecided" category when
16 +this report is fed to "cook -w" script (found in the 'todo' branch).
17 +
18 +A handful of topics are added to 'next', and we have about 40 topics
19 +cooking there. For them, the future is automated---they spend about
20 +a week in 'next', and if we find issues in them, we incrementally
21 +improve them, or get merged to 'master'.
22 +
23 +Then we have about a dozen topics that are marked for 'next' (please
24 +raise your hand if you have objection before a real damage is done),
25 +and 8 more that may be ready for 'next' (please raise your hand if
26 +you want to nudge them in either direction, for or against).
27
15 -The exception is 'ns/tmp-objdir' and a few topics that depend on it,
16 -which are kicked out of 'next' to give the base topic a chance to
17 -lose the two "fixup!" band-aid. Careful re-reading of the topic by
18 -somebody with a fresh set of eyes (meaning, everybody, as this has
19 -been dormant for almost a month) is very much appreciated to move
20 -things forward. Also ns/remerge-diff that is Neeraj's rebase of the
21 -remerge-diff topic needs Elijah's Ack at least.
28
23 -Many of the new patches in 'seen' since the last cycle ended are
24 -truly 'just seen' and not 'read' at all, as you can see from the
25 -lack of any topic description to speak of in the following list.
26 -Help is appreciated here, too. Before whipping them into some
27 -presentable shape, I wouldn't be able to take any more new topics.
29
30
31
@@ -76,143 +77,220 @@ Release tarballs are available at:
77 https://www.kernel.org/pub/software/scm/git/
78
79 --------------------------------------------------
79 -[Graduated to 'master']
80 +[New Topics]
81
81 -* ab/refs-errno-cleanup (2021-10-16) 21 commits
82 - (merged to 'next' on 2021-10-29 at 3f57147176)
83 - + refs API: post-migration API renaming [2/2]
84 - + refs API: post-migration API renaming [1/2]
85 - + refs API: don't expose "errno" in run_transaction_hook()
86 - + refs API: make expand_ref() & repo_dwim_log() not set errno
87 - + refs API: make resolve_ref_unsafe() not set errno
88 - + refs API: make refs_ref_exists() not set errno
89 - + refs API: make refs_resolve_refdup() not set errno
90 - + refs tests: ignore ignore errno in test-ref-store helper
91 - + refs API: ignore errno in worktree.c's find_shared_symref()
92 - + refs API: ignore errno in worktree.c's add_head_info()
93 - + refs API: make files_copy_or_rename_ref() et al not set errno
94 - + refs API: make loose_fill_ref_dir() not set errno
95 - + refs API: make resolve_gitlink_ref() not set errno
96 - + refs API: remove refs_read_ref_full() wrapper
97 - + refs/files: remove "name exist?" check in lock_ref_oid_basic()
98 - + reflog tests: add --updateref tests
99 - + refs API: make refs_rename_ref_available() static
100 - + refs API: make parse_loose_ref_contents() not set errno
101 - + refs API: make refs_read_raw_ref() not set errno
102 - + refs API: add a version of refs_resolve_ref_unsafe() with "errno"
103 - + branch tests: test for errno propagating on failing read
104 -
105 - The "remainder" of hn/refs-errno-cleanup topic.
106 -
107 -
108 -* ab/sh-retire-helper-functions (2021-10-21) 6 commits
109 - (merged to 'next' on 2021-11-03 at 4b49d9f4be)
110 - + git-sh-setup: remove "sane_grep", it's not needed anymore
111 - + git-sh-setup: remove unused sane_egrep() function
112 - + git-instaweb: unconditionally assume that gitweb is mod_perl capable
113 - + Makefile: remove $(NO_CURL) from $(SCRIPT_DEFINES)
114 - + Makefile: remove $(GIT_VERSION) from $(SCRIPT_DEFINES)
115 - + Makefile: move git-SCRIPT-DEFINES adjacent to $(SCRIPT_DEFINES)
116 - (this branch is used by ab/make-dependency.)
117 -
118 - Make a few helper functions unused and then lose them.
119 -
120 -
121 -* jc/fix-ref-sorting-parse (2021-10-20) 2 commits
122 - (merged to 'next' on 2021-10-29 at e3ec6e8e77)
123 - + for-each-ref: delay parsing of --sort=<atom> options
124 - + Merge branch 'ab/ref-filter-leakfix' into jc/fix-ref-sorting-parse
125 -
126 - Things like "git -c branch.sort=bogus branch new HEAD", i.e. the
127 - operation modes of the "git branch" command that do not need the
128 - sort key information, no longer errors out by seeing a bogus sort
129 - key.
130 -
131 -
132 -* jc/tutorial-format-patch-base (2021-10-23) 1 commit
133 - (merged to 'next' on 2021-10-29 at 67ff1a5a77)
134 - + MyFirstContribution: teach to use "format-patch --base=auto"
135 -
136 - Teach and encourage first-time contributors to this project to
137 - state the base commit when they submit their topic.
138 -
139 -
140 -* jc/unsetenv-returns-an-int (2021-10-29) 1 commit
141 - (merged to 'next' on 2021-11-01 at a11670a5a5)
142 - + unsetenv(3) returns int, not void
143 -
144 - The compatibility implementation for unsetenv(3) were written to
145 - mimic ancient, non-POSIX, variant seen in an old glibc; it has been
146 - changed to return an integer to match the more modern era.
147 -
148 -
149 -* jk/loosen-urlmatch (2021-10-12) 1 commit
150 - (merged to 'next' on 2021-10-25 at f66ca39ebe)
151 - + urlmatch: add underscore to URL_HOST_CHARS
152 -
153 - Treat "_" as any other URL-valid characters in an URL when matching
154 - the per-URL configuration variable names.
155 -
156 -
157 -* mc/clean-smudge-with-llp64 (2021-11-03) 8 commits
158 - (merged to 'next' on 2021-11-03 at fe5160a170)
159 - + clean/smudge: allow clean filters to process extremely large files
160 - + odb: guard against data loss checking out a huge file
161 - + git-compat-util: introduce more size_t helpers
162 - + odb: teach read_blob_entry to use size_t
163 - + t1051: introduce a smudge filter test for extremely large files
164 - + test-lib: add prerequisite for 64-bit platforms
165 - + test-tool genzeros: generate large amounts of data more efficiently
166 - + test-genzeros: allow more than 2G zeros in Windows
167 -
168 - The clean/smudge conversion code path has been prepared to better
169 - work on platforms where ulong is narrower than size_t.
170 -
171 -
172 -* ow/stash-count-in-status-porcelain-output (2021-10-21) 2 commits
173 - (merged to 'next' on 2021-10-29 at 1a01b886e5)
174 - + status: print stash info with --porcelain=v2 --show-stash
175 - + status: count stash entries in separate function
176 -
177 - Allow "git status --porcelain=v2" to show the number of stash
178 - entries with --show-stash like the normal output does.
179 -
180 -
181 -* so/stash-staged (2021-10-28) 2 commits
182 - (merged to 'next' on 2021-10-29 at 50335e8eeb)
183 - + stash: get rid of unused argument in stash_staged()
184 - (merged to 'next' on 2021-10-25 at 68b88e35c4)
185 - + stash: implement '--staged' option for 'push' and 'save'
186 -
187 - "git stash" learned the "--staged" option to stash away what has
188 - been added to the index (and nothing else).
82 +* ab/cat-file (2021-11-29) 10 commits
83 + - cat-file: use GET_OID_ONLY_TO_DIE in --(textconv|filters)
84 + - object-name.c: don't have GET_OID_ONLY_TO_DIE imply *_QUIETLY
85 + - cat-file: correct and improve usage information
86 + - cat-file: fix remaining usage bugs
87 + - cat-file: make --batch-all-objects a CMDMODE
88 + - cat-file: move "usage" variable to cmd_cat_file()
89 + - cat-file docs: fix SYNOPSIS and "-h" output
90 + - parse-options API: add a usage_msg_optf()
91 + - cat-file tests: test messaging on bad objects/paths
92 + - cat-file tests: test bad usage
93
94 + Assorted updates to "git cat-file", especially "-h".
95
191 -* tb/plug-pack-bitmap-leaks (2021-10-28) 9 commits
192 - (merged to 'next' on 2021-11-01 at 47d218862b)
193 - + pack-bitmap.c: more aggressively free in free_bitmap_index()
194 - + pack-bitmap.c: don't leak type-level bitmaps
195 - + midx.c: write MIDX filenames to strbuf
196 - + builtin/multi-pack-index.c: don't leak concatenated options
197 - + builtin/repack.c: avoid leaking child arguments
198 - + builtin/pack-objects.c: don't leak memory via arguments
199 - + t/helper/test-read-midx.c: free MIDX within read_midx_file()
200 - + midx.c: don't leak MIDX from verify_midx_file
201 - + midx.c: clean up chunkfile after reading the MIDX
96 + Needs review.
97 + Even though this is at its third round, there wasn't any meaningful
98 + reviews other than typofixes in the earliest round, which may or
99 + may not be still relevant. The last round needs a serious review
100 + before becoming eligible for 'next'.
101 + source: <patch-v3-10.10-45a24f97c88-20211129T195357Z-avarab@gmail.com>
102
203 - Leakfix.
103
104 +* ab/grep-patterntype (2021-11-29) 7 commits
105 + - grep: simplify config parsing and option parsing
106 + - grep API: call grep_config() after grep_init()
107 + - grep.c: don't pass along NULL callback value
108 + - built-ins: trust the "prefix" from run_builtin()
109 + - grep tests: add missing "grep.patternType" config test
110 + - log tests: check if grep_config() is called by "log"-like cmds
111 + - grep.h: remove unused "regex_t regexp" from grep_opt
112 +
113 + Some code clean-up in the "git grep" machinery.
114 +
115 + Need to pick up a reroll.
116 + cf. <cover-v4-0.7-00000000000-20211203T101348Z-avarab@gmail.com>
117 + source: <cover-v3-0.7-00000000000-20211129T143956Z-avarab@gmail.com>
118 +
119 +
120 +* en/rebase-x-fix (2021-11-29) 1 commit
121 + (merged to 'next' on 2021-12-03 at a833829733)
122 + + sequencer: avoid adding exec commands for non-commit creating commands
123 +
124 + "git rebase -x" added an unnecessary 'exec' instructions before
125 + 'noop', which has been corrected.
126 +
127 + Will merge to 'master'.
128 + source: <pull.1149.git.git.1638244719381.gitgitgadget@gmail.com>
129 +
130 +
131 +* js/use-builtin-add-i (2021-12-01) 2 commits
132 + - add -i: default to the built-in implementation
133 + - t2016: require the PERL prereq only when necessary
134 +
135 + "git add -i" was rewritten in C some time ago and has been in
136 + testing; the reimplementation is now exposed to general public by
137 + default.
138 +
139 + On hold.
140 + There are known breakages on macOS.
141 + cf. <nycvar.QRO.7.76.6.2112021832060.63@tvgsbejvaqbjf.bet>
142 + source: <pull.1087.git.1638281655.gitgitgadget@gmail.com>
143 +
144 +
145 +* jt/conditional-config-on-remote-url (2021-11-29) 2 commits
146 + - config: include file if remote URL matches a glob
147 + - config: make git_config_include() static
148 +
149 + The conditional inclusion mechanism of configuration files using
150 + "[includeIf <condition>]" learns to base its decision on the
151 + URL of the remote repository the repository interacts with.
152 +
153 + Need to pick up a reroll.
154 + cf. <cover.1638487815.git.jonathantanmy@google.com>
155 + source: <3b3af0da983c65ac8282b14141495f6859cd575a.1638217387.git.jonathantanmy@google.com>
156 +
157 +
158 +* tb/cruft-packs (2021-11-29) 17 commits
159 + - sha1-file.c: don't freshen cruft packs
160 + - builtin/gc.c: conditionally avoid pruning objects via loose
161 + - builtin/repack.c: add cruft packs to MIDX during geometric repack
162 + - builtin/repack.c: use named flags for existing_packs
163 + - builtin/repack.c: allow configuring cruft pack generation
164 + - builtin/repack.c: support generating a cruft pack
165 + - builtin/pack-objects.c: --cruft with expiration
166 + - reachable: report precise timestamps from objects in cruft packs
167 + - reachable: add options to add_unseen_recent_objects_to_traversal
168 + - builtin/pack-objects.c: --cruft without expiration
169 + - builtin/pack-objects.c: return from create_object_entry()
170 + - t/helper: add 'pack-mtimes' test-tool
171 + - pack-mtimes: support writing pack .mtimes files
172 + - chunk-format.h: extract oid_version()
173 + - pack-write: pass 'struct packing_data' to 'stage_tmp_packfiles'
174 + - pack-mtimes: support reading .mtimes files
175 + - Documentation/technical: add cruft-packs.txt
176 +
177 + Instead of leaving unreachable objects in loose form when packing,
178 + or ejecting them into loose form when repacking, gather them in a
179 + packfile with an auxiliary file that records the last-use time of
180 + these objects.
181 +
182 + Expecting a reroll.
183 + source: <cover.1638224692.git.me@ttaylorr.com>
184 +
185 +
186 +* cb/save-term-across-editor-invocation (2021-12-01) 3 commits
187 + - fixup! editor: allow for saving/restoring terminal state
188 + - editor: allow for saving/restoring terminal state
189 + - terminal: teach save_term to fail when not foreground
190 +
191 + Some editors are reported to leave the terminal in funny state
192 + after they exit on Windows. Work it around by saving and restoring
193 + the terminal state when needed.
194 +
195 + Expecting a reroll.
196 + cf. <CAPUEsphktbdxeV7hvF52Or3CVHS8oOk5-WV=xfEZa8kfCVVnVg@mail.gmail.com>
197 + source: <20211202035446.1154-1-carenas@gmail.com>
198
206 -* tp/send-email-completion (2021-10-28) 2 commits
207 - (merged to 'next' on 2021-11-01 at 7104356cc0)
208 - + send-email docs: add format-patch options
209 - + send-email: programmatically generate bash completions
199
211 - The command line complation for "git send-email" options have been
212 - tweaked to make it easier to keep it in sync with the command itself.
200 +* jk/log-decorate-opts-with-implicit-decorate (2021-12-01) 2 commits
201 + - log: load decorations with --simplify-by-decoration
202 + - log: handle --decorate-refs with userformat "%d"
203 +
204 + When "git log" implicitly enabled the "decoration" processing
205 + without being explicitly asked with "--decorate" option, it failed
206 + to read and honor the settings given by the "--decorate-refs"
207 + option.
208 +
209 + Will merge to 'next'?
210 + source: <YahbseXEC66dK0k8@coredump.intra.peff.net>
211 +
212 +
213 +* jl/subtree-check-parents-argument-passing-fix (2021-12-01) 1 commit
214 + - subtree: fix argument handling in check_parents
215 +
216 + Fix performance-releated bug in "git subtree" (in contrib/).
217 +
218 + Expecting a reroll.
219 + cf. <nycvar.QRO.7.76.6.2112031610590.63@tvgsbejvaqbjf.bet>
220 + source: <pull.1086.v2.git.1638424290015.gitgitgadget@gmail.com>
221
222 --------------------------------------------------
215 -[New Topics]
223 +[Stalled]
224 +
225 +* ar/submodule-update (2021-10-13) 9 commits
226 + . submodule--helper: rename helper functions
227 + . submodule--helper: remove unused helpers
228 + . submodule: move core cmd_update() logic to C
229 + . submodule--helper: run update using child process struct
230 + . submodule--helper: allow setting superprefix for init_submodule()
231 + . submodule--helper: refactor get_submodule_displaypath()
232 + . submodule--helper: rename helpers for update-clone
233 + . submodule--helper: get remote names from any repository
234 + . submodule--helper: split up ensure_core_worktree()
235 +
236 + Rewrite of "git submodule update" in C.
237 +
238 + Expecting a reroll?
239 + cf. <YWiXL+plA7GHfuVv@google.com>
240 + source: <20211013051805.45662-10-raykar.ath@gmail.com>
241 +
242 +
243 +* cf/fetch-set-upstream-while-detached (2021-07-06) 1 commit
244 + - fetch: fix segfault on --set-upstream while on a detached HEAD
245 +
246 + "git fetch --set-upstream" while on detached HEAD segfaulted
247 + instead of noticing that such an operation did not make sense.
248 +
249 + Expecting a reroll.
250 + A low hanging fruit to make this usable is an addition of a few tests;
251 + any takers?
252 + cf. <CAPig+cTRXTGe-MNTy=2gk1eX8G+0fa303nrLnEtX1uHUC2usmg@mail.gmail.com>
253 + cf. <xmqqsg0ri5mq.fsf@gitster.g>
254 + source: <20210706162238.575988-1-clemens@endorphin.org>
255 +
256 +
257 +* ms/customizable-ident-expansion (2021-09-01) 1 commit
258 + - keyword expansion: make "$Id$" string configurable
259 +
260 + Instead of "$Id$", user-specified string (like $FreeBSD$) can be
261 + used as an in-blob placeholder for keyword expansion.
262 +
263 + Will discard.
264 + Stalled for too long.
265 + cf. <xmqqfsuosvrh.fsf@gitster.g>
266 + cf. <211101.86fssf3bn3.gmgdl@evledraar.gmail.com>
267 + source: <pull.1074.v3.git.git.1630462385587.gitgitgadget@gmail.com>
268 +
269 +
270 +* pw/fix-some-issues-in-reset-head (2021-10-01) 12 commits
271 + - rebase -m: don't fork git checkout
272 + - rebase --apply: set ORIG_HEAD correctly
273 + - rebase --apply: fix reflog
274 + - reset_head(): take struct rebase_head_opts
275 + - rebase: cleanup reset_head() calls
276 + - reset_head(): make default_reflog_action optional
277 + - reset_head(): factor out ref updates
278 + - reset_head(): remove action parameter
279 + - reset_head(): don't run checkout hook if there is an error
280 + - reset_head(): fix checkout
281 + - rebase: factor out checkout for up to date branch
282 + - Merge branch 'pw/rebase-of-a-tag-fix' into pw/fix-some-issues-in-reset-head
283 +
284 + Fix "some issues" in a helper function reset_head().
285 +
286 + Will discard.
287 + This needs a lot better explanation, including what the issues are,
288 + which codepaths the helper is used in and to do what, and tests to
289 + protect the fixes.
290 + source: <pull.1049.git.1633082702.gitgitgadget@gmail.com>
291 +
292 +--------------------------------------------------
293 +[Cooking]
294
295 * ab/ambiguous-object-name (2021-11-26) 6 commits
296 - object-name: re-use "struct strbuf" in show_ambiguous_object()
@@ -222,80 +300,121 @@ Release tarballs are available at:
300 - object-name: explicitly handle OBJ_BAD in show_ambiguous_object()
301 - object-name tests: add tests for ambiguous object blind spots
302
303 + Error output given in response to an ambiguous object name has been
304 + improved.
305 +
306 + Needs review.
307 + An earlier iteration that was much smaller had seen some reviews,
308 + but the latest round enlarged its scope and needs to be reviewed
309 + afresh.
310 + source: <patch-v5-6.6-78bb0995f08-20211125T215529Z-avarab@gmail.com>
311 +
312
313 * cb/add-p-single-key-fix (2021-11-28) 1 commit
227 - - add -p: avoid use of undefined $key when ReadKey -> EOF
314 + (merged to 'next' on 2021-12-03 at 8d4f16e620)
315 + + add -p: avoid use of undefined $key when ReadKey -> EOF
316 +
317 + The single-key-input mode in "git add -p" had some code to handle
318 + keys that generate a sequence of input via ReadKey(), which did not
319 + handle end-of-file correctly, which has been fixed.
320 +
321 + Will merge to 'master'.
322 + source: <20211128174903.5623-1-carenas@gmail.com>
323
324
325 * cb/mingw-gmtime-r (2021-11-27) 1 commit
231 - - mingw: avoid fallback for {local,gm}time_r()
326 + (merged to 'next' on 2021-12-03 at 785278d40e)
327 + + mingw: avoid fallback for {local,gm}time_r()
328 +
329 + Build fix on Windows.
330 +
331 + Will merge to 'master'.
332 + source: <pull.1142.v2.git.git.1638008132992.gitgitgadget@gmail.com>
333
334
335 * ds/trace2-regions-in-tests (2021-11-29) 2 commits
336 - t/t*: remove custom GIT_TRACE2_EVENT_NESTING
337 - test-lib.sh: set GIT_TRACE2_EVENT_NESTING
338
339 + The default setting for trace2 event nesting was too low to cause
340 + test failures, which is worked around by bumping it up in the test
341 + framework.
342 +
343 + Will merge to 'next'.
344 + source: <pull.1085.git.1638193666.gitgitgadget@gmail.com>
345 +
346
239 -* hn/allow-bogus-oid-in-ref-tests (2021-11-29) 6 commits
347 +* hn/allow-bogus-oid-in-ref-tests (2021-12-02) 8 commits
348 - t1430: create valid symrefs using test-helper
349 - t1430: remove refs using test-tool
242 - - refs: add REF_SKIP_REFNAME_VERIFICATION flag
243 - - refs: allow skipping OID verification
350 + - refs: introduce REF_SKIP_REFNAME_VERIFICATION flag
351 + - refs: introduce REF_SKIP_OID_VERIFICATION flag
352 - refs: update comment.
353 - test-ref-store: plug memory leak in cmd_delete_refs
354 + - test-ref-store: parse symbolic flag constants
355 + - test-ref-store: remove force-create argument for create-reflog
356 +
357 + The test helper for refs subsystem learned to write bogus and/or
358 + nonexistent object name to refs to simulate error situations we
359 + want to test Git in.
360 +
361 + Will merge to 'next'.
362 + source: <pull.1147.v3.git.git.1638470403.gitgitgadget@gmail.com>
363
364
365 * hn/t1404-df-limitation-is-ref-files-only (2021-11-29) 1 commit
366 - t1404: mark directory/file conflict tests with REFFILES
367
368 + Test update.
369 +
370 + Will merge to 'next'.
371 + source: <pull.1148.v2.git.git.1638210022966.gitgitgadget@gmail.com>
372 +
373
374 * jc/reflog-iterator-callback-doc (2021-11-28) 1 commit
375 - refs: document callback for reflog-ent iterators
376
377 + Document the parameters given to the reflog entry iterator callback
378 + functions.
379
256 -* po/size-t-for-vs (2021-11-26) 3 commits
257 - - object-file.c: LLP64 compatibility, upcast unity for left shift
258 - - diffcore-delta.c: LLP64 compatibility, upcast unity for left shift
259 - - repack.c: LLP64 compatibility, upcast unity for left shift
380 + Will merge to 'next'?
381 + source: <xmqqk0gs5bgw.fsf@gitster.g>
382
383
262 -* yn/complete-date-format-options (2021-11-25) 1 commit
263 - - completion: add human and auto: date format
384 +* po/size-t-for-vs (2021-12-01) 3 commits
385 + (merged to 'next' on 2021-12-02 at 489c5b0046)
386 + + object-file.c: LLP64 compatibility, upcast unity for left shift
387 + + diffcore-delta.c: LLP64 compatibility, upcast unity for left shift
388 + + repack.c: LLP64 compatibility, upcast unity for left shift
389
390 + On platforms where ulong is shorter than size_t, code paths that
391 + shifted 1 or 1U to the left lacked the necessary cast to size_t,
392 + which have been corrected.
393
266 -* jc/grep-patterntype-default-doc (2021-11-29) 1 commit
267 - - grep: clarify what `grep.patternType=default` means
394 + Will merge to 'master'.
395 + source: <20211201002902.1042-4-philipoakley@iee.email>
396
269 ---------------------------------------------------
270 -[Stalled]
397
272 -* ar/submodule-update (2021-10-13) 9 commits
273 - . submodule--helper: rename helper functions
274 - . submodule--helper: remove unused helpers
275 - . submodule: move core cmd_update() logic to C
276 - . submodule--helper: run update using child process struct
277 - . submodule--helper: allow setting superprefix for init_submodule()
278 - . submodule--helper: refactor get_submodule_displaypath()
279 - . submodule--helper: rename helpers for update-clone
280 - . submodule--helper: get remote names from any repository
281 - . submodule--helper: split up ensure_core_worktree()
398 +* yn/complete-date-format-options (2021-11-25) 1 commit
399 + (merged to 'next' on 2021-12-03 at 4f37a904a1)
400 + + completion: add human and auto: date format
401
283 - Rewrite of "git submodule update" in C.
402 + The completion script (in contrib/) learns that the "--date"
403 + option of commands from the "git log" family takes "human" and
404 + "auto" as valid values.
405
285 - Kicked out of 'seen' to make room for es/superproject-aware-submodules
286 - which is among the topics this topic stomps on.
406 + Will merge to 'master'.
407 + source: <pull.1083.git.1637666875171.gitgitgadget@gmail.com>
408
409
289 -* cf/fetch-set-upstream-while-detached (2021-07-06) 1 commit
290 - - fetch: fix segfault on --set-upstream while on a detached HEAD
410 +* jc/grep-patterntype-default-doc (2021-11-29) 1 commit
411 + - grep: clarify what `grep.patternType=default` means
412
292 - "git fetch --set-upstream" while on detached HEAD segfaulted
293 - instead of noticing that such an operation did not make sense.
413 + Doc update.
414
295 - Getting tired of waiting for a reroll; will discard.
415 + Will merge to 'next'.
416 + source: <xmqq7dcq62af.fsf@gitster.g>
417
297 ---------------------------------------------------
298 -[Cooking]
418
419 * ab/ci-updates (2021-11-23) 5 commits
420 - CI: don't run "make test" twice in one job
@@ -306,8 +425,11 @@ Release tarballs are available at:
425
426 Drop support for TravisCI and update test workflows at GitHub.
427
428 + Will merge to 'next'.
429 + source: <cover-v4-0.5-00000000000-20211123T134300Z-avarab@gmail.com>
430
310 -* en/keep-cwd (2021-11-29) 11 commits
431 +
432 +* en/keep-cwd (2021-12-01) 11 commits
433 - t2501: simplify the tests since we can now assume desired behavior
434 - dir: new flag to remove_dir_recurse() to spare the original_cwd
435 - dir: avoid incidentally removing the original_cwd in remove_path()
@@ -320,6 +442,20 @@ Release tarballs are available at:
442 - setup: introduce startup_info->original_cwd
443 - t2501: add various tests for removing the current working directory
444
445 + Many git commands that deal with working tree files try to remove a
446 + directory that becomes empty (i.e. "git switch" from a branch that
447 + has the directory to another branch that does not would attempt
448 + remove all files in the directory and the directory itself). This
449 + drops users into an unfamiliar situation if the command was run in
450 + a subdirectory that becomes subject to removal due to the command.
451 + The commands have been taught to keep an empty directory if it is
452 + the directory they were started in to avoid surprising users.
453 +
454 + Needs review.
455 + There are some comments on earlier rounds; the latest one needs a
456 + serious review or at least Acks from past commentors.
457 + source: <pull.1140.v5.git.git.1638340854.gitgitgadget@gmail.com>
458 +
459
460 * ab/run-command (2021-11-25) 9 commits
461 - run-command API: remove "env" member, always use "env_array"
@@ -332,16 +468,25 @@ Release tarballs are available at:
468 - upload-archive: use regular "struct child_process" pattern
469 - worktree: stop being overly intimate with run_command() internals
470
471 + API clean-up.
472 +
473 + Will merge to 'next'.
474 + cf. <211130.86k0gpcpy2.gmgdl@evledraar.gmail.com>
475 + cf. <CAPig+cSvFgJTiq8pXrWy_7ukQwE1y9ZGwMgKmyjWuQHdNGxiDQ@mail.gmail.com>
476 + source: <cover-v3-0.9-00000000000-20211125T224833Z-avarab@gmail.com>
477 +
478
479 * hn/create-reflog-simplify (2021-11-22) 1 commit
337 - - refs: drop force_create argument of create_reflog API
480 + (merged to 'next' on 2021-12-02 at 87ff49b776)
481 + + refs: drop force_create argument of create_reflog API
482
483 A small simplification of API.
484
341 - Will merge to 'next'.
485 + Will merge to 'master'.
486 + source: <pull.1144.git.git.1637590749342.gitgitgadget@gmail.com>
487
488
344 -* hn/reflog-tests (2021-11-25) 5 commits
489 +* hn/reflog-tests (2021-12-02) 5 commits
490 - refs/debug: trim trailing LF from reflog message
491 - test-ref-store: tweaks to for-each-reflog-ent format
492 - t1405: check for_each_reflog_ent_reverse() more thoroughly
@@ -350,13 +495,18 @@ Release tarballs are available at:
495
496 Prepare tests on ref API to help testing reftable backends.
497
498 + Will merge to 'next'.
499 + source: <pull.1145.v3.git.git.1638466593.gitgitgadget@gmail.com>
500 +
501
502 * jt/midx-doc-fix (2021-11-22) 1 commit
355 - - Doc: no midx and partial clone relation
503 + (merged to 'next' on 2021-12-02 at eac9f263ae)
504 + + Doc: no midx and partial clone relation
505
506 Docfix.
507
359 - Will merge to 'next'.
508 + Will merge to 'master'.
509 + source: <20211122184114.3328662-1-jonathantanmy@google.com>
510
511
512 * tl/ls-tree-oid-only (2021-11-22) 1 commit
@@ -365,12 +515,14 @@ Release tarballs are available at:
515 "git ls-tree" learns "--oid-only" option, similar to "--name-only".
516
517 Expecting a reroll.
518 + source: <6c15b4c176b7c03072fa59a4efd9f6fea7d62eae.1637567328.git.dyroneteng@gmail.com>
519
520
521 * jk/t7006-sigpipe-tests-fix (2021-11-22) 3 commits
371 - - t7006: simplify exit-code checks for sigpipe tests
372 - - t7006: clean up SIGPIPE handling in trace2 tests
373 - - run-command: unify signal and regular logic for wait_or_whine()
522 + (merged to 'next' on 2021-12-02 at eefd61931f)
523 + + t7006: simplify exit-code checks for sigpipe tests
524 + + t7006: clean up SIGPIPE handling in trace2 tests
525 + + run-command: unify signal and regular logic for wait_or_whine()
526
527 The function to cull a child process and determine the exit status
528 had two separate code paths for normal callers and callers in a
@@ -379,19 +531,30 @@ Release tarballs are available at:
531 been unified for these two code paths. An existing test with
532 flakiness has also been corrected.
533
382 - Will merge to 'next'.
534 + Will merge to 'master'.
535 + source: <YZrSALOrdhuunHwp@coredump.intra.peff.net>
536
537
538 * em/missing-pager (2021-11-24) 1 commit
386 - - pager: fix crash when pager program doesn't exist
539 + (merged to 'next' on 2021-12-03 at 22ad721b52)
540 + + pager: fix crash when pager program doesn't exist
541 +
542 + When a non-existent program is given as the pager, we tried to
543 + reuse an uninitialized child_process structure and crashed, which
544 + has been fixed.
545 +
546 + Will merge to 'master'.
547 + source: <20211125000239.2336-1-ematsumiya@suse.de>
548
549
550 * ab/checkout-branch-info-leakfix (2021-11-18) 1 commit
390 - - checkout: fix "branch info" memory leaks
551 + (merged to 'next' on 2021-12-02 at 5922388782)
552 + + checkout: fix "branch info" memory leaks
553
554 Leakfix.
555
394 - Will merge to 'next'.
556 + Will merge to 'master'.
557 + source: <patch-v4-1.1-57bcd0cbc23-20211116T182604Z-avarab@gmail.com>
558
559
560 * ab/make-dependency (2021-11-18) 24 commits
@@ -422,15 +585,22 @@ Release tarballs are available at:
585
586 Dependency clean-up.
587
588 + Needs review.
589 + There are some comments on earlier rounds; the latest one needs a
590 + serious review or at least Acks from past commentors.
591 + source: <patch-v4-23.23-48a3927d972-20211117T101807Z-avarab@gmail.com>
592 +
593
594 * ah/advice-pull-has-no-preference-between-rebase-and-merge (2021-11-19) 1 commit
427 - - pull: don't say that merge is "the default strategy"
595 + (merged to 'next' on 2021-12-02 at 1b49913760)
596 + + pull: don't say that merge is "the default strategy"
597
598 The advice message given by "git pull" when the user hasn't made a
599 choice between merge and rebase still said that the merge is the
600 default, which no longer is the case. This has been corrected.
601
433 - Will merge to 'next'.
602 + Will merge to 'master'.
603 + source: <20211118154317.639118-1-alexhenrie24@gmail.com>
604
605
606 * ds/fetch-pull-with-sparse-index (2021-11-29) 3 commits
@@ -439,13 +609,27 @@ Release tarballs are available at:
609 - Merge branch 'ld/sparse-diff-blame' into ds/fetch-pull-with-sparse-index
610 (this branch uses ld/sparse-diff-blame and vd/sparse-reset.)
611
612 + "git fetch" and "git pull" are now declared sparse-index clean.
613 + Also "git ls-files" learns the "--sparse" option to help debugging.
614 +
615 + Expecting a reroll?
616 + Discussion seems to have stalled, with a few loose ends questions.
617 + source: <pull.1080.git.1637077083.gitgitgadget@gmail.com>
618 +
619
620 * fs/ssh-signing-other-keytypes (2021-11-19) 2 commits
621 - ssh signing: make sign/amend test more resilient
622 - ssh signing: support non ssh-* keytypes
623
624 + The cryptographic signing using ssh keys can specify literal keys
625 + for keytypes whose name do not begin with the "ssh-" prefix by
626 + using the "key::" prefix mechanism (e.g. "key::ecdsa-sha2-nistp256").
627
448 -* fs/test-prereq (2021-11-20) 3 commits
628 + Will merge to 'next'?
629 + source: <20211119150707.3924636-1-fs@gigacodes.de>
630 +
631 +
632 +* fs/test-prereq (2021-12-01) 3 commits
633 - test-lib: make BAIL_OUT() work in tests and prereq
634 - test-lib: introduce required prereq for test runs
635 - test-lib: show missing prereq summary
@@ -454,81 +638,100 @@ Release tarballs are available at:
638 and optionally error out when prerequisites that are expected to be
639 satisfied are not.
640
457 - Will merge to 'next'?
641 + Will merge to 'next'.
642 + source: <20211201085315.576865-1-fs@gigacodes.de>
643
644
645 * jk/t5319-midx-corruption-test-deflake (2021-11-18) 1 commit
461 - - t5319: corrupt more bytes of the midx checksum
646 + (merged to 'next' on 2021-12-02 at 0ac4fd64aa)
647 + + t5319: corrupt more bytes of the midx checksum
648
649 Test fix.
650
465 - Will merge to 'next'.
651 + Will merge to 'master'.
652 + source: <YZQk6t1veegeAlYh@coredump.intra.peff.net>
653
654
655 * js/trace2-avoid-recursive-errors (2021-11-18) 1 commit
469 - - trace2: disable tr2_dst before warning on write errors
656 + (merged to 'next' on 2021-12-02 at c5b1e5ddec)
657 + + trace2: disable tr2_dst before warning on write errors
658
659 trace2 error code path fix.
660
473 - Will merge to 'next'.
661 + Will merge to 'master'.
662 + source: <5a9e49e7f1540d762374382e1769edf112cf093f.1637272706.git.steadmon@google.com>
663
664
665 * pw/xdiff-classify-record-in-histogram (2021-11-18) 3 commits
477 - - xdiff: simplify comparison
478 - - xdiff: avoid unnecessary memory allocations
479 - - diff histogram: intern strings
666 + (merged to 'next' on 2021-12-02 at 5ccd12d09b)
667 + + xdiff: simplify comparison
668 + + xdiff: avoid unnecessary memory allocations
669 + + diff histogram: intern strings
670
671 "diff --histogram" optimization.
672
483 - Will merge to 'next'.
673 + Will merge to 'master'.
674 + source: <b0bc773f51e114d96ad6efd1ebd03fb6e7646288.1637148025.git.gitgitgadget@gmail.com>
675
676
677 * rs/mergesort (2021-11-18) 1 commit
487 - - mergesort: avoid left shift overflow
678 + (merged to 'next' on 2021-12-02 at 0490b0ffbd)
679 + + mergesort: avoid left shift overflow
680
681 Bitop fix for platforms whose "long" is 32-bit.
682
491 - Will merge to 'next'.
683 + Will merge to 'master'.
684 + source: <5eabbe1c-4c0f-559a-da21-423afec89e7e@web.de>
685
686
494 -* xw/am-empty (2021-11-22) 2 commits
687 +* xw/am-empty (2021-12-01) 3 commits
688 + - am: support --allow-empty to record specific empty patches
689 - am: support --empty=<option> to handle empty patches
690 - doc: git-format-patch: describe the option --always
691
692 "git am" learns "--empty=(die|drop|keep)" option to tweak what is
693 done to a piece of e-mail without a patch in it.
694
501 - Will merge to 'next'.
695 + Expecting a reroll.
696 + The new and the third patch seems iffy.
697 + source: <pull.1076.v14.git.1638329848.gitgitgadget@gmail.com>
698
699
700 * hk/ci-checkwhitespace-commentfix (2021-11-19) 1 commit
505 - - ci(check-whitespace): update stale file top comments
701 + (merged to 'next' on 2021-12-02 at 971178fe99)
702 + + ci(check-whitespace): update stale file top comments
703
704 Comment fix.
705
509 - Will merge to 'next'.
706 + Will merge to 'master'.
707 + source: <pull.1143.git.git.1637347813367.gitgitgadget@gmail.com>
708
709
710 * jk/fetch-pack-avoid-sigpipe-to-index-pack (2021-11-19) 1 commit
513 - - fetch-pack: ignore SIGPIPE when writing to index-pack
711 + (merged to 'next' on 2021-12-02 at e2cc1ae46a)
712 + + fetch-pack: ignore SIGPIPE when writing to index-pack
713
714 "git fetch", when received a bad packfile, can fail with SIGPIPE.
715 This wasn't wrong per-se, but we now detect the situation and fail
716 in a more predictable way.
717
519 - Will merge to 'next'.
718 + Will merge to 'master'.
719 + source: <YZgQD3lrw4+i4EMd@coredump.intra.peff.net>
720
721
722 * jk/refs-g11-workaround (2021-11-19) 1 commit
523 - - refs: work around gcc-11 warning with REF_HAVE_NEW
723 + (merged to 'next' on 2021-12-02 at 1025235670)
724 + + refs: work around gcc-11 warning with REF_HAVE_NEW
725
726 Workaround for a false-alarm by gcc-11
727
527 - Will merge to 'next'.
728 + Will merge to 'master'.
729 + source: <YZgW/pz6CbpaywDa@coredump.intra.peff.net>
730
731
732 * mp/absorb-submodule-git-dir-upon-deinit (2021-11-19) 1 commit
531 - - submodule: absorb git dir instead of dying on deinit
733 + (merged to 'next' on 2021-12-03 at afc462a692)
734 + + submodule: absorb git dir instead of dying on deinit
735
736 "git submodule deinit" for a submodule whose .git metadata
737 directory is embedded in its working tree refused to work, until
@@ -538,7 +741,8 @@ Release tarballs are available at:
741 command is taught to convert such submodules to the absorbed form
742 as needed.
743
541 - Will merge to 'next'?
744 + Will merge to 'master'.
745 + source: <pull.1078.v7.git.git.1637319387717.gitgitgadget@gmail.com>
746
747
748 * rj/receive-pack-avoid-sigpipe-during-status-reporting (2021-11-10) 1 commit
@@ -550,7 +754,8 @@ Release tarballs are available at:
754 to increase our chances to run the post-receive hook after it
755 happens.
756
553 - Will merge to 'next'?
757 + Will merge to 'next'.
758 + source: <20211110092942.1648429-1-robin@jarry.cc>
759
760
761 * ab/parse-options-cleanup (2021-11-10) 1 commit
@@ -559,51 +764,66 @@ Release tarballs are available at:
764 Change the type of an internal function to return an enum (instead
765 of int) and replace -2 that was used to signal an error with -1.
766
767 + Will merge to 'next'?
768 + It is disturbing that a change claimed to be clean-up is not a faithful
769 + conversion, though.
770 + source: <patch-v2-1.1-376f76bb44e-20211110T012523Z-avarab@gmail.com>
771 +
772
773 * cw/protocol-v2-doc-fix (2021-11-11) 1 commit
564 - - protocol-v2.txt: align delim-pkt spec with usage
774 + (merged to 'next' on 2021-12-02 at 59f42a7cfc)
775 + + protocol-v2.txt: align delim-pkt spec with usage
776
777 Doc update.
778
568 - Will merge to 'next'.
779 + Will merge to 'master'.
780 + source: <20211111220048.1702896-1-calvinwan@google.com>
781
782
783 * jt/pack-header-lshift-overflow (2021-11-11) 1 commit
572 - - packfile: avoid overflowing shift during decode
784 + (merged to 'next' on 2021-12-02 at 89c37479db)
785 + + packfile: avoid overflowing shift during decode
786
787 The code to decode the length of packed object size has been
788 corrected.
789
577 - Will merge to 'next'.
790 + Will merge to 'master'.
791 + source: <20211110234033.3144165-1-jonathantanmy@google.com>
792
793
580 -* bc/require-c99 (2021-11-18) 1 commit
581 - . git-compat-util: add a test balloon for C99 support
794 +* bc/require-c99 (2021-12-01) 1 commit
795 + (merged to 'next' on 2021-12-02 at 76aa8bc2d0)
796 + + git-compat-util: add a test balloon for C99 support
797
798 Weather balloon to break people with compilers that do not support
799 C99.
800
586 - Expecting a reroll.
801 + Will merge to 'master'.
802 + source: <20211201014050.38002-2-sandals@crustytoothpaste.net>
803
804
589 -* jc/c99-var-decl-in-for-loop (2021-11-22) 1 commit
590 - - revision: use C99 declaration of variable in for() loop
805 +* jc/c99-var-decl-in-for-loop (2021-12-03) 1 commit
806 + (merged to 'next' on 2021-12-03 at 57100223b2)
807 + + revision: use C99 declaration of variable in for() loop
808
592 - Weather balloon to break compilers that do not grok variable
809 + Weather balloon to find compilers that do not grok variable
810 declaration in the for() loop.
811
595 - Will merge to 'next'?
812 + Will merge to 'master'.
813 + source: <xmqqpmr2j5lq.fsf_-_@gitster.g>
814
815
816 * tl/midx-docfix (2021-11-18) 1 commit
599 - - midx: fix a formatting issue in "multi-pack-index.txt"
817 + (merged to 'next' on 2021-12-02 at 0fae3ebdef)
818 + + midx: fix a formatting issue in "multi-pack-index.txt"
819
820 Doc mark-up fix.
821
603 - Will merge to 'next'.
822 + Will merge to 'master'.
823 + source: <9b910a44f4143c94787110a688f2b17ba4eeb0fc.1637218943.git.dyroneteng@gmail.com>
824
825
606 -* ak/protect-any-current-branch (2021-11-15) 8 commits
826 +* ak/protect-any-current-branch (2021-12-01) 8 commits
827 - branch: protect branches checked out in all worktrees
828 - receive-pack: protect current branch for bare repository worktree
829 - receive-pack: clean dead code from update_worktree()
@@ -622,104 +842,125 @@ Release tarballs are available at:
842 (originally called ak/fetch-not-overwrite-any-current-branch)
843
844 Will merge to 'next'?
845 + source: <20211201221547.1796213-1-andersk@mit.edu>
846
847
848 * jk/test-bitmap-fix (2021-11-05) 1 commit
628 - - test_bitmap_hashes(): handle repository without bitmaps
849 + (merged to 'next' on 2021-12-02 at c273d402fb)
850 + + test_bitmap_hashes(): handle repository without bitmaps
851
852 Tighten code for testing pack-bitmap.
853
632 - Will merge to 'next'.
854 + Will merge to 'master'.
855 + source: <YYTy6+DG5guzJIO7@coredump.intra.peff.net>
856
857
858 * jk/jump-merge-with-pathspec (2021-11-09) 1 commit
636 - - git-jump: pass "merge" arguments to ls-files
859 + (merged to 'next' on 2021-12-02 at fea901973d)
860 + + git-jump: pass "merge" arguments to ls-files
861
862 The "merge" subcommand of "git jump" (in contrib/) silently ignored
863 pathspec and other parameters.
864
641 - Will merge to 'next'.
865 + Will merge to 'master'.
866 + source: <YYqjY/zcBWyqY8/5@coredump.intra.peff.net>
867
868
869 * jk/strbuf-addftime-seconds-since-epoch (2021-11-04) 1 commit
645 - - strbuf_addftime(): handle "%s" manually
870 + (merged to 'next' on 2021-12-02 at d0b158d899)
871 + + strbuf_addftime(): handle "%s" manually
872
873 The "--date=format:<strftime>" gained a workaround for the lack of
874 system support for a non-local timezone to handle "%s" placeholder.
875
650 - Will merge to 'next'.
876 + Will merge to 'master'.
877 + source: <YYEihoLbEGi44dDb@coredump.intra.peff.net>
878
879
880 * js/ci-no-directional-formatting (2021-11-04) 1 commit
654 - - ci: disallow directional formatting
881 + (merged to 'next' on 2021-12-02 at bc756bc586)
882 + + ci: disallow directional formatting
883
884 CI has been taught to catch some Unicode directional formatting
885 sequence that can be used in certain mischief.
886
659 - Will merge to 'next'.
887 + Will merge to 'master'.
888 + source: <pull.1071.v3.git.1636031609982.gitgitgadget@gmail.com>
889
890
891 * tw/var-default-branch (2021-11-03) 1 commit
663 - - var: add GIT_DEFAULT_BRANCH variable
892 + (merged to 'next' on 2021-12-02 at 944512852e)
893 + + var: add GIT_DEFAULT_BRANCH variable
894
895 "git var GIT_DEFAULT_BRANCH" is a way to see what name is used for
896 the newly created branch if "git init" is run.
897
668 - Will merge to 'next'.
898 + Will merge to 'master'.
899 + source: <20211103201702.117771-1-thomas@t-8ch.de>
900
901
902 * ab/mark-leak-free-tests-even-more (2021-11-01) 15 commits
672 - - leak tests: mark some fast-import tests as passing with SANITIZE=leak
673 - - leak tests: mark some config tests as passing with SANITIZE=leak
674 - - leak tests: mark some status tests as passing with SANITIZE=leak
675 - - leak tests: mark some clone tests as passing with SANITIZE=leak
676 - - leak tests: mark some add tests as passing with SANITIZE=leak
677 - - leak tests: mark some diff tests as passing with SANITIZE=leak
678 - - leak tests: mark some apply tests as passing with SANITIZE=leak
679 - - leak tests: mark some notes tests as passing with SANITIZE=leak
680 - - leak tests: mark some update-index tests as passing with SANITIZE=leak
681 - - leak tests: mark some rev-parse tests as passing with SANITIZE=leak
682 - - leak tests: mark some rev-list tests as passing with SANITIZE=leak
683 - - leak tests: mark some misc tests as passing with SANITIZE=leak
684 - - leak tests: mark most gettext tests as passing with SANITIZE=leak
685 - - leak tests: mark "sort" test as passing SANITIZE=leak
686 - - leak tests: mark a read-tree test as passing SANITIZE=leak
903 + (merged to 'next' on 2021-12-03 at 1d8c342dab)
904 + + leak tests: mark some fast-import tests as passing with SANITIZE=leak
905 + + leak tests: mark some config tests as passing with SANITIZE=leak
906 + + leak tests: mark some status tests as passing with SANITIZE=leak
907 + + leak tests: mark some clone tests as passing with SANITIZE=leak
908 + + leak tests: mark some add tests as passing with SANITIZE=leak
909 + + leak tests: mark some diff tests as passing with SANITIZE=leak
910 + + leak tests: mark some apply tests as passing with SANITIZE=leak
911 + + leak tests: mark some notes tests as passing with SANITIZE=leak
912 + + leak tests: mark some update-index tests as passing with SANITIZE=leak
913 + + leak tests: mark some rev-parse tests as passing with SANITIZE=leak
914 + + leak tests: mark some rev-list tests as passing with SANITIZE=leak
915 + + leak tests: mark some misc tests as passing with SANITIZE=leak
916 + + leak tests: mark most gettext tests as passing with SANITIZE=leak
917 + + leak tests: mark "sort" test as passing SANITIZE=leak
918 + + leak tests: mark a read-tree test as passing SANITIZE=leak
919
920 More tests are marked as leak-free.
921
690 - Will merge to 'next'.
922 + Will merge to 'master'.
923 + source: <cover-00.15-00000000000-20211030T221945Z-avarab@gmail.com>
924
925
926 * if/redact-packfile-uri (2021-11-11) 2 commits
694 - - http-fetch: redact url on die() message
695 - - fetch-pack: redact packfile urls in traces
927 + (merged to 'next' on 2021-12-02 at 81213be9ac)
928 + + http-fetch: redact url on die() message
929 + + fetch-pack: redact packfile urls in traces
930
931 Redact the path part of packfile URI that appears in the trace output.
932
699 - Will merge to 'next'.
933 + Will merge to 'master'.
934 + source: <pull.1052.v7.git.1636588289.gitgitgadget@gmail.com>
935
936
937 * ew/test-wo-fsync (2021-10-29) 1 commit
938 - tests: disable fsync everywhere
939
705 - Allow running our tests while disabling internal fsync.
940 + Allow running our tests while disabling fsync.
941 +
942 + Will merge to 'next'?
943 + Received a lukewarm reactions overall. Perhaps we should drop instead?
944 + source: <20211029001552.GA29647@dcvr>
945
946
947 * ja/doc-cleanup (2021-11-09) 10 commits
709 - - init doc: --shared=0xxx does not give umask but perm bits
710 - - doc: git-init: clarify file modes in octal.
711 - - doc: git-http-push: describe the refs as pattern pairs
712 - - doc: uniformize <URL> placeholders' case
713 - - doc: use three dots for indicating repetition instead of star
714 - - doc: git-ls-files: express options as optional alternatives
715 - - doc: use only hyphens as word separators in placeholders
716 - - doc: express grammar placeholders between angle brackets
717 - - doc: split placeholders as individual tokens
718 - - doc: fix git credential synopsis
948 + (merged to 'next' on 2021-12-02 at f72204942f)
949 + + init doc: --shared=0xxx does not give umask but perm bits
950 + + doc: git-init: clarify file modes in octal.
951 + + doc: git-http-push: describe the refs as pattern pairs
952 + + doc: uniformize <URL> placeholders' case
953 + + doc: use three dots for indicating repetition instead of star
954 + + doc: git-ls-files: express options as optional alternatives
955 + + doc: use only hyphens as word separators in placeholders
956 + + doc: express grammar placeholders between angle brackets
957 + + doc: split placeholders as individual tokens
958 + + doc: fix git credential synopsis
959
960 Doc update.
961
722 - Will merge to 'next'.
962 + Will merge to 'master'.
963 + source: <20211106184858.11500-1-jn.avila@free.fr>
964
965
966 * re/color-default-reset (2021-10-28) 3 commits
@@ -730,15 +971,21 @@ Release tarballs are available at:
971 "default" and "reset" colors have been added to our palette.
972
973 Will merge to 'next'?
974 + Seems to have stalled, but I am OK to merge it as-is.
975 + cf. <881B4747-B0B5-459B-B673-06972275A8B8@gmail.com>
976 + source: <pull.1117.git.git.1635210227532.gitgitgadget@gmail.com>
977 + source: <pull.1116.git.git.1635201156.gitgitgadget@gmail.com>
978
979
980 * jc/fix-first-object-walk (2021-10-29) 2 commits
736 - - docs: add headers in MyFirstObjectWalk
737 - - docs: fix places that break compilation in MyFirstObjectWalk
981 + (merged to 'next' on 2021-12-02 at 43a5c1ec03)
982 + + docs: add headers in MyFirstObjectWalk
983 + + docs: fix places that break compilation in MyFirstObjectWalk
984
985 Doc update.
986
741 - Will merge to 'next'.
987 + Will merge to 'master'.
988 + source: <pull.1063.v3.git.1635537163.gitgitgadget@gmail.com>
989
990
991 * pw/diff-color-moved-fix (2021-10-27) 15 commits
@@ -761,24 +1008,27 @@ Release tarballs are available at:
1008 Long-overdue correctness and performance update to "diff
1009 --color-moved" feature.
1010
764 - Will merge to 'next'.
1011 + Need to pick up the reroll before merging to 'next'.
1012 + cf. <pull.981.v4.git.1637056178.gitgitgadget@gmail.com>
1013
1014
1015 * ab/generate-command-list (2021-11-05) 10 commits
768 - - generate-cmdlist.sh: don't parse command-list.txt thrice
769 - - generate-cmdlist.sh: replace "grep' invocation with a shell version
770 - - generate-cmdlist.sh: do not shell out to "sed"
771 - - generate-cmdlist.sh: stop sorting category lines
772 - - generate-cmdlist.sh: replace for loop by printf's auto-repeat feature
773 - - generate-cmdlist.sh: run "grep | sort", not "sort | grep"
774 - - generate-cmdlist.sh: don't call get_categories() from category_list()
775 - - generate-cmdlist.sh: spawn fewer processes
776 - - generate-cmdlist.sh: trivial whitespace change
777 - - command-list.txt: sort with "LC_ALL=C sort"
1016 + (merged to 'next' on 2021-12-02 at 37a575b37f)
1017 + + generate-cmdlist.sh: don't parse command-list.txt thrice
1018 + + generate-cmdlist.sh: replace "grep' invocation with a shell version
1019 + + generate-cmdlist.sh: do not shell out to "sed"
1020 + + generate-cmdlist.sh: stop sorting category lines
1021 + + generate-cmdlist.sh: replace for loop by printf's auto-repeat feature
1022 + + generate-cmdlist.sh: run "grep | sort", not "sort | grep"
1023 + + generate-cmdlist.sh: don't call get_categories() from category_list()
1024 + + generate-cmdlist.sh: spawn fewer processes
1025 + + generate-cmdlist.sh: trivial whitespace change
1026 + + command-list.txt: sort with "LC_ALL=C sort"
1027
1028 Build optimization.
1029
781 - Will merge to 'next'.
1030 + Will merge to 'master'.
1031 + source: <cover-v3-00.10-00000000000-20211105T135058Z-avarab@gmail.com>
1032
1033
1034 * es/pretty-describe-more (2021-11-01) 3 commits
@@ -790,10 +1040,11 @@ Release tarballs are available at:
1040 selected command-line options to the underlying "git describe"
1041 command.
1042
793 - Will merge to 'next'?
1043 + Will merge to 'next'.
1044 + source: <20211031171510.1646396-1-eschwartz@archlinux.org>
1045
1046
796 -* fs/ssh-signing-key-lifetime (2021-11-18) 10 commits
1047 +* fs/ssh-signing-key-lifetime (2021-12-01) 7 commits
1048 - ssh signing: verify ssh-keygen in test prereq
1049 - ssh signing: make fmt-merge-msg consider key lifetime
1050 - ssh signing: make verify-tag consider key lifetime
@@ -801,14 +1052,12 @@ Release tarballs are available at:
1052 - ssh signing: make verify-commit consider key lifetime
1053 - ssh signing: add key lifetime test prereqs
1054 - ssh signing: use sigc struct to pass payload
804 - - Merge branch 'ad/ssh-signing-testfix' into fs/ssh-signing-key-lifetime
805 - - Merge branch 'fs/ssh-signing-fix' into fs/ssh-signing-key-lifetime
806 - - Merge branch 'fs/ssh-signing' into fs/ssh-signing-key-lifetime
1055
1056 Extend the signing of objects with SSH keys and learn to pay
1057 attention to the key validity time range when verifying.
1058
1059 Will merge to 'next'?
1060 + source: <20211130141112.78193-1-fs@gigacodes.de>
1061
1062
1063 * jc/doc-submitting-patches-choice-of-base (2021-10-25) 2 commits
@@ -818,18 +1067,25 @@ Release tarballs are available at:
1067 Extend the guidance to choose the base commit to build your work
1068 on, and hint/nudge contributors to read others' changes.
1069
1070 + Expecting a reroll.
1071 + Stalled after one incremental update suggestion.
1072 + cf. <xmqqa6ix2g6a.fsf@gitster.g>
1073 + source: <xmqqa6izcwio.fsf_-_@gitster.g>
1074 +
1075
1076 * gc/remote-with-fewer-static-global-variables (2021-11-18) 5 commits
823 - - remote: die if branch is not found in repository
824 - - remote: remove the_repository->remote_state from static methods
825 - - remote: use remote_state parameter internally
826 - - remote: move static variables into per-repository struct
827 - - t5516: add test case for pushing remote refspecs
1077 + (merged to 'next' on 2021-12-02 at d7ea1696e5)
1078 + + remote: die if branch is not found in repository
1079 + + remote: remove the_repository->remote_state from static methods
1080 + + remote: use remote_state parameter internally
1081 + + remote: move static variables into per-repository struct
1082 + + t5516: add test case for pushing remote refspecs
1083
1084 Code clean-up to eventually allow information on remotes defined
1085 for an arbitrary repository to be read.
1086
832 - Will merge to 'next'.
1087 + Will merge to 'master'.
1088 + source: <20211118005325.64971-1-chooglen@google.com>
1089
1090
1091 * ab/config-based-hooks-2 (2021-11-24) 18 commits
@@ -854,18 +1110,28 @@ Release tarballs are available at:
1110
1111 More "config-based hooks".
1112
1113 + Needs review.
1114 + At this point, as Ævar and Emily both read the major part of this
1115 + series, a final and quick read-over plus an Ack by Emily on her
1116 + part plus a serious review on the patches attributed to Ævar by
1117 + somebody other than Ævar would be sufficient to move it in some
1118 + direction (hopefully forward).
1119 + source: <cover-v5-00.17-00000000000-20211123T114206Z-avarab@gmail.com>
1120 +
1121
1122 * vd/sparse-sparsity-fix-on-read (2021-11-24) 4 commits
859 - - sparse-index: update do_read_index to ensure correct sparsity
860 - - sparse-index: add ensure_correct_sparsity function
861 - - sparse-index: avoid unnecessary cache tree clearing
862 - - test-read-cache.c: prepare_repo_settings after config init
1123 + (merged to 'next' on 2021-12-02 at 1ec68669cb)
1124 + + sparse-index: update do_read_index to ensure correct sparsity
1125 + + sparse-index: add ensure_correct_sparsity function
1126 + + sparse-index: avoid unnecessary cache tree clearing
1127 + + test-read-cache.c: prepare_repo_settings after config init
1128
1129 Ensure that the sparseness of the in-core index matches the
1130 index.sparse configuration specified by the repository immediately
1131 after the on-disk index file is read.
1132
868 - Will merge to 'next'.
1133 + Will merge to 'master'.
1134 + source: <pull.1059.v5.git.1637626833.gitgitgadget@gmail.com>
1135
1136
1137 * js/branch-track-inherit (2021-11-18) 1 commit
@@ -875,6 +1141,10 @@ Release tarballs are available at:
1141 to have the same upstream as the "old" branch, instead of marking
1142 "old" itself as its upstream.
1143
1144 + Expecting a reroll.
1145 + cf. <YaaYyFhDrvEbenWa@google.com>
1146 + source: <7ad7507f183332cb2b5fdf2eb76fbbc9dd7199ef.1637085915.git.steadmon@google.com>
1147 +
1148
1149 * jh/builtin-fsmonitor-part2 (2021-10-21) 29 commits
1150 - t7527: test status with untracked-cache and fsmonitor--daemon
@@ -909,6 +1179,11 @@ Release tarballs are available at:
1179
1180 Built-in fsmonitor (part 2).
1181
1182 + Expecting a reroll.
1183 + Seems that the discussion stalled.
1184 + cf. <d9c3ef61-768c-3560-2858-3438c355a742@jeffhostetler.com>
1185 + source: <pull.1041.v4.git.1634826309.gitgitgadget@gmail.com>
1186 +
1187
1188 * ld/sparse-diff-blame (2021-11-29) 3 commits
1189 - blame: enable and test the sparse index
@@ -918,8 +1193,9 @@ Release tarballs are available at:
1193
1194 Teach diff and blame to work well with sparse index.
1195
921 - Expecting a reroll.
922 - cf. <YXgpqJIS2OgOgS+k@nand.local>
1196 + Need to pick up a reroll.
1197 + cf. <pull.1050.v5.git.1638566165.gitgitgadget@gmail.com>
1198 + source: <pull.1050.v2.git.1634332835.gitgitgadget@gmail.com>
1199
1200
1201 * ns/remerge-diff (2021-10-27) 9 commits
@@ -938,7 +1214,8 @@ Release tarballs are available at:
1214 used to show the difference between mechanical (and possibly
1215 conflicted) merge results and the recorded resolution.
1216
941 - On hold.
1217 + Expecting a reroll.
1218 + cf. <CABPp-BHq4DnkCZZ+HcnGiZYKHpWJgzMBjMDuWbbTFYPesm2sXA@mail.gmail.com>
1219 This is Elijah's remerge-diff rebased on ns/tmp-objdir to share the
1220 "create objects temporarily, only to discard without committing
1221 them to longer-term storage" infrastructure with another topic.
@@ -954,47 +1231,30 @@ Release tarballs are available at:
1231 New interface into the tmp-objdir API to help in-core use of the
1232 quarantine feature.
1233
957 - On hold.
958 - cf. <xmqqo87auqda.fsf@gitster.g>
1234 + Expecting a reroll.
1235 + cf. <CANQDOddCC7+gGUy1VBxxwvN7ieP+N8mQhbxK2xx6ySqZc6U7-g@mail.gmail.com>
1236 + cf. <CABPp-BHq4DnkCZZ+HcnGiZYKHpWJgzMBjMDuWbbTFYPesm2sXA@mail.gmail.com>
1237 + cf. <pull.1076.v9.git.git.1637020263.gitgitgadget@gmail.com>
1238 + cf. <ef5a087813b7dfd232a9366eee09774d197e2307.1635287730.git.gitgitgadget@gmail.com>
1239
1240
1241 * vd/sparse-reset (2021-11-29) 8 commits
962 - - unpack-trees: improve performance of next_cache_entry
963 - - reset: make --mixed sparse-aware
964 - - reset: make sparse-aware (except --mixed)
965 - - reset: integrate with sparse index
966 - - reset: expand test coverage for sparse checkouts
967 - - sparse-index: update command for expand/collapse test
968 - - reset: preserve skip-worktree bit in mixed reset
969 - - reset: rename is_missing to !is_in_reset_tree
1242 + (merged to 'next' on 2021-12-02 at 47b1095f39)
1243 + + unpack-trees: improve performance of next_cache_entry
1244 + + reset: make --mixed sparse-aware
1245 + + reset: make sparse-aware (except --mixed)
1246 + + reset: integrate with sparse index
1247 + + reset: expand test coverage for sparse checkouts
1248 + + sparse-index: update command for expand/collapse test
1249 + + reset: preserve skip-worktree bit in mixed reset
1250 + + reset: rename is_missing to !is_in_reset_tree
1251 (this branch is used by ds/fetch-pull-with-sparse-index and ld/sparse-diff-blame.)
1252
1253 Various operating modes of "git reset" have been made to work
1254 better with the sparse index.
1255
975 - Will merge to 'next'.
976 -
977 -
978 -* pw/fix-some-issues-in-reset-head (2021-10-01) 12 commits
979 - - rebase -m: don't fork git checkout
980 - - rebase --apply: set ORIG_HEAD correctly
981 - - rebase --apply: fix reflog
982 - - reset_head(): take struct rebase_head_opts
983 - - rebase: cleanup reset_head() calls
984 - - reset_head(): make default_reflog_action optional
985 - - reset_head(): factor out ref updates
986 - - reset_head(): remove action parameter
987 - - reset_head(): don't run checkout hook if there is an error
988 - - reset_head(): fix checkout
989 - - rebase: factor out checkout for up to date branch
990 - - Merge branch 'pw/rebase-of-a-tag-fix' into pw/fix-some-issues-in-reset-head
991 -
992 - Fix "some issues" in a helper function reset_head().
993 -
994 - Expecting a reroll.
995 - Needs a lot better explanation, including what the issues are,
996 - which codepaths the helper is used and to do what, and tests to
997 - protect the fixes.
1256 + Will merge to 'master'.
1257 + source: <pull.1048.v6.git.1638201164.gitgitgadget@gmail.com>
1258
1259
1260 * es/superproject-aware-submodules (2021-11-18) 5 commits
@@ -1007,6 +1267,10 @@ Release tarballs are available at:
1267 A configuration variable in a submodule points at the location of
1268 the superproject it is bound to (RFC).
1269
1270 + Expecting a reroll.
1271 + cf. <20211117234300.2598132-1-jonathantanmy@google.com>
1272 + source: <20211117005701.371808-1-emilyshaffer@google.com>
1273 +
1274
1275 * ns/batched-fsync (2021-10-27) 9 commits
1276 - Merge branch 'ns/tmp-objdir' into ns/batched-fsync
@@ -1023,20 +1287,22 @@ Release tarballs are available at:
1287 The "core.fsyncobjectfiles" configuration variable can now be set
1288 to "batch" for improved performance.
1289
1026 - On hold.
1027 - cf. <xmqqo87auqda.fsf@gitster.g>
1290 + Expecting a reroll.
1291 + cf. <CABPp-BHq4DnkCZZ+HcnGiZYKHpWJgzMBjMDuWbbTFYPesm2sXA@mail.gmail.com>
1292 + source: <f4fa20f591e580107b961aa1ca46d844603559d6.1633366668.git.gitgitgadget@gmail.com>
1293
1294
1030 -* en/zdiff3 (2021-09-20) 2 commits
1295 +* en/zdiff3 (2021-12-01) 2 commits
1296 - update documentation for new zdiff3 conflictStyle
1297 - xdiff: implement a zealous diff3, or "zdiff3"
1298
1299 "Zealous diff3" style of merge conflict presentation has been added.
1300
1036 - What's the status of this thing?
1301 + Will merge to 'next'.
1302 + source: <pull.1036.v5.git.git.1638317108.gitgitgadget@gmail.com>
1303
1304
1039 -* js/scalar (2021-11-19) 17 commits
1305 +* js/scalar (2021-12-01) 17 commits
1306 - scalar: implement the `version` command
1307 - scalar: implement the `delete` command
1308 - scalar: teach 'reconfigure' to optionally handle all registered enlistments
@@ -1057,12 +1323,9 @@ Release tarballs are available at:
1323
1324 Add pieces from "scalar" to contrib/.
1325
1060 -
1061 -* ms/customizable-ident-expansion (2021-09-01) 1 commit
1062 - - keyword expansion: make "$Id$" string configurable
1063 -
1064 - Instead of "$Id$", user-specified string (like $FreeBSD$) can be
1065 - used as an in-blob placeholder for keyword expansion.
1326 + Need to pick up the reroll before merging to 'next'.
1327 + cf. <pull.1005.v10.git.1638538470.gitgitgadget@gmail.com>
1328 + source: <pull.1005.v9.git.1638273289.gitgitgadget@gmail.com>
1329
1330
1331 * ab/only-single-progress-at-once (2021-11-03) 8 commits
@@ -1077,29 +1340,37 @@ Release tarballs are available at:
1340
1341 Further tweaks on progress API.
1342
1343 + Needs review.
1344 + The last three rounds has seen little reaction, even though earlier
1345 + round saw a lot of responses. The latest round needs a serious
1346 + review or at least Acks from past commentors.
1347 + source: <cover-v6-0.8-00000000000-20211102T122507Z-avarab@gmail.com>
1348 +
1349
1350 * hn/reftable (2021-10-08) 19 commits
1082 - - Add "test-tool dump-reftable" command.
1083 - - reftable: add dump utility
1084 - - reftable: implement stack, a mutable database of reftable files.
1085 - - reftable: implement refname validation
1086 - - reftable: add merged table view
1087 - - reftable: add a heap-based priority queue for reftable records
1088 - - reftable: reftable file level tests
1089 - - reftable: read reftable files
1090 - - reftable: generic interface to tables
1091 - - reftable: write reftable files
1092 - - reftable: a generic binary tree implementation
1093 - - reftable: reading/writing blocks
1094 - - Provide zlib's uncompress2 from compat/zlib-compat.c
1095 - - reftable: (de)serialization for the polymorphic record type.
1096 - - reftable: add blocksource, an abstraction for random access reads
1097 - - reftable: utility functions
1098 - - reftable: add error related functionality
1099 - - reftable: add LICENSE
1100 - - hash.h: provide constants for the hash IDs
1351 + (merged to 'next' on 2021-12-03 at 767ec5d9b3)
1352 + + Add "test-tool dump-reftable" command.
1353 + + reftable: add dump utility
1354 + + reftable: implement stack, a mutable database of reftable files.
1355 + + reftable: implement refname validation
1356 + + reftable: add merged table view
1357 + + reftable: add a heap-based priority queue for reftable records
1358 + + reftable: reftable file level tests
1359 + + reftable: read reftable files
1360 + + reftable: generic interface to tables
1361 + + reftable: write reftable files
1362 + + reftable: a generic binary tree implementation
1363 + + reftable: reading/writing blocks
1364 + + Provide zlib's uncompress2 from compat/zlib-compat.c
1365 + + reftable: (de)serialization for the polymorphic record type.
1366 + + reftable: add blocksource, an abstraction for random access reads
1367 + + reftable: utility functions
1368 + + reftable: add error related functionality
1369 + + reftable: add LICENSE
1370 + + hash.h: provide constants for the hash IDs
1371
1372 The "reftable" backend for the refs API, without integrating into
1103 - the refs subsystem.
1373 + the refs subsystem, has been added.
1374
1105 - Will merge to 'next'.
1375 + Will merge to 'master'.
1376 + source: <pull.1081.v4.git.git.1633638315.gitgitgadget@gmail.com>