An early preview release Git v2.17.0-rc0 is now available for
testing at the usual places. It is comprised of 474 non-merge
commits since v2.16.0, contributed by 60 people, 18 of which are
new faces.
The tarballs are found at:
https://www.kernel.org/pub/software/scm/git/testing/
The following public repositories all have a copy of the
'v2.17.0-rc0' 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.16.0 are as follows.
Welcome to the Git development community!
Adam Borowski, Alban Gruin, Andreas G. Schacker, Bernhard
M. Wiedemann, Christian Ludwig, Gargi Sharma, Genki Sky,
Gregory Herrero, Jon Simons, Juan F. Codagnone, Kim Gybels,
Lucas Werkmeister, Mathias Rav, Motoki Seki, Stefan Moch,
Stephen R Guglielmo, Tatyana Krasnukha, and Thomas Levesque.
Returning contributors who helped this release are as follows.
Thanks for your continued support.
Ævar Arnfjörð Bjarmason, Alexander Shopov, Alex Bennée,
Ben Peart, Brandon Williams, brian m. carlson, Christian
Couder, Daniel Knittl-Frank, Derrick Stolee, Elijah Newren,
Eric Sunshine, Eric Wong, Jason Merrill, Jeff Hostetler, Jeff
King, Johannes Schindelin, Jonathan Nieder, Jonathan Tan, Junio
C Hamano, Kaartic Sivaraam, Mårten Kongstad, Martin Ågren,
Matthieu Moy, Michael Haggerty, Nathan Payre, Nguyễn Thái
Ngọc Duy, Nicolas Morey-Chaisemartin, Olga Telezhnaya, Patryk
Obara, Phillip Wood, Prathamesh Chavan, Ramsay Jones, Randall
S. Becker, Rasmus Villemoes, René Scharfe, Robert P. J. Day,
Stefan Beller, SZEDER Gábor, Thomas Gummerer, Todd Zullinger,
Torsten Bögershausen, and Yasushi SHOJI.
Git 2.17 Release Notes (draft)
==
Updates since v2.16
---
UI, Workflows & Features
* "diff" family of commands learned "--find-object=" option
to limit the findings to changes that involve the named object.
* "git format-patch" learned to give 72-cols to diffstat, which is
consistent with other line length limits the subcommand uses for
its output meant for e-mails.
* The log from "git daemon" can be redirected with a new option; one
relevant use case is to send the log to standard error (instead of
syslog) when running it from inetd.
* "git rebase" learned to take "--allow-empty-message" option.
* "git am" has learned the "--quit" option, in addition to the
existing "--abort" option; having the pair mirrors a few other
commands like "rebase" and "cherry-pick".
* "git worktree add" learned to run the post-checkout hook, just like
"git clone" runs it upon the initial checkout.
* "git tag" learned an explicit "--edit" option that allows the
message given via "-m" and "-F" to be further edited.
* "git fetch --prune-tags" may be used as a handy short-hand for
getting rid of stale tags that are locally held.
* The new "--show-current-patch" option gives an end-user facing way
to get the diff being applied when "git rebase" (and "git am")
stops with a conflict.
* "git add -p" used to offer "/" (look for a matching hunk) as a
choice, even there was only one hunk, which has been corrected.
Also the single-key help is now given only for keys that are
enabled (e.g. help for '/' won't be shown when there is only one
hunk).
* Since Git 1.7.9, "git merge" defaulted to --no-ff (i.e. even when
the side branch being merged is a descendant of the current commit,
create a merge commit instead of fast-forwarding) when merging a
tag object. This was appropriate default for integrators who pull
signed tags from their downstream contributors, but caused an
unnecessary merges when used by downstream contributors who
habitually "catch up" their topic branches with tagged releases
from the upstream. Update "git merge" to default to --no-ff only
when merging a tag object that does *not* sit at its usual place in
refs/tags/ hierarchy, and allow fast-forwarding otherwise, to
mitigate the problem.
* "git status" can spend a lot of cycles to compute the relation
between the current branch and its upstream, which can now be
disabled with "--no-ahead-behind" option.
* "git diff" and friends learned funcname patterns for Go language
source files.
* "git send-email" learned "--reply-to=" option.
* Funcname pattern used for C# now recognizes "async" keyword.
Performance, Internal Implementation, Development Support etc.
* More perf tests for threaded grep
* "perf" test output can be sent to codespeed server.
* The build procedure for perl/ part has been greatly simplified by
weaning ourselves off of MakeMaker.
* In preparation for implementing narrow/partial clone, the machinery
for checking object connectivity used by gc and fsck has been