|
|
|
Git v2.10.2 Release Notes
|
|
|
|
=========================
|
|
|
|
|
|
|
|
Fixes since v2.10.1
|
|
|
|
-------------------
|
|
|
|
|
|
|
|
* The code that parses the format parameter of for-each-ref command
|
|
|
|
has seen a micro-optimization.
|
|
|
|
|
|
|
|
* The "graph" API used in "git log --graph" miscounted the number of
|
|
|
|
output columns consumed so far when drawing a padding line, which
|
|
|
|
has been fixed; this did not affect any existing code as nobody
|
|
|
|
tried to write anything after the padding on such a line, though.
|
|
|
|
|
|
|
|
* Almost everybody uses DEFAULT_ABBREV to refer to the default
|
|
|
|
setting for the abbreviation, but "git blame" peeked into
|
|
|
|
underlying variable bypassing the macro for no good reason.
|
|
|
|
|
|
|
|
* Doc update to clarify what "log -3 --reverse" does.
|
|
|
|
|
|
|
|
* An author name, that spelled a backslash-quoted double quote in the
|
|
|
|
human readable part "My \"double quoted\" name", was not unquoted
|
|
|
|
correctly while applying a patch from a piece of e-mail.
|
|
|
|
|
|
|
|
* The original command line syntax for "git merge", which was "git
|
|
|
|
merge <msg> HEAD <parent>...", has been deprecated for quite some
|
|
|
|
time, and "git gui" was the last in-tree user of the syntax. This
|
|
|
|
is finally fixed, so that we can move forward with the deprecation.
|
|
|
|
|
|
|
|
* Codepaths that read from an on-disk loose object were too loose in
|
|
|
|
validating what they are reading is a proper object file and
|
|
|
|
sometimes read past the data they read from the disk, which has
|
|
|
|
been corrected. H/t to Gustavo Grieco for reporting.
|
|
|
|
|
|
|
|
* "git worktree", even though it used the default_abbrev setting that
|
|
|
|
ought to be affected by core.abbrev configuration variable, ignored
|
|
|
|
the variable setting. The command has been taught to read the
|
|
|
|
default set of configuration variables to correct this.
|
|
|
|
|
|
|
|
* A low-level function verify_packfile() was meant to show errors
|
|
|
|
that were detected without dying itself, but under some conditions
|
|
|
|
it didn't and died instead, which has been fixed.
|
|
|
|
|
|
|
|
* When "git fetch" tries to find where the history of the repository
|
|
|
|
it runs in has diverged from what the other side has, it has a
|
|
|
|
mechanism to avoid digging too deep into irrelevant side branches.
|
|
|
|
This however did not work well over the "smart-http" transport due
|
|
|
|
to a design bug, which has been fixed.
|
|
|
|
|
|
|
|
* When we started cURL to talk to imap server when a new enough
|
|
|
|
version of cURL library is available, we forgot to explicitly add
|
|
|
|
imap(s):// before the destination. To some folks, that didn't work
|
|
|
|
and the library tried to make HTTP(s) requests instead.
|
|
|
|
|
|
|
|
* The ./configure script generated from configure.ac was taught how
|
|
|
|
to detect support of SSL by libcurl better.
|
|
|
|
|
|
|
|
* http.emptyauth configuration is a way to allow an empty username to
|
|
|
|
pass when attempting to authenticate using mechanisms like
|
|
|
|
Kerberos. We took an unspecified (NULL) username and sent ":"
|
|
|
|
(i.e. no username, no password) to CURLOPT_USERPWD, but did not do
|
|
|
|
the same when the username is explicitly set to an empty string.
|
|
|
|
|
|
|
|
* "git clone" of a local repository can be done at the filesystem
|
|
|
|
level, but the codepath did not check errors while copying and
|
|
|
|
adjusting the file that lists alternate object stores.
|
|
|
|
|
|
|
|
* Documentation for "git commit" was updated to clarify that "commit
|
|
|
|
-p <paths>" adds to the current contents of the index to come up
|
|
|
|
with what to commit.
|
|
|
|
|
|
|
|
* A stray symbolic link in $GIT_DIR/refs/ directory could make name
|
|
|
|
resolution loop forever, which has been corrected.
|
|
|
|
|
|
|
|
* The "submodule.<name>.path" stored in .gitmodules is never copied
|
|
|
|
to .git/config and such a key in .git/config has no meaning, but
|
|
|
|
the documentation described it and submodule.<name>.url next to
|
|
|
|
each other as if both belong to .git/config. This has been fixed.
|
|
|
|
|
|
|
|
* Recent git allows submodule.<name>.branch to use a special token
|
|
|
|
"." instead of the branch name; the documentation has been updated
|
|
|
|
to describe it.
|
|
|
|
|
|
|
|
* In a worktree connected to a repository elsewhere, created via "git
|
|
|
|
worktree", "git checkout" attempts to protect users from confusion
|
|
|
|
by refusing to check out a branch that is already checked out in
|
|
|
|
another worktree. However, this also prevented checking out a
|
|
|
|
branch, which is designated as the primary branch of a bare
|
|
|
|
repository, in a worktree that is connected to the bare
|
|
|
|
repository. The check has been corrected to allow it.
|
|
|
|
|
|
|
|
* "git rebase" immediately after "git clone" failed to find the fork
|
|
|
|
point from the upstream.
|
|
|
|
|
|
|
|
* When fetching from a remote that has many tags that are irrelevant
|
|
|
|
to branches we are following, we used to waste way too many cycles
|
|
|
|
when checking if the object pointed at by a tag (that we are not
|
|
|
|
going to fetch!) exists in our repository too carefully.
|
|
|
|
|
|
|
|
* The Travis CI configuration we ship ran the tests with --verbose
|
|
|
|
option but this risks non-TAP output that happens to be "ok" to be
|
|
|
|
misinterpreted as TAP signalling a test that passed. This resulted
|
|
|
|
in unnecessary failure. This has been corrected by introducing a
|
|
|
|
new mode to run our tests in the test harness to send the verbose
|
|
|
|
output separately to the log file.
|
|
|
|
|
|
|
|
* Some AsciiDoc formatter mishandles a displayed illustration with
|
|
|
|
tabs in it. Adjust a few of them in merge-base documentation to
|
|
|
|
work around them.
|
|
|
|
|
|
|
|
Also contains minor documentation updates and code clean-ups.
|