What's cooking (2022/02 #02)

Junio C Hamano committed Feb 9, 2022 at 16:12 UTC 9921d88d209242ebbf4154890af84fc92b0704fe
1 file changed +696 -627
whats-cooking.txt
+696 -627
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Feb 2022, #01; Thu, 3)
4 -X-master-at: 5d01301f2b865aa8dba1654d3f447ce9d21db0b5
5 -X-next-at: 69c8d7142f0a3c3f513ac30b2a4a88fb47e1d1b1
3 +Subject: What's cooking in git.git (Feb 2022, #02; Wed, 9)
4 +X-master-at: 2b9c1209706bc2ef0ab09fb0bdc7d405e225ce8b
5 +X-next-at: b22f109932d866f1f13b0e1a07d0c3b42268a14f
6
7 -What's cooking in git.git (Feb 2022, #01; Thu, 3)
7 +What's cooking in git.git (Feb 2022, #02; Wed, 9)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking in my tree. Commits
@@ -18,8 +18,7 @@ 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 -Will merge a bunch of topics as the first batch in this cycle down
22 -to 'master' (aka 'main'), hopefully tomorrow.
21 +The second batch of topics have been merged.
22
23 Many new topics have sketchy or even empty topic description in the
24 list below; help to fill them in is very much appreciated ;-)
@@ -55,303 +54,367 @@ Release tarballs are available at:
54 --------------------------------------------------
55 [Graduated to 'master']
56
58 -* en/keep-cwd (2022-01-26) 1 commit
59 - (merged to 'next' on 2022-01-26 at b2518a683c)
60 - + sequencer, stash: fix running from worktree subdir
57 +* ab/cat-file (2022-01-12) 12 commits
58 + (merged to 'next' on 2022-01-12 at ee4d43041d)
59 + + cat-file: s/_/-/ in typo'd usage_msg_optf() message
60 + + cat-file: don't whitespace-pad "(...)" in SYNOPSIS and usage output
61 + (merged to 'next' on 2022-01-05 at e145efa605)
62 + + cat-file: use GET_OID_ONLY_TO_DIE in --(textconv|filters)
63 + + object-name.c: don't have GET_OID_ONLY_TO_DIE imply *_QUIETLY
64 + + cat-file: correct and improve usage information
65 + + cat-file: fix remaining usage bugs
66 + + cat-file: make --batch-all-objects a CMDMODE
67 + + cat-file: move "usage" variable to cmd_cat_file()
68 + + cat-file docs: fix SYNOPSIS and "-h" output
69 + + parse-options API: add a usage_msg_optf()
70 + + cat-file tests: test messaging on bad objects/paths
71 + + cat-file tests: test bad usage
72
62 - Fix a regression in 2.35 that roke the use of "rebase" and "stash"
63 - in a secondary worktree.
64 - source: <pull.1205.git.git.1643161426138.gitgitgadget@gmail.com>
73 + Assorted updates to "git cat-file", especially "-h".
74 + source: <cover-v6-00.10-00000000000-20211228T132637Z-avarab@gmail.com>
75 + source: <cover-0.2-00000000000-20220110T220553Z-avarab@gmail.com>
76
66 ---------------------------------------------------
67 -[New Topics]
77
69 -* jt/clone-not-quite-empty (2022-01-26) 1 commit
70 - (merged to 'next' on 2022-01-26 at c3bb39676e)
71 - + clone: support unusual remote ref configurations
78 +* ab/config-based-hooks-2 (2022-01-07) 17 commits
79 + (merged to 'next' on 2022-01-19 at 594b6da22c)
80 + + run-command: remove old run_hook_{le,ve}() hook API
81 + + receive-pack: convert push-to-checkout hook to hook.h
82 + + read-cache: convert post-index-change to use hook.h
83 + + commit: convert {pre-commit,prepare-commit-msg} hook to hook.h
84 + + git-p4: use 'git hook' to run hooks
85 + + send-email: use 'git hook run' for 'sendemail-validate'
86 + + git hook run: add an --ignore-missing flag
87 + + hooks: convert worktree 'post-checkout' hook to hook library
88 + + hooks: convert non-worktree 'post-checkout' hook to hook library
89 + + merge: convert post-merge to use hook.h
90 + + am: convert applypatch-msg to use hook.h
91 + + rebase: convert pre-rebase to use hook.h
92 + + hook API: add a run_hooks_l() wrapper
93 + + am: convert {pre,post}-applypatch to use hook.h
94 + + gc: use hook library for pre-auto-gc hook
95 + + hook API: add a run_hooks() wrapper
96 + + hook: add 'run' subcommand
97
73 - Cloning from a repository that does not yet have any branches or
74 - tags but has other refs resulted in a "remote transport reported
75 - error", which has been corrected.
98 + More "config-based hooks".
99 + source: <cover-v6-00.17-00000000000-20211222T035755Z-avarab@gmail.com>
100
77 - Will merge to 'master'.
78 - source: <20220124180909.2437002-1-jonathantanmy@google.com>
101
102 +* en/merge-ort-restart-optim-fix (2022-01-17) 1 commit
103 + (merged to 'next' on 2022-01-19 at 84da10b057)
104 + + merge-ort: avoid assuming all renames detected
105
81 -* ab/no-errno-from-resolve-ref-unsafe (2022-01-26) 2 commits
82 - - refs API: remove "failure_errno" from refs_resolve_ref_unsafe()
83 - - sequencer: don't use die_errno() on refs_resolve_ref_unsafe() failure
106 + The merge-ort misbehaved when merge.renameLimit configuration is
107 + set too low and failed to find all renames.
108 + source: <pull.1194.v2.git.git.1642443955836.gitgitgadget@gmail.com>
109
85 - Remaining code-clean-up.
110
87 - Will merge to 'next'.
88 - source: <cover-v4-0.2-00000000000-20220126T143427Z-avarab@gmail.com>
111 +* en/plug-leaks-in-merge (2022-01-21) 2 commits
112 + (merged to 'next' on 2022-01-26 at 0cf6aa0a2b)
113 + + merge: fix memory leaks in cmd_merge()
114 + + merge-ort: fix memory leak in merge_ort_internal()
115
116 + Leakfix.
117 + source: <pull.1200.git.git.1642664835.gitgitgadget@gmail.com>
118
91 -* gh/doc-typos (2022-01-26) 2 commits
92 - - Documentation/config/pgp.txt: add missing apostrophe
93 - - Documentation/config/pgp.txt: replace stray <TAB> character with <SPC>
119
95 - Typofix.
120 +* fs/ssh-signing-crlf (2022-01-07) 1 commit
121 + (merged to 'next' on 2022-01-19 at 76b86faafb)
122 + + gpg-interface: trim CR from ssh-keygen
123
97 - Will merge to 'next'.
98 - source: <20220126121426.53799-1-greg@hurrell.net>
124 + The code path that verifies signatures made with ssh were made to
125 + work better on a system with CRLF line endings.
126 + source: <20220107090735.580225-1-fs@gigacodes.de>
127
128
101 -* jc/doc-log-messages (2022-01-27) 3 commits
102 - - SubmittingPatches: explain why we care about log messages
103 - - CodingGuidelines: hint why we value clearly written log messages
104 - - SubmittingPatches: write problem statement in the log in the present tense
129 +* gc/fetch-negotiate-only-early-return (2022-01-20) 4 commits
130 + (merged to 'next' on 2022-01-20 at e7616428eb)
131 + + fetch: help translators by reusing the same message template
132 + (merged to 'next' on 2022-01-19 at 0f15147cfa)
133 + + fetch --negotiate-only: do not update submodules
134 + + fetch: skip tasks related to fetching objects
135 + + fetch: use goto cleanup in cmd_fetch()
136
106 - Update the contributor-facing documents on proposed log messages.
137 + "git fetch --negotiate-only" is an internal command used by "git
138 + push" to figure out which part of our history is missing from the
139 + other side. It should never recurse into submodules even when
140 + fetch.recursesubmodules configuration variable is set, nor it
141 + should trigger "gc". The code has been tightened up to ensure it
142 + only does common ancestry discovery and nothing else.
143 + source: <20220119000056.58503-1-chooglen@google.com>
144
108 - Will merge to 'next'?
109 - source: <20220126234205.2923388-1-gitster@pobox.com>
145
146 +* jc/find-header (2022-01-06) 1 commit
147 + (merged to 'next' on 2022-01-10 at 8a13b4f0b3)
148 + + receive-pack.c: consolidate find header logic
149
112 -* en/fetch-negotiation-default-fix (2022-02-02) 3 commits
113 - - repo-settings: rename the traditional default fetch.negotiationAlgorithm
114 - - repo-settings: fix error handling for unknown values
115 - - repo-settings: fix checking for fetch.negotiationAlgorithm=default
150 + Code clean-up.
151 + source: <pull.1125.v6.git.git.1641499655700.gitgitgadget@gmail.com>
152
117 - Fix interaction between fetch.negotiationAlgorithm and
118 - feature.experimental configuration variables.
153
120 - Will merge to 'next'.
121 - source: <pull.1131.v4.git.1643773361.gitgitgadget@gmail.com>
154 +* jc/mem-pool-alignment (2022-01-24) 1 commit
155 + (merged to 'next' on 2022-01-26 at 057b6a78f5)
156 + + mem-pool: don't assume uintmax_t is aligned enough for all types
157
158 + Update the logic to compute alignment requirement for our mem-pool.
159 + source: <20220123203347.74869-1-jrtc27@jrtc27.com>
160
124 -* en/sparse-checkout-leakfix (2022-01-28) 1 commit
125 - - sparse-checkout: fix a couple minor memory leaks
161
127 - Leakfix.
162 +* jc/name-rev-stdin (2022-01-10) 2 commits
163 + (merged to 'next' on 2022-01-19 at a58e05fabe)
164 + + name-rev.c: use strbuf_getline instead of limited size buffer
165 + + name-rev: deprecate --stdin in favor of --annotate-stdin
166
129 - Will merge to 'next'.
130 - source: <pull.1189.git.git.1643335098710.gitgitgadget@gmail.com>
167 + "git name-rev --stdin" does not behave like usual "--stdin" at
168 + all. Start the process of renaming it to "--annotate-stdin".
169 + source: <pull.1171.v7.git.git.1641425372.gitgitgadget@gmail.com>
170
171
133 -* js/diff-filter-negation-fix (2022-01-28) 3 commits
134 - - diff-filter: be more careful when looking for negative bits
135 - - diff.c: move the diff filter bits definitions up a bit
136 - - docs(diff): lose incorrect claim about `diff-files --diff-filter=A`
172 +* jc/qsort-s-alignment-fix (2022-01-07) 2 commits
173 + (merged to 'next' on 2022-01-10 at 329fd6e09a)
174 + + stable-qsort: avoid using potentially unaligned access
175 + + compat/qsort_s.c: avoid using potentially unaligned access
176
138 - "git diff --diff-filter=aR" is now parsed correctly.
177 + Fix a hand-rolled alloca() imitation that may have violated
178 + alignment requirement of data being sorted in compatibility
179 + implementation of qsort_s() and stable qsort().
180 + source: <f40c1b47-9aad-2dcc-ceeb-5dee2b517cd8@web.de>
181 + source: <xmqqzgo76xpj.fsf@gitster.g>
182
140 - Will merge to 'next'.
141 - source: <pull.1127.v3.git.1643371370.gitgitgadget@gmail.com>
183
184 +* jc/reflog-parse-options (2022-01-10) 2 commits
185 + (merged to 'next' on 2022-01-12 at 1659e49c4b)
186 + + builtin/reflog.c: use parse-options api for expire, delete subcommands
187 + + Merge branch 'ab/reflog-prep' into jc/reflog-parse-options
188
144 -* js/no-more-legacy-stash (2022-01-27) 4 commits
145 - - stash: stop warning about the obsolete `stash.useBuiltin` config setting
146 - - stash: remove documentation for `stash.useBuiltin`
147 - - add: remove support for `git-legacy-stash`
148 - - git-sh-setup: remove remnant bits referring to `git-legacy-stash`
189 + Use the parse-options API in "git reflog" command.
190 + source: <pull.1175.v5.git.git.1641495981650.gitgitgadget@gmail.com>
191
150 - Removal of unused code and doc.
192
152 - Will merge to 'next'.
153 - source: <pull.1133.git.1643321031.gitgitgadget@gmail.com>
193 +* jh/p4-fix-use-of-process-error-exception (2022-01-06) 1 commit
194 + (merged to 'next' on 2022-01-10 at 49d529bfd7)
195 + + git-p4: fix instantiation of CalledProcessError
196 + (this branch is used by jh/p4-various-fixups.)
197
198 + source: <20220106214156.90967-1-jholdsworth@nvidia.com>
199
156 -* js/scalar-global-options (2022-01-28) 1 commit
157 - - scalar: accept -C and -c options before the subcommand
200
159 - Scalar update.
201 +* jh/p4-spawning-external-commands-cleanup (2022-01-06) 3 commits
202 + (merged to 'next' on 2022-01-10 at 54b36b4e66)
203 + + git-p4: don't print shell commands as python lists
204 + + git-p4: pass command arguments as lists instead of using shell
205 + + git-p4: don't select shell mode using the type of the command argument
206 + (this branch is used by jh/p4-various-fixups.)
207
161 - Will merge to 'next'.
162 - source: <pull.1130.v2.git.1643380317358.gitgitgadget@gmail.com>
208 + source: <20220106214035.90725-1-jholdsworth@nvidia.com>
209
210
165 -* rc/negotiate-only-typofix (2022-01-28) 1 commit
166 - - fetch: fix negotiate-only error message
211 +* js/sparse-vs-split-index (2022-01-23) 3 commits
212 + (merged to 'next' on 2022-01-26 at 7443487955)
213 + + split-index: it really is incompatible with the sparse index
214 + + t1091: disable split index
215 + + sparse-index: sparse index is disallowed when split index is active
216
168 - Typofix.
217 + Mark in various places in the code that the sparse index and the
218 + split index features are mutually incompatible.
219 + source: <pull.1119.git.1642613379.gitgitgadget@gmail.com>
220
170 - Will merge to 'next'.
171 - source: <20220128143602.31842-1-robert@coup.net.nz>
221
222 +* js/test-unset-trace2-parents (2022-01-20) 1 commit
223 + (merged to 'next' on 2022-01-20 at ebb085e3e4)
224 + + test-lib: unset trace2 parent envvars
225
174 -* rj/receive-pack-abort-upon-disconnect (2022-01-28) 1 commit
175 - - receive-pack: check if client is alive before completing the push
226 + Avoid tests that are run under GIT_TRACE2 set from failing
227 + unnecessarily.
228 + source: <82e51a52e20fbe13a5a898a0a2f6dbe1188e3fa3.1642116539.git.steadmon@google.com>
229
177 - "git push" may be killed by the user when the server side has
178 - finished receiving all data and is about to commit the result.
179 - Give the latter a better chance to notice such situation and abort
180 - processing the ref updates.
230
182 - Will merge to 'next'?
183 - source: <20220128194811.3396281-1-robin.jarry@6wind.com>
231 +* jt/clone-not-quite-empty (2022-01-26) 1 commit
232 + (merged to 'next' on 2022-01-26 at c3bb39676e)
233 + + clone: support unusual remote ref configurations
234
235 + Cloning from a repository that does not yet have any branches or
236 + tags but has other refs resulted in a "remote transport reported
237 + error", which has been corrected.
238 + source: <20220124180909.2437002-1-jonathantanmy@google.com>
239
186 -* jz/patch-id-hunk-header-parsing-fix (2022-02-02) 2 commits
187 - - patch-id: fix scan_hunk_header on diffs with 1 line of before/after
188 - - patch-id: fix antipatterns in tests
240
190 - Unlike "git apply", "git patch-id" did not handle patches with
191 - hunks that has only 1 line in either preimage or postimage, which
192 - has been corrected.
241 +* jt/conditional-config-on-remote-url (2022-01-18) 2 commits
242 + (merged to 'next' on 2022-01-19 at 3c2df266eb)
243 + + config: include file if remote URL matches a glob
244 + + config: make git_config_include() static
245
194 - Will merge to 'next'.
195 - source: <20220202041945.10077-1-jerry@skydio.com>
196 - source: <20220202042015.10115-1-jerry@skydio.com>
246 + The conditional inclusion mechanism of configuration files using
247 + "[includeIf <condition>]" learns to base its decision on the
248 + URL of the remote repository the repository interacts with.
249 + source: <cover.1642527965.git.jonathantanmy@google.com>
250
251
199 -* tg/fetch-prune-exit-code-fix (2022-01-31) 1 commit
200 - - fetch --prune: exit with error if pruning fails
252 +* jt/sparse-checkout-leading-dir-fix (2022-01-21) 1 commit
253 + (merged to 'next' on 2022-01-26 at 5611ce9047)
254 + + sparse-checkout: create leading directory
255
202 - When "git fetch --prune" failed to prune the refs it wanted to
203 - prune, the command issued error messages but exited with exit
204 - status 0, which has been corrected.
256 + "git sparse-checkout init" failed to write into $GIT_DIR/info
257 + directory when the repository was created without one, which has
258 + been corrected to auto-create it.
259 + source: <20220121174441.3991963-1-jonathantanmy@google.com>
260
206 - Will merge to 'next'.
207 - source: <20220131133047.1885074-1-t.gummerer@gmail.com>
261
262 +* ms/update-index-racy (2022-01-07) 4 commits
263 + (merged to 'next' on 2022-01-14 at 705a33f63b)
264 + + update-index: refresh should rewrite index in case of racy timestamps
265 + + t7508: add tests capturing racy timestamp handling
266 + + t7508: fix bogus mtime verification
267 + + test-lib: introduce API for verifying file mtime
268
210 -* ab/do-not-hide-failures-in-git-dot-pm (2022-02-01) 1 commit
211 - - perl Git.pm: don't ignore signalled failure in _cmd_close()
269 + "git update-index --refresh" has been taught to deal better with
270 + racy timestamps (just like "git status" already does).
271 + source: <pull.1105.v4.git.1641554252.gitgitgadget@gmail.com>
272
213 - Git.pm update.
273
215 - Will merge to 'next'.
216 - source: <patch-1.1-86353c3b366-20220201T205218Z-avarab@gmail.com>
274 +* pb/pull-rebase-autostash-fix (2022-01-14) 1 commit
275 + (merged to 'next' on 2022-01-14 at 83a388a7e2)
276 + + pull --rebase: honor rebase.autostash when fast-forwarding
277
278 + "git pull --rebase" ignored the rebase.autostash configuration
279 + variable when the remote history is a descendant of our history,
280 + which has been corrected.
281 + source: <xmqqr19aayxp.fsf@gitster.g>
282
219 -* ab/object-file-api-updates (2022-02-01) 10 commits
220 - - object-file API: pass an enum to read_object_with_reference()
221 - - object-file.c: add a literal version of write_object_file_prepare()
222 - - object-file API: replace check_object_signature() with stream_*
223 - - object-file API: have hash_object_file() take "enum object_type"
224 - - object-file API: replace some use of check_object_signature()
225 - - object-file API: provide a hash_object_file_oideq()
226 - - object-file API: have write_object_file() take "enum object_type"
227 - - object-file API: add a format_object_header() function
228 - - object-file API: return "void", not "int" from hash_object_file()
229 - - object-file.c: split up declaration of unrelated variables
283
231 - source: <cover-00.10-00000000000-20220201T144803Z-avarab@gmail.com>
284 +* po/readme-mention-contributor-hints (2022-01-17) 1 commit
285 + (merged to 'next' on 2022-01-19 at 7e14690eb9)
286 + + README.md: add CodingGuidelines and a link for Translators
287
288 + Doc update.
289 + source: <pull.1115.v3.git.1642443491609.gitgitgadget@gmail.com>
290
234 -* cb/clear-quarantine-early-on-all-ref-update-errors (2022-02-01) 1 commit
235 - - receive-pack: purge temporary data if no command is ready to run
291
237 - Check if "receive-pack" will do any ref updates (various conditions
238 - could reject a push) before received objects are taken out of the
239 - temporary directory used for quarantine purposes, so that a push
240 - that is known-to-fail will not leave crufts that a future "gc"
241 - needs to clean up.
292 +* pw/add-p-hunk-split-fix (2022-01-12) 2 commits
293 + (merged to 'next' on 2022-01-19 at ea57b2c9a6)
294 + + builtin add -p: fix hunk splitting
295 + + t3701: clean up hunk splitting tests
296
243 - Will merge to 'next'?
244 - source: <20220129063538.24038-1-bojun.cbj@gmail.com>
297 + "git add -p" rewritten in C regressed hunk splitting in some cases,
298 + which has been corrected.
299 + source: <pull.1100.v2.git.1641899530.gitgitgadget@gmail.com>
300
301
247 -* hn/reftable-tests (2022-01-31) 3 commits
248 - - t5312: prepare for reftable
249 - - t1405: mark test that checks existence as REFFILES
250 - - t1405: explictly delete reflogs for reftable
302 +* rs/apply-symlinks-use-strset (2022-01-07) 1 commit
303 + (merged to 'next' on 2022-01-10 at 32497a67d5)
304 + + apply: use strsets to track symlinks
305
252 - Prepare more test scripts for the introduction of reftable.
306 + "git apply" (ab)used the util pointer of the string-list to keep
307 + track of how each symbolic link needs to be handled, which has been
308 + simplified by using strset.
309 + source: <8739caad-aa3d-1f0f-b5dd-6174a8e059f6@web.de>
310
254 - Will merge to 'next'.
255 - source: <pull.1209.git.git.1643651420.gitgitgadget@gmail.com>
311
312 +* rs/grep-expr-cleanup (2022-01-06) 4 commits
313 + (merged to 'next' on 2022-01-10 at b70a3bb0fa)
314 + + grep: use grep_and_expr() in compile_pattern_and()
315 + + grep: extract grep_binexp() from grep_or_expr()
316 + + grep: use grep_not_expr() in compile_pattern_not()
317 + + grep: use grep_or_expr() in compile_pattern_or()
318
258 -* ja/i18n-common-messages (2022-01-31) 5 commits
259 - - i18n: fix some misformated placeholders in command synopsis
260 - - i18n: remove from i18n strings that do not hold translatable parts
261 - - i18n: factorize "invalid value" messages
262 - - SQUASH???
263 - - i18n: factorize more 'incompatible options' messages
319 + Code clean-up.
320 + source: <cover.1641498525.git.me@ttaylorr.com>
321
265 - Unify more messages to help l10n.
322
267 - Will merge to 'next' after squashing the fix-up in.
268 - source: <pull.1123.v4.git.1643666870.gitgitgadget@gmail.com>
323 +* tl/doc-cli-options-first (2022-01-17) 1 commit
324 + (merged to 'next' on 2022-01-19 at 9ec14cfe73)
325 + + git-cli.txt: clarify "options first and then args"
326
327 + We explain that revs come first before the pathspec among command
328 + line arguments, but did not spell out that dashed options come
329 + before other args, which has been corrected.
330 + source: <fe748304d94e0ae25fd3549aadc49cf951ff2d64.1642405806.git.dyroneteng@gmail.com>
331
271 -* tk/subtree-merge-not-ff-only (2022-02-01) 1 commit
272 - - subtree: force merge commit
332 +--------------------------------------------------
333 +[New Topics]
334
274 - When "git subtree" wants to create a merge, it used "git merge" and
275 - let it be affected by end-user's "merge.ff" configuration, which
276 - has been corrected.
335 +* ab/t0051-skip-on-non-windows (2022-02-04) 1 commit
336 + - t0051: use "skip_all" under !MINGW in single-test file
337 +
338 + Conditional test update.
339
340 Will merge to 'next'.
279 - source: <20220201172601.262718-1-aclopte@gmail.com>
341 + source: <patch-v2-1.1-1bc93bcba4b-20220204T134208Z-avarab@gmail.com>
342
343
282 -* ab/complete-show-all-commands (2022-02-02) 2 commits
283 - - completion: add a GIT_COMPLETION_SHOW_ALL_COMMANDS
284 - - completion tests: re-source git-completion.bash in a subshell
344 +* ab/hash-object-leakfix (2022-02-06) 1 commit
345 + - hash-object: fix a trivial leak in --path
346
286 - The command line completion script (in contrib/) learns an option
287 - to complete all Git subcommands, including the ones that are
288 - normally hidden.
347 + Trivial leakfix.
348
349 Will merge to 'next'.
291 - source: <cover-v2-0.2-00000000000-20220202T111228Z-avarab@gmail.com>
350 + source: <patch-1.1-53863df1455-20220205T000422Z-avarab@gmail.com>
351
352
294 -* en/merge-tree (2022-02-02) 16 commits
295 - - git-merge-tree.txt: add a section on potentional usage mistakes
296 - - merge-tree: add a --allow-unrelated-histories flag
297 - - merge-tree: allow `ls-files -u` style info to be NUL terminated
298 - - merge-tree: provide easy access to `ls-files -u` style info
299 - - merge-tree: provide a list of which files have conflicts
300 - - merge-ort: provide a merge_get_conflicted_files() helper function
301 - - merge-tree: support including merge messages in output
302 - - merge-ort: allow update messages to be written to different file stream
303 - - merge-ort: split out a separate display_update_messages() function
304 - - diff: allow diff_warn_rename_limit to write somewhere besides stderr
305 - - Introduce a variant of the `warning()` function that takes a `FILE *`
306 - - merge-tree: implement real merges
307 - - merge-tree: add option parsing and initial shell for real merge function
308 - - merge-tree: move logic for existing merge into new function
309 - - merge-tree: rename merge_trees() to trivial_merge_trees()
310 - - Merge branch 'en/remerge-diff' into en/merge-trees
311 - (this branch uses en/remerge-diff.)
353 +* ab/release-transport-ls-refs-options (2022-02-06) 1 commit
354 + - ls-remote & transport API: release "struct transport_ls_refs_options"
355
313 - A new command is introduced that takes two commits and computes a
314 - tree that would be contained in the resulting merge commit, if the
315 - histories leading to these two commits were to be merged, and is
316 - added as a new mode of "git merge-tree" subcommand.
356 + Will merge to 'next'.
357 + source: <patch-1.1-e80e8f64eae-20220205T000809Z-avarab@gmail.com>
358
318 - source: <pull.1122.v3.git.1643787281.gitgitgadget@gmail.com>
359
360 +* js/bisect-in-c (2022-02-09) 11 commits
361 + - bisect: no longer try to clean up left-over `.git/head-name` files
362 + - bisect: remove Cogito-related code
363 + - Turn `git bisect` into a full built-in.
364 + - bisect--helper: using `--bisect-state` without an argument is a bug
365 + - bisect: move even the option parsing to `bisect--helper`
366 + - bisect--helper: make `--bisect-state` optional
367 + - bisect--helper: align the sub-command order with git-bisect.sh
368 + - bisect--helper: really retire `--bisect-autostart`
369 + - bisect--helper: really retire --bisect-next-check
370 + - bisect--helper: retire the --no-log option
371 + - bisect run: fix the error message
372
321 -* ll/doc-mktree-typofix (2022-02-02) 1 commit
322 - - fix typo in git-mktree.txt
373 + Final bits of "git bisect.sh" have been rewritten in C.
374 + source: <pull.1132.git.1643328752.gitgitgadget@gmail.com>
375
324 - Typofix.
376
326 - Will merge to 'next'.
327 - source: <pull.1207.git.git.1643792450866.gitgitgadget@gmail.com>
377 +* js/scalar-diagnose (2022-02-06) 6 commits
378 + - scalar: teach `diagnose` to gather loose objects information
379 + - scalar: teach `diagnose` to gather packfile info
380 + - scalar diagnose: include disk space information
381 + - scalar: add `diagnose`
382 + - scalar: validate the optional enlistment argument
383 + - archive: optionally add "virtual" files
384
329 -* po/doc-check-ignore-markup-fix (2022-02-03) 1 commit
330 - - doc: check-ignore: code-quote an exclamation mark
385 + source: <pull.1128.v2.git.1644187146.gitgitgadget@gmail.com>
386
332 - Typofix.
387 +
388 +* js/short-help-outside-repo-fix (2022-02-08) 2 commits
389 + - t0012: verify that built-ins handle `-h` even without gitdir
390 + - checkout/fetch/pull/pack-objects: allow `-h` outside a repository
391 +
392 + "git cmd -h" outside a repository should error out cleanly for many
393 + commands, but instead it hit a BUG(), which has been corrected.
394
395 Will merge to 'next'.
335 - source: <20220203101643.1987-1-philipoakley@iee.email>
396 + source: <pull.1139.v2.git.1644319314.gitgitgadget@gmail.com>
397
398
338 -* sy/diff-usage-typofix (2022-02-02) 1 commit
339 - - builtin/diff.c: fix "git-diff" usage string typo
399 +* tb/midx-no-bitmap-for-no-objects (2022-02-09) 1 commit
400 + - midx: prevent writing a .bitmap without any objects
401
341 - Typofix.
402 + When there is no object to write .bitmap file for, "git
403 + multi-pack-index" triggered an error, instead of just skipping,
404 + which has been corrected.
405
406 Will merge to 'next'.
344 - source: <20220202072844.35545-1-shaoxuan.yuan02@gmail.com>
407 + source: <abc67d757cb6b244cf54b7b030985180ce134724.1644434802.git.me@ttaylorr.com>
408
409
347 -* sy/modernize-t-lib-read-tree-m-3way (2022-02-02) 2 commits
348 - - t/lib-read-tree-m-3way: indent with tabs
349 - - t/lib-read-tree-m-3way: modernize style
410 +* jc/cat-file-batch-commands (2022-02-08) 3 commits
411 + . cat-file: add --batch-command mode
412 + . cat-file: introduce batch_command enum to replace print_contents
413 + . cat-file: rename cmdmode to transform_mode
414
351 - Style updates on a test script helper.
415
353 - Will merge to 'next'.
354 - source: <20220123060318.471414-1-shaoxuan.yuan02@gmail.com>
416 + Seems to make tests hang.
417 + source: <pull.1212.v3.git.git.1644353884.gitgitgadget@gmail.com>
418
419 --------------------------------------------------
420 [Stalled]
@@ -385,9 +448,18 @@ Release tarballs are available at:
448 cf. <CAPUEsphktbdxeV7hvF52Or3CVHS8oOk5-WV=xfEZa8kfCVVnVg@mail.gmail.com>
449 source: <20211202035446.1154-1-carenas@gmail.com>
450
451 +--------------------------------------------------
452 +[Cooking]
453
389 -* ar/submodule-update (2022-01-28) 9 commits
454 +* ar/submodule-update (2022-02-08) 16 commits
455 . submodule: move core cmd_update() logic to C
456 + . submodule--helper: move functions around
457 + . submodule--helper update-clone: learn --init
458 + . submodule--helper: remove ensure-core-worktree
459 + . submodule--helper run-update-procedure: learn --remote
460 + . submodule--helper run-update-procedure: remove --suboid
461 + . submodule--helper: reorganize code for sh to C conversion
462 + . submodule--helper: remove update-module-mode
463 . submodule tests: test for init and update failure output
464 . submodule--helper: don't use bitfield indirection for parse_options()
465 . builtin/submodule--helper.c: rename option variables to "opt"
@@ -398,294 +470,425 @@ Release tarballs are available at:
470 . submodule--helper: get remote names from any repository
471
472 Rewrite of "git submodule update" in C.
401 - source: <cover-v5-0.9-00000000000-20220128T125206Z-avarab@gmail.com>
473
403 ---------------------------------------------------
404 -[Cooking]
474 + Does not seem to play well with other topics in flight.
475 + source: <20220208083952.35036-1-chooglen@google.com>
476 +
477 +
478 +* pw/use-in-process-checkout-in-rebase (2022-01-26) 14 commits
479 + - rebase -m: don't fork git checkout
480 + - rebase --apply: set ORIG_HEAD correctly
481 + - rebase --apply: fix reflog
482 + - reset_head(): take struct rebase_head_opts
483 + - rebase: cleanup reset_head() calls
484 + - create_autostash(): remove unneeded parameter
485 + - reset_head(): make default_reflog_action optional
486 + - reset_head(): factor out ref updates
487 + - reset_head(): remove action parameter
488 + - rebase --apply: don't run post-checkout hook if there is an error
489 + - rebase: do not remove untracked files on checkout
490 + - rebase: pass correct arguments to post-checkout hook
491 + - t5403: refactor rebase post-checkout hook tests
492 + - rebase: factor out checkout for up to date branch
493 +
494 + Use an internal call to reset_head() helper function instead of
495 + spawning "git checkout" in "rebase", and update code paths that are
496 + involved in the change.
497 +
498 + Will merge to 'next'.
499 + source: <pull.1049.v3.git.1643202349.gitgitgadget@gmail.com>
500 +
501 +
502 +* ab/no-errno-from-resolve-ref-unsafe (2022-01-26) 2 commits
503 + (merged to 'next' on 2022-02-04 at d98254efe0)
504 + + refs API: remove "failure_errno" from refs_resolve_ref_unsafe()
505 + + sequencer: don't use die_errno() on refs_resolve_ref_unsafe() failure
506 +
507 + Remaining code-clean-up.
508 +
509 + Will merge to 'master'.
510 + source: <cover-v4-0.2-00000000000-20220126T143427Z-avarab@gmail.com>
511 +
512 +
513 +* gh/doc-typos (2022-01-26) 2 commits
514 + (merged to 'next' on 2022-02-04 at b71e1bc746)
515 + + Documentation/config/pgp.txt: add missing apostrophe
516 + + Documentation/config/pgp.txt: replace stray <TAB> character with <SPC>
517 +
518 + Typofix.
519 +
520 + Will merge to 'master'.
521 + source: <20220126121426.53799-1-greg@hurrell.net>
522 +
523 +
524 +* jc/doc-log-messages (2022-01-27) 3 commits
525 + (merged to 'next' on 2022-02-04 at cf136572ce)
526 + + SubmittingPatches: explain why we care about log messages
527 + + CodingGuidelines: hint why we value clearly written log messages
528 + + SubmittingPatches: write problem statement in the log in the present tense
529 +
530 + Update the contributor-facing documents on proposed log messages.
531 +
532 + Will merge to 'master'.
533 + source: <20220126234205.2923388-1-gitster@pobox.com>
534 +
535 +
536 +* en/fetch-negotiation-default-fix (2022-02-02) 3 commits
537 + (merged to 'next' on 2022-02-08 at 95a8a91e97)
538 + + repo-settings: rename the traditional default fetch.negotiationAlgorithm
539 + + repo-settings: fix error handling for unknown values
540 + + repo-settings: fix checking for fetch.negotiationAlgorithm=default
541 +
542 + Fix interaction between fetch.negotiationAlgorithm and
543 + feature.experimental configuration variables.
544 +
545 + Will merge to 'master'.
546 + source: <pull.1131.v4.git.1643773361.gitgitgadget@gmail.com>
547 +
548 +
549 +* en/sparse-checkout-leakfix (2022-01-28) 1 commit
550 + (merged to 'next' on 2022-02-04 at 10ca176008)
551 + + sparse-checkout: fix a couple minor memory leaks
552 +
553 + Leakfix.
554 +
555 + Will merge to 'master'.
556 + source: <pull.1189.git.git.1643335098710.gitgitgadget@gmail.com>
557 +
558 +
559 +* js/diff-filter-negation-fix (2022-01-28) 3 commits
560 + (merged to 'next' on 2022-02-08 at fe004a4c2c)
561 + + diff-filter: be more careful when looking for negative bits
562 + + diff.c: move the diff filter bits definitions up a bit
563 + + docs(diff): lose incorrect claim about `diff-files --diff-filter=A`
564 +
565 + "git diff --diff-filter=aR" is now parsed correctly.
566 +
567 + Will merge to 'master'.
568 + source: <f1f027ad61beb1bd0dee73acbffdee5c0f967e9a.1643371370.git.gitgitgadget@gmail.com>
569
406 -* jc/mem-pool-alignment (2022-01-24) 1 commit
407 - (merged to 'next' on 2022-01-26 at 057b6a78f5)
408 - + mem-pool: don't assume uintmax_t is aligned enough for all types
570
410 - Update the logic to compute alignment requirement for our mem-pool.
571 +* js/no-more-legacy-stash (2022-01-27) 4 commits
572 + (merged to 'next' on 2022-02-08 at 5cecfdbd58)
573 + + stash: stop warning about the obsolete `stash.useBuiltin` config setting
574 + + stash: remove documentation for `stash.useBuiltin`
575 + + add: remove support for `git-legacy-stash`
576 + + git-sh-setup: remove remnant bits referring to `git-legacy-stash`
577 +
578 + Removal of unused code and doc.
579
580 Will merge to 'master'.
413 - source: <20220123203347.74869-1-jrtc27@jrtc27.com>
581 + source: <pull.1133.git.1643321031.gitgitgadget@gmail.com>
582
583
416 -* ab/auto-detect-zlib-compress2 (2022-01-26) 1 commit
417 - - compat: auto-detect if zlib has uncompress2()
584 +* js/scalar-global-options (2022-01-28) 1 commit
585 + (merged to 'next' on 2022-02-09 at 8af744524c)
586 + + scalar: accept -C and -c options before the subcommand
587
419 - Notice older zlib to enable our replacement uncompress2()
420 - automatically.
588 + Scalar update.
589
422 - Will merge to 'next'.
423 - source: <xmqqr18x3s5s.fsf@gitster.g>
590 + Will merge to 'master'.
591 + source: <pull.1130.v2.git.1643380317358.gitgitgadget@gmail.com>
592
593
426 -* en/plug-leaks-in-merge (2022-01-21) 2 commits
427 - (merged to 'next' on 2022-01-26 at 0cf6aa0a2b)
428 - + merge: fix memory leaks in cmd_merge()
429 - + merge-ort: fix memory leak in merge_ort_internal()
594 +* rc/negotiate-only-typofix (2022-01-28) 1 commit
595 + (merged to 'next' on 2022-02-04 at 62b947ddbf)
596 + + fetch: fix negotiate-only error message
597
431 - Leakfix.
598 + Typofix.
599
600 Will merge to 'master'.
434 - source: <pull.1200.git.git.1642664835.gitgitgadget@gmail.com>
601 + source: <20220128143602.31842-1-robert@coup.net.nz>
602
603
437 -* js/apply-partial-clone-filters-recursively (2022-01-21) 1 commit
438 - - clone, submodule: pass partial clone filters to submodules
604 +* rj/receive-pack-abort-upon-disconnect (2022-01-28) 1 commit
605 + - receive-pack: check if client is alive before completing the push
606
440 - "git clone --filter=... --recurse-submodules" only makes the
441 - top-level a partial clone, while submodules are fully cloned. This
442 - behaviour is changed to pass the same filter down to the submodules.
607 + "git push" may be killed by the user when the server side has
608 + finished receiving all data and is about to commit the result.
609 + Give the latter a better chance to notice such situation and abort
610 + processing the ref updates.
611
444 - It is unclear passing all filters down is a good idea. It
445 - definitely is contrary to the project norm to flip the default
446 - instead of starting the new behaviour as an optional behaviour.
447 - cf. <xmqqsftgbkvm.fsf@gitster.g>
448 - source: <50ebf7bd39adf34fa4ada27cd433d81b5381abe5.1642735881.git.steadmon@google.com>
612 + Needs more work?
613 + cf. <220204.864k5e4yvf.gmgdl@evledraar.gmail.com>
614 + source: <20220128194811.3396281-1-robin.jarry@6wind.com>
615
616
451 -* js/sparse-vs-split-index (2022-01-23) 3 commits
452 - (merged to 'next' on 2022-01-26 at 7443487955)
453 - + split-index: it really is incompatible with the sparse index
454 - + t1091: disable split index
455 - + sparse-index: sparse index is disallowed when split index is active
617 +* jz/patch-id-hunk-header-parsing-fix (2022-02-02) 2 commits
618 + (merged to 'next' on 2022-02-09 at 8665cb204a)
619 + + patch-id: fix scan_hunk_header on diffs with 1 line of before/after
620 + + patch-id: fix antipatterns in tests
621
457 - Mark in various places in the code that the sparse index and the
458 - split index features are mutually incompatible.
622 + Unlike "git apply", "git patch-id" did not handle patches with
623 + hunks that has only 1 line in either preimage or postimage, which
624 + has been corrected.
625
626 Will merge to 'master'.
461 - source: <pull.1119.git.1642613379.gitgitgadget@gmail.com>
627 + source: <20220202041945.10077-1-jerry@skydio.com>
628 + source: <20220202042015.10115-1-jerry@skydio.com>
629
630
464 -* js/test-unset-trace2-parents (2022-01-20) 1 commit
465 - (merged to 'next' on 2022-01-20 at ebb085e3e4)
466 - + test-lib: unset trace2 parent envvars
631 +* tg/fetch-prune-exit-code-fix (2022-01-31) 1 commit
632 + (merged to 'next' on 2022-02-04 at 8af6ab286d)
633 + + fetch --prune: exit with error if pruning fails
634
468 - Avoid tests that are run under GIT_TRACE2 set from failing
469 - unnecessarily.
635 + When "git fetch --prune" failed to prune the refs it wanted to
636 + prune, the command issued error messages but exited with exit
637 + status 0, which has been corrected.
638
639 Will merge to 'master'.
472 - source: <82e51a52e20fbe13a5a898a0a2f6dbe1188e3fa3.1642116539.git.steadmon@google.com>
640 + source: <20220131133047.1885074-1-t.gummerer@gmail.com>
641
642
475 -* jt/sparse-checkout-leading-dir-fix (2022-01-21) 1 commit
476 - (merged to 'next' on 2022-01-26 at 5611ce9047)
477 - + sparse-checkout: create leading directory
643 +* ab/do-not-hide-failures-in-git-dot-pm (2022-02-01) 1 commit
644 + (merged to 'next' on 2022-02-08 at 1a8001f83e)
645 + + perl Git.pm: don't ignore signalled failure in _cmd_close()
646
479 - "git sparse-checkout init" failed to write into $GIT_DIR/info
480 - directory when the repository was created without one, which has
481 - been corrected to auto-create it.
647 + Git.pm update.
648
649 Will merge to 'master'.
484 - source: <20220121174441.3991963-1-jonathantanmy@google.com>
650 + source: <patch-1.1-86353c3b366-20220201T205218Z-avarab@gmail.com>
651
652
487 -* rs/parse-options-lithelp-help (2022-01-20) 1 commit
488 - - parse-options: document bracketing of argh
653 +* ab/object-file-api-updates (2022-02-04) 11 commits
654 + - object-file API: pass an enum to read_object_with_reference()
655 + - object-file.c: add a literal version of write_object_file_prepare()
656 + - object-file API: have hash_object_file() take "enum object_type"
657 + - object API: rename hash_object_file_literally() to write_*()
658 + - object-file API: split up and simplify check_object_signature()
659 + - object API: make check_object_signature() oideq()-like, move docs
660 + - object API: correct "buf" v.s. "map" mismatch in *.c and *.h
661 + - object-file API: have write_object_file() take "enum object_type"
662 + - object-file API: add a format_object_header() function
663 + - object-file API: return "void", not "int" from hash_object_file()
664 + - object-file.c: split up declaration of unrelated variables
665 +
666 + Object-file API shuffling.
667 + source: <cover-v2-00.11-00000000000-20220204T135005Z-avarab@gmail.com>
668
490 - Comment update.
669 +
670 +* cb/clear-quarantine-early-on-all-ref-update-errors (2022-02-01) 1 commit
671 + - receive-pack: purge temporary data if no command is ready to run
672 +
673 + Check if "receive-pack" will do any ref updates (various conditions
674 + could reject a push) before received objects are taken out of the
675 + temporary directory used for quarantine purposes, so that a push
676 + that is known-to-fail will not leave crufts that a future "gc"
677 + needs to clean up.
678
679 Will merge to 'next'.
493 - source: <c6ab4408-1091-4d14-849e-afe5f3053e8b@web.de>
680 + source: <20220129063538.24038-1-bojun.cbj@gmail.com>
681
682
496 -* en/merge-ort-restart-optim-fix (2022-01-17) 1 commit
497 - (merged to 'next' on 2022-01-19 at 84da10b057)
498 - + merge-ort: avoid assuming all renames detected
683 +* hn/reftable-tests (2022-01-31) 3 commits
684 + (merged to 'next' on 2022-02-09 at 5e22946a1f)
685 + + t5312: prepare for reftable
686 + + t1405: mark test that checks existence as REFFILES
687 + + t1405: explictly delete reflogs for reftable
688
500 - The merge-ort misbehaved when merge.renameLimit configuration is
501 - set too low and failed to find all renames.
689 + Prepare more test scripts for the introduction of reftable.
690
691 Will merge to 'master'.
504 - source: <pull.1194.v2.git.git.1642443955836.gitgitgadget@gmail.com>
692 + source: <pull.1209.git.git.1643651420.gitgitgadget@gmail.com>
693
694
507 -* jh/p4-various-fixups (2022-01-16) 23 commits
508 - . git-p4: seperate multiple statements onto seperate lines
509 - . git-p4: move inline comments to line above
510 - . git-p4: only seperate code blocks by a single empty line
511 - . git-p4: compare to singletons with "is" and "is not"
512 - . git-p4: normalize indentation of lines in conditionals
513 - . git-p4: ensure there is a single space around all operators
514 - . git-p4: ensure every comment has a single #
515 - . git-p4: remove spaces between dictionary keys and colons
516 - . git-p4: remove redundant backslash-continuations inside brackets
517 - . git-p4: remove extraneous spaces before function arguments
518 - . git-p4: place a single space after every comma
519 - . git-p4: removed brackets when assigning multiple return values
520 - . git-p4: remove spaces around default arguments
521 - . git-p4: remove padding from lists, tuples and function arguments
522 - . git-p4: sort and de-duplcate pylint disable list
523 - . git-p4: remove commented code
524 - . git-p4: convert descriptive class and function comments into docstrings
525 - . git-p4: improve consistency of docstring formatting
526 - . git-p4: indent with 4-spaces
527 - . git-p4: remove unneeded semicolons from statements
528 - . git-p4: add blank lines between functions and class definitions
529 - . Merge branch 'jh/p4-spawning-external-commands-cleanup' into jh/p4-various-fixups
530 - . Merge branch 'jh/p4-fix-use-of-process-error-exception' into jh/p4-various-fixups
531 - (this branch uses jh/p4-fix-use-of-process-error-exception and jh/p4-spawning-external-commands-cleanup.)
695 +* ja/i18n-common-messages (2022-02-04) 4 commits
696 + - i18n: fix some misformated placeholders in command synopsis
697 + - i18n: remove from i18n strings that do not hold translatable parts
698 + - i18n: factorize "invalid value" messages
699 + - i18n: factorize more 'incompatible options' messages
700
533 - Various cleanups to "git p4".
701 + Unify more messages to help l10n.
702
535 - Breaks its own test suite.
536 - source: <20220116160550.514637-1-jholdsworth@nvidia.com>
703 + Will merge to 'next'?
704 + source: <pull.1123.v4.git.1643666870.gitgitgadget@gmail.com>
705
706
539 -* po/readme-mention-contributor-hints (2022-01-17) 1 commit
540 - (merged to 'next' on 2022-01-19 at 7e14690eb9)
541 - + README.md: add CodingGuidelines and a link for Translators
707 +* tk/subtree-merge-not-ff-only (2022-02-01) 1 commit
708 + (merged to 'next' on 2022-02-09 at 849450010e)
709 + + subtree: force merge commit
710
543 - Doc update.
711 + When "git subtree" wants to create a merge, it used "git merge" and
712 + let it be affected by end-user's "merge.ff" configuration, which
713 + has been corrected.
714
715 Will merge to 'master'.
546 - source: <pull.1115.v3.git.1642443491609.gitgitgadget@gmail.com>
716 + source: <20220201172601.262718-1-aclopte@gmail.com>
717
718
549 -* tl/doc-cli-options-first (2022-01-17) 1 commit
550 - (merged to 'next' on 2022-01-19 at 9ec14cfe73)
551 - + git-cli.txt: clarify "options first and then args"
719 +* ab/complete-show-all-commands (2022-02-02) 2 commits
720 + (merged to 'next' on 2022-02-09 at be3b7cf4e4)
721 + + completion: add a GIT_COMPLETION_SHOW_ALL_COMMANDS
722 + + completion tests: re-source git-completion.bash in a subshell
723
553 - We explain that revs come first before the pathspec among command
554 - line arguments, but did not spell out that dashed options come
555 - before other args, which has been corrected.
724 + The command line completion script (in contrib/) learns an option
725 + to complete all Git subcommands, including the ones that are
726 + normally hidden.
727
728 Will merge to 'master'.
558 - source: <fe748304d94e0ae25fd3549aadc49cf951ff2d64.1642405806.git.dyroneteng@gmail.com>
729 + source: <cover-v2-0.2-00000000000-20220202T111228Z-avarab@gmail.com>
730
731
561 -* rs/bisect-executable-not-found (2022-01-19) 4 commits
562 - - bisect--helper: double-check run command on exit code 126 and 127
563 - - bisect: document run behavior with exit codes 126 and 127
564 - - bisect--helper: release strbuf and strvec on run error
565 - - bisect--helper: report actual bisect_state() argument on error
732 +* en/merge-tree (2022-02-02) 16 commits
733 + - git-merge-tree.txt: add a section on potentional usage mistakes
734 + - merge-tree: add a --allow-unrelated-histories flag
735 + - merge-tree: allow `ls-files -u` style info to be NUL terminated
736 + - merge-tree: provide easy access to `ls-files -u` style info
737 + - merge-tree: provide a list of which files have conflicts
738 + - merge-ort: provide a merge_get_conflicted_files() helper function
739 + - merge-tree: support including merge messages in output
740 + - merge-ort: allow update messages to be written to different file stream
741 + - merge-ort: split out a separate display_update_messages() function
742 + - diff: allow diff_warn_rename_limit to write somewhere besides stderr
743 + - Introduce a variant of the `warning()` function that takes a `FILE *`
744 + - merge-tree: implement real merges
745 + - merge-tree: add option parsing and initial shell for real merge function
746 + - merge-tree: move logic for existing merge into new function
747 + - merge-tree: rename merge_trees() to trivial_merge_trees()
748 + - Merge branch 'en/remerge-diff' into en/merge-trees
749 + (this branch uses en/remerge-diff.)
750
567 - A not-so-common mistake is to write a script to feed "git bisect
568 - run" without making it executable, in which case all tests will
569 - exit with 126 or 127 error codes, even on revisions that are marked
570 - as good. Try to recoginse this situation and stop iteration early.
751 + A new command is introduced that takes two commits and computes a
752 + tree that would be contained in the resulting merge commit, if the
753 + histories leading to these two commits were to be merged, and is
754 + added as a new mode of "git merge-tree" subcommand.
755 + source: <pull.1122.v3.git.1643787281.gitgitgadget@gmail.com>
756
572 - Will merge to 'next'?
573 - source: <fead25d6-6f5f-487a-ad4c-0657fe9785fd@www.fastmail.com>
757
758 +* ll/doc-mktree-typofix (2022-02-02) 1 commit
759 + (merged to 'next' on 2022-02-08 at fe98063f1a)
760 + + fix typo in git-mktree.txt
761
576 -* ds/sparse-checkout-requires-per-worktree-config (2022-01-31) 5 commits
577 - - worktree: copy sparse-checkout patterns and config on add
578 - - sparse-checkout: set worktree-config correctly
579 - - config: add repo_config_set_worktree_gently()
580 - - worktree: create init_worktree_config()
581 - - Documentation: add extensions.worktreeConfig details
762 + Typofix.
763
583 - "git sparse-checkout" wants to work with per-worktree configration,
584 - but did not work well in a worktree attached to a bare repository.
764 + Will merge to 'master'.
765 + source: <pull.1207.git.git.1643792450866.gitgitgadget@gmail.com>
766
586 - What's the doneness of this one?
587 - source: <pull.1101.v5.git.1643641259.gitgitgadget@gmail.com>
767
768 +* po/doc-check-ignore-markup-fix (2022-02-03) 1 commit
769 + (merged to 'next' on 2022-02-09 at 47631df376)
770 + + doc: check-ignore: code-quote an exclamation mark
771
590 -* pw/add-p-hunk-split-fix (2022-01-12) 2 commits
591 - (merged to 'next' on 2022-01-19 at ea57b2c9a6)
592 - + builtin add -p: fix hunk splitting
593 - + t3701: clean up hunk splitting tests
772 + Typofix.
773
595 - "git add -p" rewritten in C regressed hunk splitting in some cases,
596 - which has been corrected.
774 + Will merge to 'master'.
775 + source: <20220203101643.1987-1-philipoakley@iee.email>
776 +
777 +
778 +* sy/diff-usage-typofix (2022-02-02) 1 commit
779 + (merged to 'next' on 2022-02-04 at 28a4186a44)
780 + + builtin/diff.c: fix "git-diff" usage string typo
781 +
782 + Typofix.
783
784 Will merge to 'master'.
599 - source: <pull.1100.v2.git.1641899530.gitgitgadget@gmail.com>
785 + source: <20220202072844.35545-1-shaoxuan.yuan02@gmail.com>
786
787
602 -* gc/fetch-negotiate-only-early-return (2022-01-20) 4 commits
603 - (merged to 'next' on 2022-01-20 at e7616428eb)
604 - + fetch: help translators by reusing the same message template
605 - (merged to 'next' on 2022-01-19 at 0f15147cfa)
606 - + fetch --negotiate-only: do not update submodules
607 - + fetch: skip tasks related to fetching objects
608 - + fetch: use goto cleanup in cmd_fetch()
788 +* sy/modernize-t-lib-read-tree-m-3way (2022-02-02) 2 commits
789 + (merged to 'next' on 2022-02-09 at 8b7ecb4e99)
790 + + t/lib-read-tree-m-3way: indent with tabs
791 + + t/lib-read-tree-m-3way: modernize style
792
610 - "git fetch --negotiate-only" is an internal command used by "git
611 - push" to figure out which part of our history is missing from the
612 - other side. It should never recurse into submodules even when
613 - fetch.recursesubmodules configuration variable is set, nor it
614 - should trigger "gc". The code has been tightened up to ensure it
615 - only does common ancestry discovery and nothing else.
793 + Style updates on a test script helper.
794
795 Will merge to 'master'.
618 - source: <20220119000056.58503-1-chooglen@google.com>
796 + source: <20220123060318.471414-1-shaoxuan.yuan02@gmail.com>
797
798
621 -* jh/p4-fix-use-of-process-error-exception (2022-01-06) 1 commit
622 - (merged to 'next' on 2022-01-10 at 49d529bfd7)
623 - + git-p4: fix instantiation of CalledProcessError
624 - (this branch is used by jh/p4-various-fixups.)
799 +* ab/auto-detect-zlib-compress2 (2022-01-26) 1 commit
800 + (merged to 'next' on 2022-02-08 at 9922938a6a)
801 + + compat: auto-detect if zlib has uncompress2()
802 +
803 + Notice older zlib to enable our replacement uncompress2()
804 + automatically.
805
806 Will merge to 'master'.
627 - source: <20220106214156.90967-1-jholdsworth@nvidia.com>
807 + source: <xmqqr18x3s5s.fsf@gitster.g>
808
809
630 -* jh/p4-spawning-external-commands-cleanup (2022-01-06) 3 commits
631 - (merged to 'next' on 2022-01-10 at 54b36b4e66)
632 - + git-p4: don't print shell commands as python lists
633 - + git-p4: pass command arguments as lists instead of using shell
634 - + git-p4: don't select shell mode using the type of the command argument
635 - (this branch is used by jh/p4-various-fixups.)
810 +* js/apply-partial-clone-filters-recursively (2022-02-09) 1 commit
811 + - clone, submodule: pass partial clone filters to submodules
812 +
813 + "git clone --filter=... --recurse-submodules" only makes the
814 + top-level a partial clone, while submodules are fully cloned. This
815 + behaviour is changed to pass the same filter down to the submodules.
816
637 - Will merge to 'master'.
638 - source: <20220106214035.90725-1-jholdsworth@nvidia.com>
817 + Will merge to 'next'?
818 + source: <690d2316ad518ea4551821b2b3aa652996858475.1644034886.git.steadmon@google.com>
819
820
641 -* pb/pull-rebase-autostash-fix (2022-01-14) 1 commit
642 - (merged to 'next' on 2022-01-14 at 83a388a7e2)
643 - + pull --rebase: honor rebase.autostash when fast-forwarding
821 +* rs/parse-options-lithelp-help (2022-01-20) 1 commit
822 + (merged to 'next' on 2022-02-04 at 74bc57e8fa)
823 + + parse-options: document bracketing of argh
824
645 - "git pull --rebase" ignored the rebase.autostash configuration
646 - variable when the remote history is a descendant of our history,
647 - which has been corrected.
825 + Comment update.
826
827 Will merge to 'master'.
650 - source: <xmqqr19aayxp.fsf@gitster.g>
828 + source: <c6ab4408-1091-4d14-849e-afe5f3053e8b@web.de>
829
830
653 -* rs/grep-expr-cleanup (2022-01-06) 4 commits
654 - (merged to 'next' on 2022-01-10 at b70a3bb0fa)
655 - + grep: use grep_and_expr() in compile_pattern_and()
656 - + grep: extract grep_binexp() from grep_or_expr()
657 - + grep: use grep_not_expr() in compile_pattern_not()
658 - + grep: use grep_or_expr() in compile_pattern_or()
831 +* jh/p4-various-fixups (2022-01-16) 23 commits
832 + . git-p4: seperate multiple statements onto seperate lines
833 + . git-p4: move inline comments to line above
834 + . git-p4: only seperate code blocks by a single empty line
835 + . git-p4: compare to singletons with "is" and "is not"
836 + . git-p4: normalize indentation of lines in conditionals
837 + . git-p4: ensure there is a single space around all operators
838 + . git-p4: ensure every comment has a single #
839 + . git-p4: remove spaces between dictionary keys and colons
840 + . git-p4: remove redundant backslash-continuations inside brackets
841 + . git-p4: remove extraneous spaces before function arguments
842 + . git-p4: place a single space after every comma
843 + . git-p4: removed brackets when assigning multiple return values
844 + . git-p4: remove spaces around default arguments
845 + . git-p4: remove padding from lists, tuples and function arguments
846 + . git-p4: sort and de-duplcate pylint disable list
847 + . git-p4: remove commented code
848 + . git-p4: convert descriptive class and function comments into docstrings
849 + . git-p4: improve consistency of docstring formatting
850 + . git-p4: indent with 4-spaces
851 + . git-p4: remove unneeded semicolons from statements
852 + . git-p4: add blank lines between functions and class definitions
853 + . Merge branch 'jh/p4-spawning-external-commands-cleanup' into jh/p4-various-fixups
854 + . Merge branch 'jh/p4-fix-use-of-process-error-exception' into jh/p4-various-fixups
855
660 - Code clean-up.
856 + Various cleanups to "git p4".
857
662 - Will merge to 'master'.
663 - source: <cover.1641498525.git.me@ttaylorr.com>
858 + Breaks its own test suite.
859 + source: <20220116160550.514637-1-jholdsworth@nvidia.com>
860
861
666 -* fs/ssh-signing-crlf (2022-01-07) 1 commit
667 - (merged to 'next' on 2022-01-19 at 76b86faafb)
668 - + gpg-interface: trim CR from ssh-keygen
862 +* rs/bisect-executable-not-found (2022-01-19) 4 commits
863 + - bisect--helper: double-check run command on exit code 126 and 127
864 + - bisect: document run behavior with exit codes 126 and 127
865 + - bisect--helper: release strbuf and strvec on run error
866 + - bisect--helper: report actual bisect_state() argument on error
867
670 - The code path that verifies signatures made with ssh were made to
671 - work better on a system with CRLF line endings.
868 + A not-so-common mistake is to write a script to feed "git bisect
869 + run" without making it executable, in which case all tests will
870 + exit with 126 or 127 error codes, even on revisions that are marked
871 + as good. Try to recoginse this situation and stop iteration early.
872
673 - Will merge to 'master'.
674 - source: <20220107090735.580225-1-fs@gigacodes.de>
873 + Will merge to 'next'?
874 + source: <fead25d6-6f5f-487a-ad4c-0657fe9785fd@www.fastmail.com>
875
876
677 -* jc/qsort-s-alignment-fix (2022-01-07) 2 commits
678 - (merged to 'next' on 2022-01-10 at 329fd6e09a)
679 - + stable-qsort: avoid using potentially unaligned access
680 - + compat/qsort_s.c: avoid using potentially unaligned access
877 +* ds/sparse-checkout-requires-per-worktree-config (2022-02-08) 6 commits
878 + - config: make git_configset_get_string_tmp() private
879 + - worktree: copy sparse-checkout patterns and config on add
880 + - sparse-checkout: set worktree-config correctly
881 + - config: add repo_config_set_worktree_gently()
882 + - worktree: create init_worktree_config()
883 + - Documentation: add extensions.worktreeConfig details
884
682 - Fix a hand-rolled alloca() imitation that may have violated
683 - alignment requirement of data being sorted in compatibility
684 - implementation of qsort_s() and stable qsort().
885 + "git sparse-checkout" wants to work with per-worktree configration,
886 + but did not work well in a worktree attached to a bare repository.
887
686 - Will merge to 'master'.
687 - source: <f40c1b47-9aad-2dcc-ceeb-5dee2b517cd8@web.de>
688 - source: <xmqqzgo76xpj.fsf@gitster.g>
888 + Will merge to 'next'?
889 + cf. <20220204081336.3194538-1-newren@gmail.com>
890 + cf. <CAPig+cRrRxuTeByhKkLs_KDaWY8-r4+jrwT83A-r+sBQsmebMw@mail.gmail.com>
891 + source: <pull.1101.v6.git.1644269583.gitgitgadget@gmail.com>
892
893
894 * ps/avoid-unnecessary-hook-invocation-with-packed-refs (2022-01-17) 6 commits
@@ -701,53 +904,44 @@ Release tarballs are available at:
904 that logically removes one ref may end up invoking ref-transaction
905 hook twice, which has been corrected.
906
704 - Will merge to 'next'?
907 + Will merge to 'next'.
908 source: <cover.1642406989.git.ps@pks.im>
909
910
708 -* rs/apply-symlinks-use-strset (2022-01-07) 1 commit
709 - (merged to 'next' on 2022-01-10 at 32497a67d5)
710 - + apply: use strsets to track symlinks
711 -
712 - "git apply" (ab)used the util pointer of the string-list to keep
713 - track of how each symbolic link needs to be handled, which has been
714 - simplified by using strset.
715 -
716 - Will merge to 'master'.
717 - source: <8739caad-aa3d-1f0f-b5dd-6174a8e059f6@web.de>
718 -
719 -
720 -* ld/sparse-index-bash-completion (2022-02-03) 3 commits
721 - . completion: handle unusual characters for sparse-checkout
722 - . completion: improve sparse-checkout cone mode directory completion
723 - . completion: address sparse-checkout issues
911 +* ld/sparse-index-bash-completion (2022-02-08) 3 commits
912 + (merged to 'next' on 2022-02-08 at ac1e968ab8)
913 + + completion: handle unusual characters for sparse-checkout
914 + + completion: improve sparse-checkout cone mode directory completion
915 + + completion: address sparse-checkout issues
916
917 The command line completion (in contrib/) learns to complete
918 arguments give to "git sparse-checkout" command.
919
728 - Seems to break CI.
729 - source: <pull.1108.v5.git.1643921091.gitgitgadget@gmail.com>
920 + Will merge to 'master'.
921 + source: <pull.1108.v7.git.1644255105.gitgitgadget@gmail.com>
922
923
924 * bc/clarify-eol-attr (2022-01-12) 2 commits
733 - - docs: correct documentation about eol attribute
734 - - t0027: add tests for eol without text in .gitattributes
925 + (merged to 'next' on 2022-02-04 at dc1db4bd21)
926 + + docs: correct documentation about eol attribute
927 + + t0027: add tests for eol without text in .gitattributes
928
929 Doc and test update around the eol attribute.
930
738 - Will merge to 'next'.
931 + Will merge to 'master'.
932 source: <20220111021507.531736-1-sandals@crustytoothpaste.net>
933
934
935 * jz/rev-list-exclude-first-parent-only (2022-01-12) 1 commit
743 - - git-rev-list: add --exclude-first-parent-only flag
936 + (merged to 'next' on 2022-02-09 at f26a82c66a)
937 + + git-rev-list: add --exclude-first-parent-only flag
938
939 "git log" and friends learned an option --exclude-first-parent-only
940 to propagate UNINTERESTING bit down only along the first-parent
941 chain, just like --first-parent option shows commits that lack the
942 UNINTERESTING bit only along the first-parent chain.
943
750 - Will merge to 'next'.
944 + Will merge to 'master'.
945 source: <20220111213941.30129-1-jerry@skydio.com>
946
947
@@ -766,106 +960,61 @@ Release tarballs are available at:
960 of such files has been added to avoid these problems.
961
962 Will merge to 'next'?
963 + cf. <20220204081336.3194538-1-newren@gmail.com>
964 source: <pull.1114.v2.git.1642175983.gitgitgadget@gmail.com>
965
966
967 * bc/csprng-mktemps (2022-01-17) 2 commits
773 - - wrapper: use a CSPRNG to generate random file names
774 - - wrapper: add a helper to generate numbers from a CSPRNG
968 + (merged to 'next' on 2022-02-04 at 2e32375c73)
969 + + wrapper: use a CSPRNG to generate random file names
970 + + wrapper: add a helper to generate numbers from a CSPRNG
971
972 Pick a better random number generator and use it when we prepare
973 temporary filenames.
974
779 - Will merge to 'next'?
780 - Are we solving the right problem?
781 - cf. <220118.86zgntpegy.gmgdl@evledraar.gmail.com>
782 - source: <20220117215617.843190-1-sandals@crustytoothpaste.net>
783 -
784 -
785 -* jc/reflog-parse-options (2022-01-10) 2 commits
786 - (merged to 'next' on 2022-01-12 at 1659e49c4b)
787 - + builtin/reflog.c: use parse-options api for expire, delete subcommands
788 - + Merge branch 'ab/reflog-prep' into jc/reflog-parse-options
789 -
790 - Use the parse-options API in "git reflog" command.
791 -
975 Will merge to 'master'.
793 - source: <pull.1175.v5.git.git.1641495981650.gitgitgadget@gmail.com>
976 + source: <20220117215617.843190-1-sandals@crustytoothpaste.net>
977
978
979 * vd/sparse-clean-etc (2022-01-13) 9 commits
797 - - update-index: reduce scope of index expansion in do_reupdate
798 - - update-index: integrate with sparse index
799 - - update-index: add tests for sparse-checkout compatibility
800 - - checkout-index: integrate with sparse index
801 - - checkout-index: add --ignore-skip-worktree-bits option
802 - - checkout-index: expand sparse checkout compatibility tests
803 - - clean: integrate with sparse index
804 - - reset: reorder wildcard pathspec conditions
805 - - reset: fix validation in sparse index test
980 + (merged to 'next' on 2022-02-09 at 5928dbd25e)
981 + + update-index: reduce scope of index expansion in do_reupdate
982 + + update-index: integrate with sparse index
983 + + update-index: add tests for sparse-checkout compatibility
984 + + checkout-index: integrate with sparse index
985 + + checkout-index: add --ignore-skip-worktree-bits option
986 + + checkout-index: expand sparse checkout compatibility tests
987 + + clean: integrate with sparse index
988 + + reset: reorder wildcard pathspec conditions
989 + + reset: fix validation in sparse index test
990 (this branch is used by en/present-despite-skipped.)
991
992 "git update-index", "git checkout-index", and "git clean" are
993 taught to work better with the sparse checkout feature.
994
811 - Will merge to 'next'.
812 - source: <pull.1109.v2.git.1641924306.gitgitgadget@gmail.com>
813 -
814 -
815 -* ms/update-index-racy (2022-01-07) 4 commits
816 - (merged to 'next' on 2022-01-14 at 705a33f63b)
817 - + update-index: refresh should rewrite index in case of racy timestamps
818 - + t7508: add tests capturing racy timestamp handling
819 - + t7508: fix bogus mtime verification
820 - + test-lib: introduce API for verifying file mtime
821 -
822 - "git update-index --refresh" has been taught to deal better with
823 - racy timestamps (just like "git status" already does).
824 -
825 - Will merge to 'master'.
826 - source: <pull.1105.v4.git.1641554252.gitgitgadget@gmail.com>
827 -
828 -
829 -* jc/find-header (2022-01-06) 1 commit
830 - (merged to 'next' on 2022-01-10 at 8a13b4f0b3)
831 - + receive-pack.c: consolidate find header logic
832 -
833 - Code clean-up.
834 -
835 - Will merge to 'master'.
836 - source: <pull.1125.v6.git.git.1641499655700.gitgitgadget@gmail.com>
837 -
838 -
839 -* jc/name-rev-stdin (2022-01-10) 2 commits
840 - (merged to 'next' on 2022-01-19 at a58e05fabe)
841 - + name-rev.c: use strbuf_getline instead of limited size buffer
842 - + name-rev: deprecate --stdin in favor of --annotate-stdin
843 -
844 - "git name-rev --stdin" does not behave like usual "--stdin" at
845 - all. Start the process of renaming it to "--annotate-stdin".
846 -
995 Will merge to 'master'.
848 - source: <pull.1171.v7.git.git.1641425372.gitgitgadget@gmail.com>
996 + source: <pull.1109.v2.git.1641924306.gitgitgadget@gmail.com>
997
998
999 * en/remerge-diff (2022-02-02) 11 commits
852 - - diff-merges: avoid history simplifications when diffing merges
853 - - merge-ort: mark conflict/warning messages from inner merges as omittable
854 - - show, log: include conflict/warning messages in --remerge-diff headers
855 - - diff: add ability to insert additional headers for paths
856 - - merge-ort: format messages slightly different for use in headers
857 - - merge-ort: mark a few more conflict messages as omittable
858 - - merge-ort: capture and print ll-merge warnings in our preferred fashion
859 - - ll-merge: make callers responsible for showing warnings
860 - - log: clean unneeded objects during `log --remerge-diff`
861 - - show, log: provide a --remerge-diff capability
862 - - Merge branch 'ns/tmp-objdir' into en/remerge-diff
1000 + (merged to 'next' on 2022-02-08 at 68b9a8a38b)
1001 + + diff-merges: avoid history simplifications when diffing merges
1002 + + merge-ort: mark conflict/warning messages from inner merges as omittable
1003 + + show, log: include conflict/warning messages in --remerge-diff headers
1004 + + diff: add ability to insert additional headers for paths
1005 + + merge-ort: format messages slightly different for use in headers
1006 + + merge-ort: mark a few more conflict messages as omittable
1007 + + merge-ort: capture and print ll-merge warnings in our preferred fashion
1008 + + ll-merge: make callers responsible for showing warnings
1009 + + log: clean unneeded objects during `log --remerge-diff`
1010 + + show, log: provide a --remerge-diff capability
1011 + + Merge branch 'ns/tmp-objdir' into en/remerge-diff
1012 (this branch is used by en/merge-tree.)
1013
1014 "git log --remerge-diff" shows the difference from mechanical merge
1015 result and the merge result that is actually recorded.
1016
868 - Will merge to 'next'?
1017 + Will merge to 'master'.
1018 source: <pull.1103.v5.git.1643769457.gitgitgadget@gmail.com>
1019
1020
@@ -879,7 +1028,7 @@ Release tarballs are available at:
1028 source: <20211222075805.19027-1-bagasdotme@gmail.com>
1029
1030
882 -* gc/branch-recurse-submodules (2022-02-01) 7 commits
1031 +* gc/branch-recurse-submodules (2022-02-04) 7 commits
1032 - branch.c: use 'goto cleanup' in setup_tracking() to fix memory leaks
1033 - branch: add --recurse-submodules option for branch creation
1034 - builtin/branch: consolidate action-picking logic in cmd_branch()
@@ -895,100 +1044,52 @@ Release tarballs are available at:
1044
1045
1046 * hn/reftable-coverity-fixes (2022-01-20) 17 commits
898 - - reftable: add print functions to the record types
899 - - reftable: make reftable_record a tagged union
900 - - reftable: remove outdated file reftable.c
901 - - reftable: implement record equality generically
902 - - reftable: make reftable-record.h function signatures const correct
903 - - reftable: handle null refnames in reftable_ref_record_equal
904 - - reftable: drop stray printf in readwrite_test
905 - - reftable: order unittests by complexity
906 - - reftable: all xxx_free() functions accept NULL arguments
907 - - reftable: fix resource warning
908 - - reftable: ignore remove() return value in stack_test.c
909 - - reftable: check reftable_stack_auto_compact() return value
910 - - reftable: fix resource leak blocksource.c
911 - - reftable: fix resource leak in block.c error path
912 - - reftable: fix OOB stack write in print functions
913 - - Merge branch 'hn/create-reflog-simplify' into hn/reftable-coverity-fixes
914 - - Merge branch 'hn/reftable' into hn/reftable-coverity-fixes
1047 + (merged to 'next' on 2022-02-08 at 1baf327a66)
1048 + + reftable: add print functions to the record types
1049 + + reftable: make reftable_record a tagged union
1050 + + reftable: remove outdated file reftable.c
1051 + + reftable: implement record equality generically
1052 + + reftable: make reftable-record.h function signatures const correct
1053 + + reftable: handle null refnames in reftable_ref_record_equal
1054 + + reftable: drop stray printf in readwrite_test
1055 + + reftable: order unittests by complexity
1056 + + reftable: all xxx_free() functions accept NULL arguments
1057 + + reftable: fix resource warning
1058 + + reftable: ignore remove() return value in stack_test.c
1059 + + reftable: check reftable_stack_auto_compact() return value
1060 + + reftable: fix resource leak blocksource.c
1061 + + reftable: fix resource leak in block.c error path
1062 + + reftable: fix OOB stack write in print functions
1063 + + Merge branch 'hn/create-reflog-simplify' into hn/reftable-coverity-fixes
1064 + + Merge branch 'hn/reftable' into hn/reftable-coverity-fixes
1065
1066 Problems identified by Coverity in the reftable code have been
1067 corrected.
1068
919 - Will merge to 'next'.
1069 + Will merge to 'master'.
1070 source: <pull.1152.v6.git.git.1642691534.gitgitgadget@gmail.com>
1071
1072
1073 * tb/midx-bitmap-corruption-fix (2022-01-27) 9 commits
924 - - pack-bitmap.c: gracefully fallback after opening pack/MIDX
925 - - midx: read `RIDX` chunk when present
926 - - t/lib-bitmap.sh: parameterize tests over reverse index source
927 - - t5326: move tests to t/lib-bitmap.sh
928 - - t5326: extract `test_rev_exists`
929 - - t5326: drop unnecessary setup
930 - - pack-revindex.c: instrument loading on-disk reverse index
931 - - midx.c: make changing the preferred pack safe
932 - - t5326: demonstrate bitmap corruption after permutation
1074 + (merged to 'next' on 2022-02-08 at a8cc333d78)
1075 + + pack-bitmap.c: gracefully fallback after opening pack/MIDX
1076 + + midx: read `RIDX` chunk when present
1077 + + t/lib-bitmap.sh: parameterize tests over reverse index source
1078 + + t5326: move tests to t/lib-bitmap.sh
1079 + + t5326: extract `test_rev_exists`
1080 + + t5326: drop unnecessary setup
1081 + + pack-revindex.c: instrument loading on-disk reverse index
1082 + + midx.c: make changing the preferred pack safe
1083 + + t5326: demonstrate bitmap corruption after permutation
1084
1085 A bug that made multi-pack bitmap and the object order out-of-sync
1086 (hence the .midx data gets corrupted) has been fixed.
1087
937 - Will merge to 'next'.
938 - source: <cover.1643150456.git.me@ttaylorr.com>
939 -
940 -
941 -* pw/fix-some-issues-in-reset-head (2022-01-26) 14 commits
942 - - rebase -m: don't fork git checkout
943 - - rebase --apply: set ORIG_HEAD correctly
944 - - rebase --apply: fix reflog
945 - - reset_head(): take struct rebase_head_opts
946 - - rebase: cleanup reset_head() calls
947 - - create_autostash(): remove unneeded parameter
948 - - reset_head(): make default_reflog_action optional
949 - - reset_head(): factor out ref updates
950 - - reset_head(): remove action parameter
951 - - rebase --apply: don't run post-checkout hook if there is an error
952 - - rebase: do not remove untracked files on checkout
953 - - rebase: pass correct arguments to post-checkout hook
954 - - t5403: refactor rebase post-checkout hook tests
955 - - rebase: factor out checkout for up to date branch
956 -
957 - Use an internal call to reset_head() helper function instead of
958 - spawning "git checkout" in "rebase", and update code paths that are
959 - involved in the change.
960 -
961 - Will merge to 'next'?
962 - May want to rename the topic branch to "pw/use-in-process-checkout-in-rebase"
963 - or something before doing so.
964 - source: <pull.1049.v3.git.1643202349.gitgitgadget@gmail.com>
965 -
966 -
967 -* ab/cat-file (2022-01-12) 12 commits
968 - (merged to 'next' on 2022-01-12 at ee4d43041d)
969 - + cat-file: s/_/-/ in typo'd usage_msg_optf() message
970 - + cat-file: don't whitespace-pad "(...)" in SYNOPSIS and usage output
971 - (merged to 'next' on 2022-01-05 at e145efa605)
972 - + cat-file: use GET_OID_ONLY_TO_DIE in --(textconv|filters)
973 - + object-name.c: don't have GET_OID_ONLY_TO_DIE imply *_QUIETLY
974 - + cat-file: correct and improve usage information
975 - + cat-file: fix remaining usage bugs
976 - + cat-file: make --batch-all-objects a CMDMODE
977 - + cat-file: move "usage" variable to cmd_cat_file()
978 - + cat-file docs: fix SYNOPSIS and "-h" output
979 - + parse-options API: add a usage_msg_optf()
980 - + cat-file tests: test messaging on bad objects/paths
981 - + cat-file tests: test bad usage
982 -
983 - Assorted updates to "git cat-file", especially "-h".
984 -
1088 Will merge to 'master'.
986 - source: <cover-v6-00.10-00000000000-20211228T132637Z-avarab@gmail.com>
987 - source: <cover-0.2-00000000000-20220110T220553Z-avarab@gmail.com>
1089 + source: <cover.1643150456.git.me@ttaylorr.com>
1090
1091
990 -* ab/grep-patterntype (2022-01-27) 10 commits
991 - - SQUASH???
1092 +* ab/grep-patterntype (2022-02-04) 9 commits
1093 - grep: simplify config parsing and option parsing
1094 - grep.c: do "if (bool && memchr())" not "if (memchr() && bool)"
1095 - grep.h: make "grep_opt.pattern_type_option" use its enum
@@ -1004,7 +1105,11 @@ Release tarballs are available at:
1105 Looking good, except for the last step.
1106 Code-wise, it is tempted to call it a victory after squashing the
1107 fix-up in, but that does not fix the proposed log message, so...
1007 - source: <cover-v9-0.9-00000000000-20220127T115058Z-avarab@gmail.com>
1108 +
1109 + Expecting a reroll to update its tests, but otherwise looks ready.
1110 + cf. <xmqqv8xui5ah.fsf@gitster.g>
1111 + cf. <xmqqmtj6jkuk.fsf@gitster.g>
1112 + source: <cover-v10-0.9-00000000000-20220204T211534Z-avarab@gmail.com>
1113
1114
1115 * js/use-builtin-add-i (2021-12-01) 2 commits
@@ -1016,24 +1121,14 @@ Release tarballs are available at:
1121 default.
1122
1123 On hold.
1124 +
1125 + What's the status of the "known breakage"?
1126 + Are we ready to switch if we wanted to?
1127 There are known breakages on macOS.
1128 cf. <nycvar.QRO.7.76.6.2112021832060.63@tvgsbejvaqbjf.bet>
1129 source: <pull.1087.git.1638281655.gitgitgadget@gmail.com>
1130
1131
1024 -* jt/conditional-config-on-remote-url (2022-01-18) 2 commits
1025 - (merged to 'next' on 2022-01-19 at 3c2df266eb)
1026 - + config: include file if remote URL matches a glob
1027 - + config: make git_config_include() static
1028 -
1029 - The conditional inclusion mechanism of configuration files using
1030 - "[includeIf <condition>]" learns to base its decision on the
1031 - URL of the remote repository the repository interacts with.
1032 -
1033 - Will merge to 'master'.
1034 - source: <cover.1642527965.git.jonathantanmy@google.com>
1035 -
1036 -
1132 * ab/ambiguous-object-name (2022-01-27) 7 commits
1133 - object-name: re-use "struct strbuf" in show_ambiguous_object()
1134 - object-name: iterate ambiguous objects before showing header
@@ -1046,16 +1141,20 @@ Release tarballs are available at:
1141 Error output given in response to an ambiguous object name has been
1142 improved.
1143
1049 - What's the doneness of this thing?
1144 + Will merge to 'next'?
1145 source: <cover-v8-0.7-00000000000-20220127T052116Z-avarab@gmail.com>
1146
1147
1053 -* tl/ls-tree-oid-only (2022-01-13) 9 commits
1148 +* tl/ls-tree-oid-only (2022-02-08) 13 commits
1149 + - ls-tree.c: support --object-only option for "git-ls-tree"
1150 + - ls-tree: introduce function "fast_path()"
1151 - ls-tree.c: introduce "--format" option
1152 - cocci: allow padding with `strbuf_addf()`
1056 - - ls-tree.c: introduce struct "show_tree_data"
1057 - - ls-tree.c: support --object-only option for "git-ls-tree"
1058 - - ls-tree: optimize naming and handling of "return" in show_tree()
1153 + - ls-tree: introduce struct "show_tree_data"
1154 + - ls-tree: slightly refactor `show_tree()`
1155 + - ls-tree: fix "--name-only" and "--long" combined use bug
1156 + - ls-tree: simplify nesting if/else logic in "show_tree()"
1157 + - ls-tree: rename "retval" to "recurse" in "show_tree()"
1158 - ls-tree: use "size_t", not "int" for "struct strbuf"'s "len"
1159 - ls-tree: use "enum object_type", not {blob,tree,commit}_type
1160 - ls-tree: add missing braces to "else" arms
@@ -1063,35 +1162,7 @@ Release tarballs are available at:
1162
1163 "git ls-tree" learns "--oid-only" option, similar to "--name-only",
1164 and more generalized "--format" option.
1066 -
1067 - Will merge to 'next'?
1068 - source: <cover.1641978175.git.dyroneteng@gmail.com>
1069 -
1070 -
1071 -* ab/config-based-hooks-2 (2022-01-07) 17 commits
1072 - (merged to 'next' on 2022-01-19 at 594b6da22c)
1073 - + run-command: remove old run_hook_{le,ve}() hook API
1074 - + receive-pack: convert push-to-checkout hook to hook.h
1075 - + read-cache: convert post-index-change to use hook.h
1076 - + commit: convert {pre-commit,prepare-commit-msg} hook to hook.h
1077 - + git-p4: use 'git hook' to run hooks
1078 - + send-email: use 'git hook run' for 'sendemail-validate'
1079 - + git hook run: add an --ignore-missing flag
1080 - + hooks: convert worktree 'post-checkout' hook to hook library
1081 - + hooks: convert non-worktree 'post-checkout' hook to hook library
1082 - + merge: convert post-merge to use hook.h
1083 - + am: convert applypatch-msg to use hook.h
1084 - + rebase: convert pre-rebase to use hook.h
1085 - + hook API: add a run_hooks_l() wrapper
1086 - + am: convert {pre,post}-applypatch to use hook.h
1087 - + gc: use hook library for pre-auto-gc hook
1088 - + hook API: add a run_hooks() wrapper
1089 - + hook: add 'run' subcommand
1090 -
1091 - More "config-based hooks".
1092 -
1093 - Will merge to 'master'.
1094 - source: <cover-v6-00.17-00000000000-20211222T035755Z-avarab@gmail.com>
1165 + source: <cover.1644319434.git.dyroneteng@gmail.com>
1166
1167
1168 * jh/builtin-fsmonitor-part2 (2021-12-25) 31 commits
@@ -1135,8 +1206,7 @@ Release tarballs are available at:
1206 source: <pull.1041.v4.git.1634826309.gitgitgadget@gmail.com>
1207
1208
1138 -* es/superproject-aware-submodules (2021-11-18) 5 commits
1139 - - submodule: use config to find superproject worktree
1209 +* es/superproject-aware-submodules (2022-02-03) 4 commits
1210 - submodule: record superproject gitdir during 'update'
1211 - submodule: record superproject gitdir during absorbgitdirs
1212 - introduce submodule.superprojectGitDir record
@@ -1144,16 +1214,15 @@ Release tarballs are available at:
1214
1215 A configuration variable in a submodule points at the location of
1216 the superproject it is bound to (RFC).
1147 -
1148 - Expecting a reroll.
1149 - cf. <20211117234300.2598132-1-jonathantanmy@google.com>
1150 - source: <20211117005701.371808-1-emilyshaffer@google.com>
1217 + source: <20220203215914.683922-1-emilyshaffer@google.com>
1218
1219
1153 -* ab/only-single-progress-at-once (2022-01-07) 7 commits
1154 - - *.c: use isatty(0|2), not isatty(STDIN_FILENO|STDERR_FILENO)
1220 +* ab/only-single-progress-at-once (2022-02-03) 9 commits
1221 - pack-bitmap-write.c: don't return without stop_progress()
1156 - - progress.c: add temporary variable from progress struct
1222 + - progress API: unify stop_progress{,_msg}(), fix trace2 bug
1223 + - progress.c: refactor stop_progress{,_msg}() to use helpers
1224 + - progress.c: use dereferenced "progress" variable, not "(*p_progress)"
1225 + - progress.h: format and be consistent with progress.c naming
1226 - progress.c tests: test some invalid usage
1227 - progress.c tests: make start/stop commands on stdin
1228 - progress.c test helper: add missing braces
@@ -1161,5 +1230,5 @@ Release tarballs are available at:
1230
1231 Further tweaks on progress API.
1232
1164 - Getting there.
1165 - source: <cover-v8-0.7-00000000000-20211228T150728Z-avarab@gmail.com>
1233 + Will merge to 'next'?
1234 + source: <cover-v9-0.9-00000000000-20220203T213350Z-avarab@gmail.com>