A release candidate Git v2.17.0-rc2 is now available for testing
at the usual places. It is comprised of 499 non-merge commits
since v2.16.0, contributed by 62 people, 19 of which are new faces.
I am hoping that we can have the final version tagged at the end of
coming weekend, before I fly out to Tokyo. I expect to be offline
most of the next week after the final is tagged.
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-rc2' 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, Michele Locati, 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, David Pursehouse, 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.
* In a way similar to how "git tag" learned to honor the pager
setting only in the list mode, "git config" learned to ignore the
pager setting when it is used for setting values