v2.1.0-rc1, the first release candidate Git for v2.1, is now
available for testing at the usual places.
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.1.0-rc1'
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://code.google.com/p/git-core/
url = git://git.sourceforge.jp/gitroot/git-core/git.git
url = git://git-core.git.sourceforge.net/gitroot/git-core/git-core
url = https://github.com/gitster/git
Git v2.1 Release Notes (draft)
==
Backward compatibility notes
* The default value we give to the environment variable LESS has been
changed from FRSX to FRX, losing S (chop long lines instead
of wrapping). Existing users who prefer not to see line-wrapped
output may want to set
$ git config core.pager less -S
to restore the traditional behaviour. It is expected that people
find output from the most subcommands easier to read with the new
default, except for blame which tends to produce really long
lines. To override the new default only for git blame, you can
do this:
$ git config pager.blame less -S
* A few disused directories in contrib/ have been retired.
Updates since v2.0
--
UI, Workflows Features
* Since the very beginning of Git, we gave the LESS environment a
default value FRSX when we spawn less as the pager. S (chop
long lines instead of wrapping) has been removed from this default
set of options, because it is more or less a personal taste thing,
as opposed to others that have good justifications (i.e. R is
very much justified because many kinds of output we produce are
colored and FX is justified because output we produce is often
shorter than a page).
* The logic and data used to compute the display width needed for
UTF-8 strings have been updated to match Unicode 7.0 better.
* HTTP-based transports learned to propagate the error messages from
the webserver better to the client coming over the HTTP transport.
* The completion script for bash (in contrib/) has been updated to
handle aliases that define complex sequence of commands better.
* The core.preloadindex configuration variable is by default
enabled, allowing modern platforms to take advantage of the
multiple cores they have.
* git clone applies the if cloning from a local disk, physically
copy repository using hardlinks, unless otherwise told not to with
--no-local optimization when url.*.insteadOf mechanism rewrites a
git clone $URL that refers to a repository over the network to a
clone from a local disk.
* git commit --date=date option learned to read from more
timestamp formats, including --date=now.
* The `core.commentChar` configuration variable is used to specify a
custom comment character other than the default # to be used in
the commit log editor. This can be set to `auto` to attempt to
choose a different character that does not conflict with what
already starts a line in the message being edited for cases like
git commit --amend.
* git format-patch learned --signature-file=file to take the mail
signature from.
* git grep learned grep.fullname configuration variable to force
--full-name to be default. This may cause regressions on
scripted users that do not expect this new behaviour.
* git imap-send learned to ask the credential helper for auth
material.
* git log and friends now understand the value auto set to the
log.decorate configuration variable to enable the --decorate
option automatically when the output is sent to tty.
* git merge without argument, even when there is an upstream
defined for the current branch, refused to run until
merge.defaultToUpstream is set to true. Flip the default of that
configuration variable to true.
* git mergetool learned to drive the vimdiff3 backend.
* mergetool.prompt used to default to 'true', always asking do you
really want to run the tool on this path?. Among the two
purposes this prompt serves, ignore the use case to confirm that
the user wants to view particular path with the named tool, and
redefine the meaning of the prompt only to confirm the choice of
the tool made by the autodetection (for those who configured the
tool explicitly, the prompt shown for the latter purpose is
simply annoying).
Strictly speaking, this is a backward incompatible change and the
users need to explicitly set the variable to 'true' if they want
to resurrect the now-ignored use case.
* git replace learned the --edit subcommand to create a
replacement by editing an existing object.
* git replace learned a --graft option to rewrite parents of a
commit.
* git send-email learned --to-cover and --cc-cover