The latest feature release Git v2.22.0 is now available at the
usual places. It is comprised of 745 non-merge commits since
v2.21.0, contributed by 74 people, 18 of which are new faces.
The tarballs are found at:
https://www.kernel.org/pub/software/scm/git/
The following public repositories all have a copy of the 'v2.22.0'
tag and the 'master' branch that the tag points at:
url = https://kernel.googlesource.com/pub/scm/git/git
url = git://repo.or.cz/alt-git.git
url = https://github.com/gitster/git
New contributors whose contributions weren't in v2.21.0 are as follows.
Welcome to the Git development community!
Alexander Blesius, Baruch Siach, Boxuan Li, Cédric Malard,
Chris Mayo, Chris. Webster, Clément Chigot, Corentin BOMPARD,
Damien Robert, Dustin Spicuzza, Emily Shaffer, Michal Suchanek,
Rohit Ashiwal, Sun Chao, Tanushree Tumane, Vadim Kochan,
William Hubbs, and Yash Bhatambare.
Returning contributors who helped this release are as follows.
Thanks for your continued support.
Ævar Arnfjörð Bjarmason, Alban Gruin, Alessandro Menti,
Alexander Shopov, Anders Waldenborg, Andreas Heiduk, Andrei
Rybak, Beat Bolli, Ben Peart, Brandon Richardson, brian
m. carlson, Carlo Marcelo Arenas Belón, Christian Couder,
Christopher Díaz Riveros, Daniels Umanovskis, David Aguilar,
David Kastrup, Denton Liu, Derrick Stolee, Elijah Newren, Eric
Sunshine, Eric Wong, Fangyi Zhou, İsmail Dönmez, Jean-Noël
Avila, Jeff Hostetler, Jeff King, Jiang Xin, Joel Teichroeb,
Joey Hess, Johannes Schindelin, Jonathan Tan, Jordi Mas, Josh
Steadmon, Junio C Hamano, Kyle Meyer, Martin Ågren, Matthew
Kraai, Matthias Rüster, Mike Hommey, Nguyễn Thái Ngọc
Duy, Paul-Sebastian Ungureanu, Peter Krefting, Philip Oakley,
Phillip Wood, Ralf Thielow, Ramsay Jones, René Scharfe, Robert
P. J. Day, Sven Strickroth, SZEDER Gábor, Taylor Blau, Thomas
Gummerer, Todd Zullinger, Torsten Bögershausen, and Trần
Ngọc Quân.
Git 2.22 Release Notes
==
Updates since v2.21
---
Backward compatibility note
* The filter specification "--filter=sparse:path=" used to
create a lazy/partial clone has been removed. Using a blob that is
part of the project as sparse specification is still supported with
the "--filter=sparse:oid=" option.
UI, Workflows & Features
* "git checkout --no-overlay" can be used to trigger a new mode of
checking out paths out of the tree-ish, that allows paths that
match the pathspec that are in the current index and working tree
and are not in the tree-ish.
* The %(trailers) formatter in "git log --format=..." now allows to
optionally pick trailers selectively by keyword, show only values,
etc.
* Four new configuration variables {author,committer}.{name,email}
have been introduced to override user.{name,email} in more specific
cases.
* Command-line completion (in contrib/) learned to tab-complete the
"git submodule absorbgitdirs" subcommand.
* "git branch" learned a new subcommand "--show-current".
* Output from "diff --cc" did not show the original paths when the
merge involved renames. A new option adds the paths in the
original trees to the output.
* The command line completion (in contrib/) has been taught to
complete more subcommand parameters.
* The final report from "git bisect" used to show the suspected
culprit using a raw "diff-tree", with which there is no output for
a merge commit. This has been updated to use a more modern and
human readable output that still is concise enough.
* "git rebase --rebase-merges" replaces its old "--preserve-merges"
option; the latter is now marked as deprecated.
* Error message given while cloning with --recurse-submodules has
been updated.
* The completion helper code now pays attention to repository-local
configuration (when available), which allows --list-cmds to honour
a repository specific setting of completion.commands, for example.
* "git mergetool" learned to offer Sublime Merge (smerge) as one of
its backends.
* A new hook "post-index-change" is called when the on-disk index
file changes, which can help e.g. a virtualized working tree
implementation.
* "git difftool" can now run outside a repository.
* "git checkout -m " was about carrying the differences
between HEAD and the working-tree files forward while checking out
another branch, and ignored the differences between HEAD and the
index. The command has been taught to abort when the index and the
HEAD are different.
* A progress indicator has been added to the "index-pack" step, which
often makes users wait for completion during "git clone".
* "git submodule" learns "set-branch" subcommand that allows the
submodule.*.branch settings to be modified.
* "git merge-recursive" backend recently learned a new heuristics to
infer file movement based on how