]> git.ipfire.org Git - thirdparty/git.git/blame - Documentation/RelNotes/2.20.0.txt
Tenth batch for 2.20
[thirdparty/git.git] / Documentation / RelNotes / 2.20.0.txt
CommitLineData
2efbb7f5
JH
1Git Release Notes
2=================
3
4Backward Compatibility Notes
5----------------------------
6
7 * "git branch -l <foo>" used to be a way to ask a reflog to be
8 created while creating a new branch, but that is no longer the
9 case. It is a short-hand for "git branch --list <foo>" now.
10
11 * "git push" into refs/tags/* hierarchy is rejected without getting
12 forced, but "git fetch" (misguidedly) used the "fast forwarding"
13 rule used for the refs/heads/* hierarchy; this has been corrected,
14 which means some fetches of tags that did not fail with older
15 version of Git will fail without "--force" with this version.
16
c4df23f7
JH
17 * "git help -a" now gives verbose output (same as "git help -av").
18 Those who want the old output may say "git help --no-verbose -a"..
19
c670b1f8
JH
20 * "git cpn --help", when "cpn" is an alias to, say, "cherry-pick -n",
21 reported only the alias expansion of "cpn" in earlier versions of
22 Git. It now runs "git cherry-pick --help" to show the manual page
23 of the command, while sending the alias expansion to the standard
24 error stream.
25
4ede3d42
JH
26 * "git send-email" learned to grab address-looking string on any
27 trailer whose name ends with "-by". This is a backward-incompatible
28 change. Adding "--suppress-cc=misc-by" on the command line, or
29 setting sendemail.suppresscc configuration variable to "misc-by",
30 can be used to disable this behaviour.
31
2efbb7f5
JH
32
33Updates since v2.19
34-------------------
35
36UI, Workflows & Features
37
38 * Running "git clone" against a project that contain two files with
39 pathnames that differ only in cases on a case insensitive
40 filesystem would result in one of the files lost because the
41 underlying filesystem is incapable of holding both at the same
42 time. An attempt is made to detect such a case and warn.
43
44 * "git checkout -b newbranch [HEAD]" should not have to do as much as
45 checking out a commit different from HEAD. An attempt is made to
46 optimize this special case.
47
48 * "git rev-list --stdin </dev/null" used to be an error; it now shows
49 no output without an error. "git rev-list --stdin --default HEAD"
50 still falls back to the given default when nothing is given on the
51 standard input.
52
53 * Lift code from GitHub to restrict delta computation so that an
54 object that exists in one fork is not made into a delta against
55 another object that does not appear in the same forked repository.
56
57 * "git format-patch" learned new "--interdiff" and "--range-diff"
58 options to explain the difference between this version and the
8858448b 59 previous attempt in the cover letter (or after the three-dashes as
2efbb7f5
JH
60 a comment).
61
62 * "git mailinfo" used in "git am" learned to make a best-effort
63 recovery of a patch corrupted by MUA that sends text/plain with
64 format=flawed option.
65 (merge 3aa4d81f88 rs/mailinfo-format-flowed later to maint).
66
67 * The rules used by "git push" and "git fetch" to determine if a ref
68 can or cannot be updated were inconsistent; specifically, fetching
69 to update existing tags were allowed even though tags are supposed
70 to be unmoving anchoring points. "git fetch" was taught to forbid
71 updates to existing tags without the "--force" option.
72
5a0cc8ac
JH
73 * "git multi-pack-index" learned to detect corruption in the .midx
74 file it uses, and this feature has been integrated into "git fsck".
75
a4b8ab53
JH
76 * Generation of (experimental) commit-graph files have so far been
77 fairly silent, even though it takes noticeable amount of time in a
78 meaningfully large repository. The users will now see progress
79 output.
80
8858448b 81 * The minimum version of Windows supported by Windows port of Git is
a4b8ab53
JH
82 now set to Vista.
83
84 * The completion script (in contrib/) learned to complete a handful of
85 options "git stash list" command takes.
86
c4df23f7
JH
87 * The completion script (in contrib/) learned that "git fetch
88 --multiple" only takes remote names as arguments and no refspecs.
89
90 * "git status" learns to show progress bar when refreshing the index
91 takes a long time.
92 (merge ae9af12287 nd/status-refresh-progress later to maint).
93
94 * "git help -a" and "git help -av" give different pieces of
95 information, and generally the "verbose" version is more friendly
96 to the new users. "git help -a" by default now uses the more
97 verbose output (with "--no-verbose", you can go back to the
98 original). Also "git help -av" now lists aliases and external
99 commands, which it did not used to.
100
101 * Unlike "grep", "git grep" by default recurses to the whole tree.
102 The command learned "git grep --recursive" option, so that "git
103 grep --no-recursive" can serve as a synonym to setting the
104 max-depth to 0.
105
106 * When pushing into a repository that borrows its objects from an
107 alternate object store, "git receive-pack" that responds to the
108 push request on the other side lists the tips of refs in the
109 alternate to reduce the amount of objects transferred. This
110 sometimes is detrimental when the number of refs in the alternate
111 is absurdly large, in which case the bandwidth saved in potentially
112 fewer objects transferred is wasted in excessively large ref
113 advertisement. The alternate refs that are advertised are now
114 configurable with a pair of configuration variables.
115
c670b1f8
JH
116 * "git cmd --help" when "cmd" is aliased used to only say "cmd is
117 aliased to ...". Now it shows that to the standard error stream
118 and runs "git $cmd --help" where $cmd is the first word of the
119 alias expansion.
120
121 * The documentation of "git gc" has been updated to mention that it
122 is no longer limited to "pruning away crufts" but also updates
123 ancillary files like commit-graph as a part of repository
124 optimization.
125
126 * "git p4 unshelve" improvements.
127
128 * The logic to select the default user name and e-mail on Windows has
129 been improved.
130 (merge 501afcb8b0 js/mingw-default-ident later to maint).
131
4ede3d42
JH
132 * The "rev-list --filter" feature learned to exclude all trees via
133 "tree:0" filter.
134
135 * "git send-email" learned to grab address-looking string on any
136 trailer whose name ends with "-by"; --suppress-cc=misc-by on the
137 command line, or setting sendemail.suppresscc configuration
138 variable to "misc-by", can be used to disable this behaviour.
139
140 * Developer builds now uses -Wunused-function compilation option.
141
142 * One of our CI tests to run with "unusual/experimental/random"
143 settings now also uses commit-graph and midx.
144
145 * "git mergetool" learned to take the "--[no-]gui" option, just like
146 "git difftool" does.
147
d582ea20
JH
148 * "git rebase -i" learned a new insn, 'break', that the user can
149 insert in the to-do list. Upon hitting it, the command returns
150 control back to the user.
151
8858448b
JH
152 * New "--pretty=format:" placeholders %GF and %GP that show the GPG
153 key fingerprints have been invented.
154
155 * On platforms with recent cURL library, http.sslBackend configuration
156 variable can be used to choose a different SSL backend at runtime.
157 The Windows port uses this mechanism to switch between OpenSSL and
158 Secure Channel while talking over the HTTPS protocol.
159
160 * "git send-email" learned to disable SMTP authentication via the
161 "--smtp-auth=none" option, even when the smtp username is given
162 (which turns the authentication on by default).
163
d166e6af
JH
164 * A fourth class of configuration files (in addition to the
165 traditional "system wide", "per user in the $HOME directory" and
166 "per repository in the $GIT_DIR/config") has been introduced so
167 that different worktrees that share the same repository (hence the
168 same $GIT_DIR/config file) can use different customization.
169
170 * A pattern with '**' that does not have a slash on either side used
171 to be an invalid one, but the code now treats such double-asterisks
172 the same way as two normal asterisks that happen to be adjacent to
173 each other.
174 (merge e5bbe09e88 nd/wildmatch-double-asterisk later to maint).
175
2efbb7f5
JH
176
177Performance, Internal Implementation, Development Support etc.
178
179 * When there are too many packfiles in a repository (which is not
180 recommended), looking up an object in these would require
181 consulting many pack .idx files; a new mechanism to have a single
182 file that consolidates all of these .idx files is introduced.
183
184 * "git submodule update" is getting rewritten piece-by-piece into C.
185
186 * The code for computing history reachability has been shuffled,
187 obtained a bunch of new tests to cover them, and then being
188 improved.
189
190 * The unpack_trees() API used in checking out a branch and merging
191 walks one or more trees along with the index. When the cache-tree
192 in the index tells us that we are walking a tree whose flattened
193 contents is known (i.e. matches a span in the index), as linearly
194 scanning a span in the index is much more efficient than having to
195 open tree objects recursively and listing their entries, the walk
196 can be optimized, which has been done.
197
198 * When creating a thin pack, which allows objects to be made into a
199 delta against another object that is not in the resulting pack but
200 is known to be present on the receiving end, the code learned to
201 take advantage of the reachability bitmap; this allows the server
202 to send a delta against a base beyond the "boundary" commit.
203
204 * spatch transformation to replace boolean uses of !hashcmp() to
205 newly introduced oideq() is added, and applied, to regain
206 performance lost due to support of multiple hash algorithms.
207
208 * Fix a bug in which the same path could be registered under multiple
209 worktree entries if the path was missing (for instance, was removed
210 manually). Also, as a convenience, expand the number of cases in
211 which --force is applicable.
212
5a0cc8ac
JH
213 * Split Documentation/config.txt for easier maintenance.
214 (merge 6014363f0b nd/config-split later to maint).
215
216 * Test helper binaries clean-up.
217 (merge c9a1f4161f nd/test-tool later to maint).
218
219 * Various tests have been updated to make it easier to swap the
220 hash function used for object identification.
221 (merge ae0c89d41b bc/hash-independent-tests later to maint).
222
223 * Update fsck.skipList implementation and documentation.
224 (merge 371a655074 ab/fsck-skiplist later to maint).
225
a4b8ab53
JH
226 * An alias that expands to another alias has so far been forbidden,
227 but now it is allowed to create such an alias.
228
229 * Various test scripts have been updated for style and also correct
230 handling of exit status of various commands.
231
232 * "gc --auto" ended up calling exit(-1) upon error, which has been
233 corrected to use exit(1). Also the error reporting behaviour when
234 daemonized has been updated to exit with zero status when stopping
235 due to a previously discovered error (which implies there is no
236 point running gc to improve the situation); we used to exit with
237 failure in such a case.
238
c4df23f7
JH
239 * Various codepaths in the core-ish part learned to work on an
240 arbitrary in-core index structure, not necessarily the default
241 instance "the_index".
242 (merge b3c7eef9b0 nd/the-index later to maint).
243
244 * Code clean-up in the internal machinery used by "git status" and
245 "git commit --dry-run".
246 (merge 73ba5d78b4 ss/wt-status-committable later to maint).
247
248 * Some environment variables that control the runtime options of Git
249 used during tests are getting renamed for consistency.
250 (merge 4231d1ba99 bp/rename-test-env-var later to maint).
251
252 * A new extension to the index file has been introduced, which allows
253 the index file to be read in parallel for performance.
254
255 * The oidset API was built on top of the oidmap API which in turn is
256 on the hashmap API. Replace the implementation to build on top of
257 the khash API and gain performance.
258
259 * Over some transports, fetching objects with an exact commit object
260 name can be done without first seeing the ref advertisements. The
261 code has been optimized to exploit this.
262
263 * In a partial clone that will lazily be hydrated from the
264 originating repository, we generally want to avoid "does this
265 object exist (locally)?" on objects that we deliberately omitted
266 when we created the clone. The cache-tree codepath (which is used
267 to write a tree object out of the index) however insisted that the
268 object exists, even for paths that are outside of the partial
269 checkout area. The code has been updated to avoid such a check.
270
c670b1f8
JH
271 * To help developers, an EditorConfig file that attempts to follow
272 the project convention has been added.
273 (merge b548d698a0 bc/editorconfig later to maint).
274
275 * The result of coverage test can be combined with "git blame" to
276 check the test coverage of code introduced recently with a new
277 'coverage-diff' tool (in contrib/).
278 (merge 783faedd65 ds/coverage-diff later to maint).
279
280 * An experiment to fuzz test a few areas, hopefully we can gain more
281 coverage to various areas.
282
4ede3d42
JH
283 * More codepaths are moving away from hardcoded hash sizes.
284
285 * The way the Windows port figures out the current directory has been
286 improved.
287
288 * The way DLLs are loaded on the Windows port has been improved.
289
290 * Some tests have been reorganized and renamed; "ls t/" now gives a
291 better overview of what is tested for these scripts than before.
292
d582ea20
JH
293 * "git rebase" and "git rebase -i" have been reimplemented in C.
294
8858448b
JH
295 * Windows port learned to use nano-second resolution file timestamps.
296
d166e6af
JH
297 * The overly large Documentation/config.txt file have been split into
298 million little pieces. This potentially allows each individual piece
299 included into the manual page of the command it affects more easily.
300
301 * Replace three string-list instances used as look-up tables in "git
302 fetch" with hashmaps.
303
304 * Unify code to read the author-script used in "git am" and the
305 commands that use the sequencer machinery, e.g. "git rebase -i".
306
307 * In preparation to the day when we can deprecate and remove the
308 "rebase -p", make sure we can skip and later remove tests for
309 it.
310
311 * The history traversal used to implement the tag-following has been
312 optimized by introducing a new helper.
313
314 * The helper function to refresh the cached stat information in the
315 in-core index has learned to perform the lstat() part of the
316 operation in parallel on multi-core platforms.
317
318 * The code to traverse objects for reachability, used to decide what
319 objects are unreferenced and expendable, have been taught to also
320 consider per-worktree refs of other worktrees as starting points to
321 prevent data loss.
322
323 * "git add" needs to internally run "diff-files" equivalent, and the
324 codepath learned the same optimization as "diff-files" has to run
325 lstat(2) in parallel to find which paths have been updated in the
326 working tree.
327
328 * The procedure to install dependencies before testing at Travis CI
329 is getting revamped for both simplicity and flexibility, taking
330 advantage of the recent move to the vm-based environment.
331
332 * The support for format-patch (and send-email) by the command-line
333 completion script (in contrib/) has been simplified a bit.
334
2efbb7f5
JH
335
336Fixes since v2.19
337-----------------
338
339 * "git interpret-trailers" and its underlying machinery had a buggy
340 code that attempted to ignore patch text after commit log message,
341 which triggered in various codepaths that will always get the log
342 message alone and never get such an input.
343 (merge 66e83d9b41 jk/trailer-fixes later to maint).
344
345 * Malformed or crafted data in packstream can make our code attempt
346 to read or write past the allocated buffer and abort, instead of
347 reporting an error, which has been fixed.
348
349 * "git rebase -i" did not clear the state files correctly when a run
350 of "squash/fixup" is aborted and then the user manually amended the
351 commit instead, which has been corrected.
352 (merge 10d2f35436 js/rebase-i-autosquash-fix later to maint).
353
354 * When fsmonitor is in use, after operation on submodules updates
355 .gitmodules, we lost track of the fact that we did so and relied on
356 stale fsmonitor data.
357 (merge 43f1180814 bp/mv-submodules-with-fsmonitor later to maint).
358
359 * Fix for a long-standing bug that leaves the index file corrupt when
360 it shrinks during a partial commit.
361 (merge 6c003d6ffb jk/reopen-tempfile-truncate later to maint).
362
363 * Further fix for O_APPEND emulation on Windows
364 (merge eeaf7ddac7 js/mingw-o-append later to maint).
365
366 * A corner case bugfix in "git rerere" code.
367 (merge ad2bf0d9b4 en/rerere-multi-stage-1-fix later to maint).
368
369 * "git add ':(attr:foo)'" is not supported and is supposed to be
370 rejected while the command line arguments are parsed, but we fail
371 to reject such a command line upfront.
372 (merge 84d938b732 nd/attr-pathspec-fix later to maint).
373
374 * Recent update broke the reachability algorithm when refs (e.g.
375 tags) that point at objects that are not commit were involved,
376 which has been fixed.
377
378 * "git rebase" etc. in Git 2.19 fails to abort when given an empty
379 commit log message as result of editing, which has been corrected.
380 (merge a3ec9eaf38 en/sequencer-empty-edit-result-aborts later to maint).
381
382 * The code to backfill objects in lazily cloned repository did not
383 work correctly, which has been corrected.
384 (merge e68302011c jt/lazy-object-fetch-fix later to maint).
385
386 * Update error messages given by "git remote" and make them consistent.
387 (merge 5025425dff ms/remote-error-message-update later to maint).
388
389 * "git update-ref" learned to make both "--no-deref" and "--stdin"
390 work at the same time.
391 (merge d345e9fbe7 en/update-ref-no-deref-stdin later to maint).
392
393 * Recently added "range-diff" had a corner-case bug to cause it
394 segfault, which has been corrected.
395 (merge e467a90c7a tg/range-diff-corner-case-fix later to maint).
396
a4b8ab53
JH
397 * The recently introduced commit-graph auxiliary data is incompatible
398 with mechanisms such as replace & grafts that "breaks" immutable
399 nature of the object reference relationship. Disable optimizations
400 based on its use (and updating existing commit-graph) when these
401 incompatible features are in use in the repository.
402 (merge 829a321569 ds/commit-graph-with-grafts later to maint).
403
404 * The mailmap file update.
405 (merge 255eb03edf jn/mailmap-update later to maint).
406
407 * The code in "git status" sometimes hit an assertion failure. This
408 was caused by a structure that was reused without cleaning the data
409 used for the first run, which has been corrected.
410 (merge 3e73cc62c0 en/status-multiple-renames-to-the-same-target-fix later to maint).
411
c4df23f7
JH
412 * "git fetch $repo $object" in a partial clone did not correctly
413 fetch the asked-for object that is referenced by an object in
414 promisor packfile, which has been fixed.
415
416 * A corner-case bugfix.
417 (merge c5cbb27cb5 sm/show-superproject-while-conflicted later to maint).
418
419 * Various fixes to "diff --color-moved-ws".
420
421 * A partial clone that is configured to lazily fetch missing objects
422 will on-demand issue a "git fetch" request to the originating
423 repository to fill not-yet-obtained objects. The request has been
424 optimized for requesting a tree object (and not the leaf blob
425 objects contained in it) by telling the originating repository that
426 no blobs are needed.
427 (merge 4c7f9567ea jt/non-blob-lazy-fetch later to maint).
428
c670b1f8
JH
429 * The codepath to support the experimental split-index mode had
430 remaining "racily clean" issues fixed.
431 (merge 4c490f3d32 sg/split-index-racefix later to maint).
432
433 * "git log --graph" showing an octopus merge sometimes miscounted the
434 number of display columns it is consuming to show the merge and its
435 parent commits, which has been corrected.
436 (merge 04005834ed np/log-graph-octopus-fix later to maint).
437
4ede3d42
JH
438 * "git range-diff" did not work well when the compared ranges had
439 changes in submodules and the "--submodule=log" was used.
440
441 * The implementation of run_command() API on the UNIX platforms had a
442 bug that caused a command not on $PATH to be found in the current
443 directory.
444 (merge f67b980771 jk/run-command-notdot later to maint).
445
446 * A mutex used in "git pack-objects" were not correctly initialized
447 and this caused "git repack" to dump core on Windows.
448 (merge 34204c8166 js/pack-objects-mutex-init-fix later to maint).
449
450 * Under certain circumstances, "git diff D:/a/b/c D:/a/b/d" on
451 Windows would strip initial parts from the paths because they
452 were not recognized as absolute, which has been corrected.
453 (merge ffd04e92e2 js/diff-notice-has-drive-prefix later to maint).
454
455 * The receive.denyCurrentBranch=updateInstead codepath kicked in even
456 when the push should have been rejected due to other reasons, such
457 as it does not fast-forward or the update-hook rejects it, which
458 has been corrected.
459 (merge b072a25fad jc/receive-deny-current-branch-fix later to maint).
460
8858448b
JH
461 * The logic to determine the archive type "git archive" uses did not
462 correctly kick in for "git archive --remote", which has been
463 corrected.
464
465 * "git repack" in a shallow clone did not correctly update the
466 shallow points in the repository, leading to a repository that
467 does not pass fsck.
468 (merge 5dcfbf564c js/shallow-and-fetch-prune later to maint).
469
470 * Some codepaths failed to form a proper URL when .gitmodules record
471 the URL to a submodule repository as relative to the repository of
472 superproject, which has been corrected.
473 (merge e0a862fdaf sb/submodule-url-to-absolute later to maint).
474
475 * "git fetch" over protocol v2 into a shallow repository failed to
476 fetch full history behind a new tip of history that was diverged
477 before the cut-off point of the history that was previously fetched
478 shallowly.
479
480 * The command line completion machinery (in contrib/) has been
481 updated to allow the completion script to tweak the list of options
482 that are reported by the parse-options machinery correctly.
483 (merge 276b49ff34 nd/completion-negation later to maint).
484
485 * Operations on promisor objects make sense in the context of only a
486 small subset of the commands that internally use the revisions
487 machinery, but the "--exclude-promisor-objects" option were taken
488 and led to nonsense results by commands like "log", to which it
489 didn't make much sense. This has been corrected.
490 (merge 669b1d2aae md/exclude-promisor-objects-fix later to maint).
491
492 * The "container" mode of TravisCI is going away. Our .travis.yml
493 file is getting prepared for the transition.
494 (merge 32ee384be8 ss/travis-ci-force-vm-mode later to maint).
495
496 * Our test scripts can now take the '-V' option as a synonym for the
497 '--verbose-log' option.
498 (merge a5f52c6dab sg/test-verbose-log later to maint).
499
d166e6af
JH
500 * A regression in Git 2.12 era made "git fsck" fall into an infinite
501 loop while processing truncated loose objects.
502 (merge 18ad13e5b2 jk/detect-truncated-zlib-input later to maint).
503
504 * "git ls-remote $there foo" was broken by recent update for the
505 protocol v2 and stopped showing refs that match 'foo' that are not
506 refs/{heads,tags}/foo, which has been fixed.
507 (merge 6a139cdd74 jk/proto-v2-ref-prefix-fix later to maint).
508
509 * Additional comment on a tricky piece of code to help developers.
510 (merge 0afbe3e806 jk/stream-pack-non-delta-clarification later to maint).
511
512 * A couple of tests used to leave the repository in a state that is
513 deliberately corrupt, which have been corrected.
514 (merge aa984dbe5e ab/pack-tests-cleanup later to maint).
515
516 * The submodule support has been updated to read from the blob at
517 HEAD:.gitmodules when the .gitmodules file is missing from the
518 working tree.
519 (merge 2b1257e463 ao/submodule-wo-gitmodules-checked-out later to maint).
520
521 * "git fetch" was a bit loose in parsing responses from the other side
522 when talking over the protocol v2.
523
524 * "git rev-parse --exclude=* --branches --branches" (i.e. first
525 saying "add only things that do not match '*' out of all branches"
526 and then adding all branches, without any exclusion this time")
527 worked as expected, but "--exclude=* --all --all" did not work the
528 same way, which has been fixed.
529 (merge 5221048092 ag/rev-parse-all-exclude-fix later to maint).
530
531 * "git send-email --transfer-encoding=..." in recent versions of Git
532 sometimes produced an empty "Content-Transfer-Encoding:" header,
533 which has been corrected.
534 (merge 3c88e46f1a al/send-email-auto-cte-fixup later to maint).
535
536 * The interface into "xdiff" library used to discover the offset and
537 size of a generated patch hunk by first formatting it into the
538 textual hunk header "@@ -n,m +k,l @@" and then parsing the numbers
539 out. A new interface has been introduced to allow callers a more
540 direct access to them.
541 (merge 5eade0746e jk/xdiff-interface later to maint).
542
543 * Pathspec matching against a tree object were buggy when negative
544 pathspec elements were involved, which has been fixed.
545 (merge b7845cebc0 nd/tree-walk-path-exclusion later to maint).
546
2efbb7f5
JH
547 * Code cleanup, docfix, build fix, etc.
548 (merge 96a7501aad ts/doc-build-manpage-xsl-quietly later to maint).
549 (merge b9b07efdb2 tg/conflict-marker-size later to maint).
550 (merge fa0aeea770 sg/doc-trace-appends later to maint).
551 (merge d64324cb60 tb/void-check-attr later to maint).
552 (merge c3b9bc94b9 en/double-semicolon-fix later to maint).
553 (merge 79336116f5 sg/t3701-tighten-trace later to maint).
554 (merge 801fa63a90 jk/dev-build-format-security later to maint).
555 (merge 0597dd62ba sb/string-list-remove-unused later to maint).
556 (merge db2d36fad8 bw/protocol-v2 later to maint).
557 (merge 456d7cd3a9 sg/split-index-test later to maint).
a4b8ab53
JH
558 (merge 7b6057c852 tq/refs-internal-comment-fix later to maint).
559 (merge 29e8dc50ad tg/t5551-with-curl-7.61.1 later to maint).
560 (merge 55f6bce2c9 fe/doc-updates later to maint).
561 (merge 7987d2232d jk/check-everything-connected-is-long-gone later to maint).
562 (merge 4ba3c9be47 dz/credential-doc-url-matching-rules later to maint).
563 (merge 4c399442f7 ma/commit-graph-docs later to maint).
564 (merge fc0503b04e ma/t1400-undebug-test later to maint).
565 (merge e56b53553a nd/packobjectshook-doc-fix later to maint).
566 (merge c56170a0c4 ma/mailing-list-address-in-git-help later to maint).
567 (merge 6e8fc70fce rs/sequencer-oidset-insert-avoids-dups later to maint).
568 (merge ad0b8f9575 mw/doc-typofixes later to maint).
c4df23f7 569 (merge d9f079ad1a jc/how-to-document-api later to maint).
c670b1f8
JH
570 (merge b1492bf315 ma/t7005-bash-workaround later to maint).
571 (merge ac1f98a0df du/rev-parse-is-plumbing later to maint).
572 (merge ca8ed443a5 mm/doc-no-dashed-git later to maint).
573 (merge ce366a8144 du/get-tar-commit-id-is-plumbing later to maint).
574 (merge 61018fe9e0 du/cherry-is-plumbing later to maint).
4ede3d42
JH
575 (merge c7e5fe79b9 sb/strbuf-h-update later to maint).
576 (merge 8d2008196b tq/branch-create-wo-branch-get later to maint).
577 (merge 2e3c894f4b tq/branch-style-fix later to maint).
578 (merge c5d844af9c sg/doc-show-branch-typofix later to maint).
579 (merge 081d91618b ah/doc-updates later to maint).
580 (merge b84c783882 jc/cocci-preincr later to maint).
581 (merge 5e495f8122 uk/merge-subtree-doc-update later to maint).
582 (merge aaaa881822 jk/uploadpack-packobjectshook-fix later to maint).
8858448b
JH
583 (merge 3063477445 tb/char-may-be-unsigned later to maint).
584 (merge 8c64bc9420 sg/test-rebase-editor-fix later to maint).
d166e6af 585 (merge 71571cd7d6 ma/sequencer-do-reset-saner-loop-termination later to maint).