]>
Commit | Line | Data |
---|---|---|
79bcaf00 JH |
1 | Git 2.29 Release Notes |
2 | ====================== | |
3 | ||
4 | Updates since v2.28 | |
5 | ------------------- | |
6 | ||
7 | UI, Workflows & Features | |
8 | ||
9 | * "git help log" has been enhanced by sharing more material from the | |
10 | documentation for the underlying "git rev-list" command. | |
11 | ||
12 | * "git for-each-ref --format=<>" learned %(contents:size). | |
13 | ||
85b4e0a6 JH |
14 | * "git merge" learned to selectively omit " into <branch>" at the end |
15 | of the title of default merge message with merge.suppressDest | |
16 | configuration. | |
17 | ||
7814e8a0 JH |
18 | * The component to respond to "git fetch" request is made more |
19 | configurable to selectively allow or reject object filtering | |
20 | specification used for partial cloning. | |
21 | ||
2befe972 JH |
22 | * Stop when "sendmail.*" configuration variables are defined, which |
23 | could be a mistaken attempt to define "sendemail.*" variables. | |
24 | ||
25 | * The existing backends for "git mergetool" based on variants of vim | |
26 | have been refactored and then support for "nvim" has been added. | |
27 | ||
28 | * "git bisect" learns the "--first-parent" option to find the first | |
29 | breakage along the first-parent chain. | |
30 | ||
31 | * "git log --first-parent -p" showed patches only for single-parent | |
32 | commits on the first-parent chain; the "--first-parent" option has | |
33 | been made to imply "-m". Use "--no-diff-merges" to restore the | |
34 | previous behaviour to omit patches for merge commits. | |
35 | ||
675a4aaf JH |
36 | * The commit labels used to explain each side of conflicted hunks |
37 | placed by the sequencer machinery have been made more readable by | |
38 | humans. | |
39 | ||
e9b77c84 JH |
40 | * The "--batch-size" option of "git multi-pack-index repack" command |
41 | is now used to specify that very small packfiles are collected into | |
42 | one until the total size roughly exceeds it. | |
43 | ||
44 | * The recent addition of SHA-256 support is marked as experimental in | |
45 | the documentation. | |
46 | ||
47 | * "git fetch" learned --no-write-fetch-head option to avoid writing | |
48 | the FETCH_HEAD file. | |
49 | ||
20de7e7e JH |
50 | * Command line completion (in contrib/) usually omits redundant, |
51 | deprecated and/or dangerous options from its output; it learned to | |
52 | optionally include all of them. | |
53 | ||
e1971363 JH |
54 | * The output from the "diff" family of the commands had abbreviated |
55 | object names of blobs involved in the patch, but its length was not | |
56 | affected by the --abbrev option. Now it is. | |
57 | ||
54e85e7a JH |
58 | * "git worktree" gained a "repair" subcommand to help users recover |
59 | after moving the worktrees or repository manually without telling | |
60 | Git. Also, "git init --separate-git-dir" no longer corrupts | |
61 | administrative data related to linked worktrees. | |
62 | ||
63 | * The "--format=" option to the "for-each-ref" command and friends | |
64 | learned a few more tricks, e.g. the ":short" suffix that applies to | |
65 | "objectname" now also can be used for "parent", "tree", etc. | |
66 | ||
385c171a JH |
67 | * "git worktree add" learns that the "-d" is a synonym to "--detach" |
68 | option to create a new worktree without being on a branch. | |
69 | ||
e1cfff67 JH |
70 | * "format-patch --range-diff=<prev> <origin>..HEAD" has been taught |
71 | not to ignore <origin> when <prev> is a single version. | |
72 | ||
73 | * "add -p" now allows editing paths that were only added in intent. | |
74 | ||
75 | * The 'meld' backend of the "git mergetool" learned to give the | |
76 | underlying 'meld' the '--auto-merge' option, which would help | |
77 | reduce the amount of text that requires manual merging. | |
78 | ||
79 | * "git for-each-ref" and friends that list refs used to allow only | |
80 | one --merged or --no-merged to filter them; they learned to take | |
81 | combination of both kind of filtering. | |
82 | ||
9bc233ae JH |
83 | * "git maintenance", a "git gc"'s big brother, has been introduced to |
84 | take care of more repository maintenance tasks, not limited to the | |
85 | object database cleaning. | |
86 | ||
87 | * "git receive-pack" that accepts requests by "git push" learned to | |
88 | outsource most of the ref updates to the new "proc-receive" hook. | |
89 | ||
90 | * "git push" that wants to be atomic and wants to send push | |
91 | certificate learned not to prepare and sign the push certificate | |
92 | when it fails the local check (hence due to atomicity it is known | |
93 | that no certificate is needed). | |
79bcaf00 | 94 | |
306ee63a JH |
95 | * "git commit-graph write" learned to limit the number of bloom |
96 | filters that are computed from scratch with the --max-new-filters | |
97 | option. | |
98 | ||
99 | * The transport protocol v2 has become the default again. | |
100 | ||
ab4691b6 JH |
101 | * The installation procedure learned to optionally omit "git-foo" |
102 | executable files for each 'foo' built-in subcommand, which are only | |
103 | required by old timers that still rely on the age old promise that | |
104 | prepending "git --exec-path" output to PATH early in their script | |
105 | will keep the "git-foo" calls they wrote working. | |
106 | ||
107 | * The command line completion (in contrib/) learned that "git restore | |
108 | -s <TAB>" is often followed by a refname. | |
109 | ||
110 | * "git shortlog" has been taught to group commits by the contents of | |
111 | the trailer lines, like "Reviewed-by:", "Coauthored-by:", etc. | |
112 | ||
d98273ba JH |
113 | * "git archive" learns the "--add-file" option to include untracked |
114 | files into a snapshot from a tree-ish. | |
115 | ||
116 | * "git fetch" and "git push" support negative refspecs. | |
117 | ||
118 | * "git format-patch" learns to take "whenAble" as a possible value | |
119 | for the format.useAutoBase configuration variable to become no-op | |
120 | when the automatically computed base does not make sense. | |
121 | ||
122 | * Credential helpers are now allowed to terminate lines with CRLF | |
123 | line ending, as well as LF line ending. | |
124 | ||
306ee63a | 125 | |
79bcaf00 JH |
126 | Performance, Internal Implementation, Development Support etc. |
127 | ||
128 | * The changed-path Bloom filter is improved using ideas from an | |
129 | independent implementation. | |
130 | ||
131 | * Updates to the changed-paths bloom filter. | |
132 | ||
133 | * The test framework has been updated so that most tests will run | |
134 | with predictable (artificial) timestamps. | |
135 | ||
136 | * Preliminary clean-up of the refs API in preparation for adding a | |
137 | new refs backend "reftable". | |
138 | ||
139 | * Dev support to limit the use of test_must_fail to only git commands. | |
140 | ||
dc04167d JH |
141 | * While packing many objects in a repository with a promissor remote, |
142 | lazily fetching missing objects from the promissor remote one by | |
143 | one may be inefficient---the code now attempts to fetch all the | |
144 | missing objects in batch (obviously this won't work for a lazy | |
145 | clone that lazily fetches tree objects as you cannot even enumerate | |
146 | what blobs are missing until you learn which trees are missing). | |
147 | ||
148 | * The pretend-object mechanism checks if the given object already | |
149 | exists in the object store before deciding to keep the data | |
150 | in-core, but the check would have triggered lazy fetching of such | |
151 | an object from a promissor remote. | |
152 | ||
4f0a8be7 JH |
153 | * The argv_array API is useful for not just managing argv but any |
154 | "vector" (NULL-terminated array) of strings, and has seen adoption | |
155 | to a certain degree. It has been renamed to "strvec" to reduce the | |
156 | barrier to adoption. | |
157 | ||
675a4aaf | 158 | * The final leg of SHA-256 transition plus doc updates. Note that |
d4a39245 | 159 | there is no interoperability between SHA-1 and SHA-256 |
675a4aaf | 160 | repositories yet. |
7814e8a0 JH |
161 | |
162 | * CMake support to build with MSVC for Windows bypassing the Makefile. | |
163 | ||
878e7276 JH |
164 | * A new helper function has_object() has been introduced to make it |
165 | easier to mark object existence checks that do and don't want to | |
166 | trigger lazy fetches, and a few such checks are converted using it. | |
167 | ||
2befe972 JH |
168 | * A no-op replacement function implemented as a C preprocessor macro |
169 | does not perform as good a job as one implemented as a "static | |
170 | inline" function in catching errors in parameters; replace the | |
171 | former with the latter in <git-compat-util.h> header. | |
172 | ||
173 | * Test framework update. | |
174 | (merge d572f52a64 es/test-cmp-typocatcher later to maint). | |
175 | ||
675a4aaf JH |
176 | * Updates to "git merge" tests, in preparation for a new merge |
177 | strategy backend. | |
178 | ||
179 | * midx and commit-graph files now use the byte defined in their file | |
180 | format specification for identifying the hash function used for | |
181 | object names. | |
182 | ||
20de7e7e JH |
183 | * The FETCH_HEAD is now always read from the filesystem regardless of |
184 | the ref backend in use, as its format is much richer than the | |
185 | normal refs, and written directly by "git fetch" as a plain file.. | |
186 | ||
abcb66c6 AR |
187 | * An unused binary has been discarded, and a bunch of commands |
188 | have been turned into built-in. | |
3a238e53 JH |
189 | |
190 | * A handful of places in in-tree code still relied on being able to | |
191 | execute the git subcommands, especially built-ins, in "git-foo" | |
192 | form, which have been corrected. | |
193 | ||
54e85e7a JH |
194 | * When a packfile is removed by "git repack", multi-pack-index gets |
195 | cleared; the code was taught to do so less aggressively by first | |
196 | checking if the midx actually refers to a pack that no longer | |
197 | exists. | |
198 | ||
199 | * Internal API clean-up to handle two options "diff-index" and "log" | |
200 | have, which happen to share the same short form, more sensibly. | |
201 | ||
385c171a JH |
202 | * The "add -i/-p" machinery has been written in C but it is not used |
203 | by default yet. It is made default to those who are participating | |
204 | in feature.experimental experiment. | |
205 | ||
206 | * Allow maintainers to tweak $(TAR) invocations done while making | |
207 | distribution tarballs. | |
208 | ||
e1cfff67 JH |
209 | * "git index-pack" learned to resolve deltified objects with greater |
210 | parallelism. | |
211 | ||
9bc233ae JH |
212 | * "diff-highlight" (in contrib/) had a logic to flush its output upon |
213 | seeing a blank line but the way it detected a blank line was broken. | |
214 | ||
d4a39245 JH |
215 | * The logic to skip testing on the tagged commit and the tag itself |
216 | was not quite consistent which led to failure of Windows test | |
217 | tasks. It has been revamped to consistently skip revisions that | |
218 | have already been tested, based on the tree object of the revision. | |
219 | ||
79bcaf00 JH |
220 | |
221 | Fixes since v2.28 | |
222 | ----------------- | |
223 | ||
d4a39245 JH |
224 | * The "mediawiki" remote backend which lives in contrib/mw-to-git/ |
225 | and is not built with git by default, had an RCE bug allowing a | |
226 | malicious MediaWiki server operator to inject arbitrary commands | |
227 | for execution by a cloning client. This has been fixed. | |
228 | ||
229 | The bug was discovered and reported by Joern Schneeweisz of GitLab | |
230 | to the git-security mailing list. Its practical impact due to the | |
231 | obscurity of git-remote-mediawiki was deemed small enough to forgo | |
232 | a dedicated security release. | |
233 | ||
79bcaf00 JH |
234 | * "git clone --separate-git-dir=$elsewhere" used to stomp on the |
235 | contents of the existing directory $elsewhere, which has been | |
236 | taught to fail when $elsewhere is not an empty directory. | |
237 | (merge dfaa209a79 bw/fail-cloning-into-non-empty later to maint). | |
238 | ||
79bcaf00 JH |
239 | * With the base fix to 2.27 regresion, any new extensions in a v0 |
240 | repository would still be silently honored, which is not quite | |
241 | right. Instead, complain and die loudly. | |
242 | (merge ec91ffca04 jk/reject-newer-extensions-in-v0 later to maint). | |
243 | ||
244 | * Fetching from a lazily cloned repository resulted at the server | |
245 | side in attempts to lazy fetch objects that the client side has, | |
246 | many of which will not be available from the third-party anyway. | |
247 | (merge 77aa0941ce jt/avoid-lazy-fetching-upon-have-check later to maint). | |
248 | ||
249 | * Fix to an ancient bug caused by an over-eager attempt for | |
250 | optimization. | |
251 | (merge a98f7fb366 rs/add-index-entry-optim-fix later to maint). | |
252 | ||
253 | * Pushing a ref whose name contains non-ASCII character with the | |
254 | "--force-with-lease" option did not work over smart HTTP protocol, | |
255 | which has been corrected. | |
256 | (merge cd85b447bf bc/push-cas-cquoted-refname later to maint). | |
257 | ||
258 | * "git mv src dst", when src is an unmerged path, errored out | |
259 | correctly but with an incorrect error message to claim that src is | |
260 | not tracked, which has been clarified. | |
261 | (merge 9b906af657 ct/mv-unmerged-path-error later to maint). | |
262 | ||
263 | * Fix to a regression introduced during 2.27 cycle. | |
264 | (merge cada7308ad en/fill-directory-exponential later to maint). | |
265 | ||
dc04167d JH |
266 | * Command line completion (in contrib/) update. |
267 | (merge 688b87c81b mp/complete-show-color-moved later to maint). | |
268 | ||
4f0a8be7 JH |
269 | * All "mergy" operations that internally use the merge-recursive |
270 | machinery should honor the merge.renormalize configuration, but | |
271 | many of them didn't. | |
272 | ||
7814e8a0 JH |
273 | * Doc cleanup around "worktree". |
274 | (merge dc9c144be5 es/worktree-doc-cleanups later to maint). | |
275 | ||
878e7276 JH |
276 | * The "git blame --first-parent" option was not documented, but now |
277 | it is. | |
278 | (merge 11bc12ae1e rp/blame-first-parent-doc later to maint). | |
279 | ||
2befe972 JH |
280 | * The logic to find the ref transaction hook script attempted to |
281 | cache the path to the found hook without realizing that it needed | |
282 | to keep a copied value, as the API it used returned a transitory | |
283 | buffer space. This has been corrected. | |
284 | (merge 09b2aa30c9 ps/ref-transaction-hook later to maint). | |
285 | ||
286 | * Recent versions of "git diff-files" shows a diff between the index | |
287 | and the working tree for "intent-to-add" paths as a "new file" | |
288 | patch; "git apply --cached" should be able to take "git diff-files" | |
289 | and should act as an equivalent to "git add" for the path, but the | |
290 | command failed to do so for such a path. | |
291 | (merge 4c025c667e rp/apply-cached-with-i-t-a later to maint). | |
292 | ||
675a4aaf JH |
293 | * "git diff [<tree-ish>] $path" for a $path that is marked with i-t-a |
294 | bit was not showing the mode bits from the working tree. | |
295 | (merge cb0dd22b82 rp/ita-diff-modefix later to maint). | |
296 | ||
297 | * Ring buffer with size 4 used for bin-hex translation resulted in a | |
298 | wrong object name in the sequencer's todo output, which has been | |
299 | corrected. | |
300 | (merge 5da69c0dac ak/sequencer-fix-find-uniq-abbrev later to maint). | |
301 | ||
302 | * When given more than one target line ranges, "git blame -La,b | |
303 | -Lc,d" was over-eager to coalesce groups of original lines and | |
304 | showed incorrect results, which has been corrected. | |
305 | (merge c2ebaa27d6 jk/blame-coalesce-fix later to maint). | |
306 | ||
307 | * The regexp to identify the function boundary for FORTRAN programs | |
308 | has been updated. | |
309 | (merge 75c3b6b2e8 pb/userdiff-fortran-update later to maint). | |
310 | ||
311 | * A few end-user facing messages have been updated to be | |
312 | hash-algorithm agnostic. | |
313 | (merge 4279000d3e jc/object-names-are-not-sha-1 later to maint). | |
314 | ||
315 | * "unlink" emulation on MinGW has been optimized. | |
316 | (merge 680e0b4524 jh/mingw-unlink later to maint). | |
317 | ||
e9b77c84 JH |
318 | * The purpose of "git init --separate-git-dir" is to initialize a |
319 | new project with the repository separate from the working tree, | |
320 | or, in the case of an existing project, to move the repository | |
321 | (the .git/ directory) out of the working tree. It does not make | |
322 | sense to use --separate-git-dir with a bare repository for which | |
323 | there is no working tree, so disallow its use with bare | |
324 | repositories. | |
325 | (merge ccf236a23a es/init-no-separate-git-dir-in-bare later to maint). | |
326 | ||
327 | * "ls-files -o" mishandled the top-level directory of another git | |
328 | working tree that hangs in the current git working tree. | |
329 | (merge ab282aa548 en/dir-nonbare-embedded later to maint). | |
330 | ||
331 | * Fix some incorrect UNLEAK() annotations. | |
332 | (merge 3e19816dc0 jk/unleak-fixes later to maint). | |
333 | ||
334 | * Use more buffered I/O where we used to call many small write(2)s. | |
335 | (merge a698d67b08 rs/more-buffered-io later to maint). | |
336 | ||
337 | * The patch-id computation did not ignore the "incomplete last line" | |
338 | marker like whitespaces. | |
339 | (merge 82a62015a7 rs/patch-id-with-incomplete-line later to maint). | |
340 | ||
e1971363 JH |
341 | * Updates into a lazy/partial clone with a submodule did not work |
342 | well with transfer.fsckobjects set. | |
343 | ||
344 | * The parser for "git for-each-ref --format=..." was too loose when | |
345 | parsing the "%(trailers...)" atom, and forgot that "trailers" and | |
346 | "trailers:<modifiers>" are the only two allowed forms, which has | |
347 | been corrected. | |
348 | (merge 2c22e102f8 hv/ref-filter-trailers-atom-parsing-fix later to maint). | |
349 | ||
350 | * Long ago, we decided to use 3 threads by default when running the | |
351 | index-pack task in parallel, which has been adjusted a bit upwards. | |
352 | (merge fbff95b67f jk/index-pack-w-more-threads later to maint). | |
353 | ||
354 | * "git restore/checkout --no-overlay" with wildcarded pathspec | |
355 | mistakenly removed matching paths in subdirectories, which has been | |
356 | corrected. | |
357 | (merge bfda204ade rs/checkout-no-overlay-pathspec-fix later to maint). | |
358 | ||
359 | * The description of --cached/--index options in "git apply --help" | |
360 | has been updated. | |
361 | (merge d064702be3 rp/apply-cached-doc later to maint). | |
362 | ||
363 | * Feeding "$ZERO_OID" to "git log --ignore-missing --stdin", and | |
364 | running "git log --ignore-missing $ZERO_OID" fell back to start | |
365 | digging from HEAD; it has been corrected to become a no-op, like | |
366 | "git log --tags=no-tag-matches-this-pattern" does. | |
367 | (merge 04a0e98515 jk/rev-input-given-fix later to maint). | |
368 | ||
d4a39245 | 369 | * Various callers of run_command API have been modernized. |
e1971363 JH |
370 | (merge afbdba391e jc/run-command-use-embedded-args later to maint). |
371 | ||
3a238e53 JH |
372 | * List of options offered and accepted by "git add -i/-p" were |
373 | inconsistent, which have been corrected. | |
374 | (merge ce910287e7 pw/add-p-allowed-options-fix later to maint). | |
375 | ||
3a238e53 JH |
376 | * "git diff --stat -w" showed 0-line changes for paths whose changes |
377 | were only whitespaces, which was not intuitive. We now omit such | |
378 | paths from the stat output. | |
379 | (merge 1cf3d5db9b mr/diff-hide-stat-wo-textual-change later to maint). | |
380 | ||
381 | * It was possible for xrealloc() to send a non-NULL pointer that has | |
382 | been freed, which has been fixed. | |
383 | (merge 6479ea4a8a jk/xrealloc-avoid-use-after-free later to maint). | |
384 | ||
54e85e7a | 385 | * "git status" has trouble showing where it came from by interpreting |
385c171a | 386 | reflog entries that record certain events, e.g. "checkout @{u}", and |
54e85e7a JH |
387 | gives a hard/fatal error. Even though it inherently is impossible |
388 | to give a correct answer because the reflog entries lose some | |
389 | information (e.g. "@{u}" does not record what branch the user was | |
390 | on hence which branch 'the upstream' needs to be computed, and even | |
391 | if the record were available, the relationship between branches may | |
d4a39245 | 392 | have changed), at least hide the error and allow "status" to show its |
54e85e7a JH |
393 | output. |
394 | ||
385c171a JH |
395 | * "git status --short" quoted a path with SP in it when tracked, but |
396 | not those that are untracked, ignored or unmerged. They are all | |
397 | shown quoted consistently. | |
398 | ||
399 | * "git diff/show" on a change that involves a submodule used to read | |
400 | the information on commits in the submodule from a wrong repository | |
401 | and gave a wrong information when the commit-graph is involved. | |
402 | (merge 85a1ec2c32 mf/submodule-summary-with-correct-repository later to maint). | |
403 | ||
404 | * Unlike "git config --local", "git config --worktree" did not fail | |
405 | early and cleanly when started outside a git repository. | |
406 | (merge 378fe5fc3d mt/config-fail-nongit-early later to maint). | |
407 | ||
e1cfff67 | 408 | * There is a logic to estimate how many objects are in the |
d4a39245 | 409 | repository, which is meant to run once per process invocation, but |
e1cfff67 JH |
410 | it ran every time the estimated value was requested. |
411 | (merge 67bb65de5d jk/dont-count-existing-objects-twice later to maint). | |
412 | ||
413 | * "git remote set-head" that failed still said something that hints | |
414 | the operation went through, which was misleading. | |
415 | (merge 5a07c6c3c2 cs/don-t-pretend-a-failed-remote-set-head-succeeded later to maint). | |
416 | ||
417 | * "git fetch --all --ipv4/--ipv6" forgot to pass the protocol options | |
418 | to instances of the "git fetch" that talk to individual remotes, | |
419 | which has been corrected. | |
420 | (merge 4e735c1326 ar/fetch-ipversion-in-all later to maint). | |
421 | ||
d4a39245 JH |
422 | * The "unshelve" subcommand of "git p4" incorrectly used commit^N |
423 | where it meant to say commit~N to name the Nth generation | |
9bc233ae JH |
424 | ancestor, which has been corrected. |
425 | (merge 0acbf5997f ld/p4-unshelve-fix later to maint). | |
426 | ||
306ee63a JH |
427 | * "git clone" that clones from SHA-1 repository, while |
428 | GIT_DEFAULT_HASH set to use SHA-256 already, resulted in an | |
429 | unusable repository that half-claims to be SHA-256 repository | |
430 | with SHA-1 objects and refs. This has been corrected. | |
431 | ||
432 | * Adjust sample hooks for hash algorithm other than SHA-1. | |
433 | (merge d8d3d632f4 dl/zero-oid-in-hooks later to maint). | |
434 | ||
435 | * "git range-diff" showed incorrect diffstat, which has been | |
436 | corrected. | |
437 | ||
438 | * Earlier we taught "git pull" to warn when the user does not say the | |
439 | histories need to be merged, rebased or accepts only fast- | |
440 | forwarding, but the warning triggered for those who have set the | |
441 | pull.ff configuration variable. | |
442 | (merge 54200cef86 ah/pull later to maint). | |
443 | ||
ab4691b6 JH |
444 | * Compilation fix around type punning. |
445 | (merge 176380fd11 jk/drop-unaligned-loads later to maint). | |
446 | ||
447 | * "git blame --ignore-rev/--ignore-revs-file" failed to validate | |
448 | their input are valid revision, and failed to take into account | |
449 | that the user may want to give an annotated tag instead of a | |
450 | commit, which has been corrected. | |
451 | (merge 610e2b9240 jc/blame-ignore-fix later to maint). | |
452 | ||
453 | * "git bisect start X Y", when X and Y are not valid committish | |
454 | object names, should take X and Y as pathspec, but didn't. | |
455 | (merge 73c6de06af cc/bisect-start-fix later to maint). | |
456 | ||
457 | * The explanation of the "scissors line" has been clarified. | |
458 | (merge 287416dba6 eg/mailinfo-doc-scissors later to maint). | |
459 | ||
460 | * A race that leads to an access to a free'd data was corrected in | |
461 | the codepath that reads pack files. | |
462 | (merge bda959c476 mt/delta-base-cache-races later to maint). | |
463 | ||
d98273ba JH |
464 | * in_merge_bases_many(), a way to see if a commit is reachable from |
465 | any commit in a set of commits, was totally broken when the | |
466 | commit-graph feature was in use, which has been corrected. | |
467 | (merge 8791bf1841 ds/in-merge-bases-many-optim-bug later to maint). | |
468 | ||
469 | * "git submodule update --quiet" did not squelch underlying "rebase" | |
470 | and "pull" commands. | |
471 | (merge 3ad0401e9e td/submodule-update-quiet later to maint). | |
472 | ||
473 | * The lazy fetching done internally to make missing objects available | |
474 | in a partial clone incorrectly made permanent damage to the partial | |
475 | clone filter in the repository, which has been corrected. | |
476 | ||
477 | * "log -c --find-object=X" did not work well to find a merge that | |
478 | involves a change to an object X from only one parent. | |
479 | (merge 957876f17d jk/diff-cc-oidfind-fix later to maint). | |
480 | ||
79bcaf00 | 481 | * Other code cleanup, docfix, build fix, etc. |
e8ab941b JH |
482 | (merge 84544f2ea3 sk/typofixes later to maint). |
483 | (merge b17f411ab5 ar/help-guides-doc later to maint). | |
484 | (merge 98c6871fad rs/grep-simpler-parse-object-or-die-call later to maint). | |
485 | (merge 861c4ce141 en/typofixes later to maint). | |
486 | (merge 60e47f6773 sg/ci-git-path-fix-with-pyenv later to maint). | |
487 | (merge e2bfa50ac3 jb/doc-packfile-name later to maint). | |
4f0a8be7 JH |
488 | (merge 918d8ff780 es/worktree-cleanup later to maint). |
489 | (merge dc156bc31f ma/t1450-quotefix later to maint). | |
490 | (merge 56e743426b en/merge-recursive-comment-fixes later to maint). | |
491 | (merge 7d23ff818f rs/bisect-oid-to-hex-fix later to maint). | |
492 | (merge de20baf2c9 ny/notes-doc-sample-update later to maint). | |
493 | (merge f649aaaf82 so/rev-parser-errormessage-fix later to maint). | |
878e7276 | 494 | (merge 6103d58b7f bc/sha-256-cvs-svn-updates later to maint). |
2befe972 | 495 | (merge ac900fddb7 ma/stop-progress-null-fix later to maint). |
675a4aaf JH |
496 | (merge e767963ab6 rs/upload-pack-sigchain-fix later to maint). |
497 | (merge a831908599 rs/preserve-merges-unused-code-removal later to maint). | |
498 | (merge 6dfefe70a9 jb/commit-graph-doc-fix later to maint). | |
499 | (merge 847b37271e pb/set-url-docfix later to maint). | |
e9b77c84 JH |
500 | (merge 748f733d54 mt/checkout-entry-dead-code-removal later to maint). |
501 | (merge ce820cbd58 dl/subtree-docs later to maint). | |
20de7e7e | 502 | (merge 55fe225dde jk/leakfix later to maint). |
3a238e53 JH |
503 | (merge ee22a29215 so/pretty-abbrev-doc later to maint). |
504 | (merge 3100fd5588 jc/post-checkout-doc later to maint). | |
505 | (merge 17bae89476 pb/doc-external-diff-env later to maint). | |
54e85e7a | 506 | (merge 27ed6ccc12 jk/worktree-check-clean-leakfix later to maint). |
385c171a JH |
507 | (merge 1302badd16 ea/blame-use-oideq later to maint). |
508 | (merge e6d5a11fed al/t3200-back-on-a-branch later to maint). | |
509 | (merge 324efcf6b6 pw/add-p-leakfix later to maint). | |
510 | (merge 1c6ffb546b jk/add-i-fixes later to maint). | |
e1cfff67 | 511 | (merge e40e936551 cd/commit-graph-doc later to maint). |
ab4691b6 | 512 | (merge 0512eabd91 jc/sequencer-stopped-sha-simplify later to maint). |
d98273ba JH |
513 | (merge d01141de5a so/combine-diff-simplify later to maint). |
514 | (merge 3be01e5ab1 sn/fast-import-doc later to maint). |