You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
109 lines
4.3 KiB
109 lines
4.3 KiB
6 years ago
|
Git v2.19.2 Release Notes
|
||
|
=========================
|
||
|
|
||
|
Fixes since v2.19.1
|
||
|
-------------------
|
||
|
|
||
|
* "git interpret-trailers" and its underlying machinery had a buggy
|
||
|
code that attempted to ignore patch text after commit log message,
|
||
|
which triggered in various codepaths that will always get the log
|
||
|
message alone and never get such an input.
|
||
|
|
||
|
* "git rebase -i" did not clear the state files correctly when a run
|
||
|
of "squash/fixup" is aborted and then the user manually amended the
|
||
|
commit instead, which has been corrected.
|
||
|
|
||
|
* When fsmonitor is in use, after operation on submodules updates
|
||
|
.gitmodules, we lost track of the fact that we did so and relied on
|
||
|
stale fsmonitor data.
|
||
|
|
||
|
* Fix for a long-standing bug that leaves the index file corrupt when
|
||
|
it shrinks during a partial commit.
|
||
|
|
||
|
* Further fix for O_APPEND emulation on Windows
|
||
|
|
||
|
* A corner case bugfix in "git rerere" code.
|
||
|
|
||
|
* "git add ':(attr:foo)'" is not supported and is supposed to be
|
||
|
rejected while the command line arguments are parsed, but we fail
|
||
|
to reject such a command line upfront.
|
||
|
|
||
|
* "git rebase" etc. in Git 2.19 fails to abort when given an empty
|
||
|
commit log message as result of editing, which has been corrected.
|
||
|
|
||
|
* The code to backfill objects in lazily cloned repository did not
|
||
|
work correctly, which has been corrected.
|
||
|
|
||
|
* Update error messages given by "git remote" and make them consistent.
|
||
|
|
||
|
* "git update-ref" learned to make both "--no-deref" and "--stdin"
|
||
|
work at the same time.
|
||
|
|
||
|
* Recently added "range-diff" had a corner-case bug to cause it
|
||
|
segfault, which has been corrected.
|
||
|
|
||
|
* The recently introduced commit-graph auxiliary data is incompatible
|
||
|
with mechanisms such as replace & grafts that "breaks" immutable
|
||
|
nature of the object reference relationship. Disable optimizations
|
||
|
based on its use (and updating existing commit-graph) when these
|
||
|
incompatible features are in use in the repository.
|
||
|
|
||
|
* The mailmap file update.
|
||
|
|
||
|
* The code in "git status" sometimes hit an assertion failure. This
|
||
|
was caused by a structure that was reused without cleaning the data
|
||
|
used for the first run, which has been corrected.
|
||
|
|
||
|
* A corner-case bugfix.
|
||
|
|
||
|
* A partial clone that is configured to lazily fetch missing objects
|
||
|
will on-demand issue a "git fetch" request to the originating
|
||
|
repository to fill not-yet-obtained objects. The request has been
|
||
|
optimized for requesting a tree object (and not the leaf blob
|
||
|
objects contained in it) by telling the originating repository that
|
||
|
no blobs are needed.
|
||
|
|
||
|
* The codepath to support the experimental split-index mode had
|
||
|
remaining "racily clean" issues fixed.
|
||
|
|
||
|
* "git log --graph" showing an octopus merge sometimes miscounted the
|
||
|
number of display columns it is consuming to show the merge and its
|
||
|
parent commits, which has been corrected.
|
||
|
|
||
|
* The implementation of run_command() API on the UNIX platforms had a
|
||
|
bug that caused a command not on $PATH to be found in the current
|
||
|
directory.
|
||
|
|
||
|
* A mutex used in "git pack-objects" were not correctly initialized
|
||
|
and this caused "git repack" to dump core on Windows.
|
||
|
|
||
|
* Under certain circumstances, "git diff D:/a/b/c D:/a/b/d" on
|
||
|
Windows would strip initial parts from the paths because they
|
||
|
were not recognized as absolute, which has been corrected.
|
||
|
|
||
|
* The receive.denyCurrentBranch=updateInstead codepath kicked in even
|
||
|
when the push should have been rejected due to other reasons, such
|
||
|
as it does not fast-forward or the update-hook rejects it, which
|
||
|
has been corrected.
|
||
|
|
||
|
* "git repack" in a shallow clone did not correctly update the
|
||
|
shallow points in the repository, leading to a repository that
|
||
|
does not pass fsck.
|
||
|
|
||
|
* Operations on promisor objects make sense in the context of only a
|
||
|
small subset of the commands that internally use the revisions
|
||
|
machinery, but the "--exclude-promisor-objects" option were taken
|
||
|
and led to nonsense results by commands like "log", to which it
|
||
|
didn't make much sense. This has been corrected.
|
||
|
|
||
|
* The "container" mode of TravisCI is going away. Our .travis.yml
|
||
|
file is getting prepared for the transition.
|
||
|
|
||
|
* Our test scripts can now take the '-V' option as a synonym for the
|
||
|
'--verbose-log' option.
|
||
|
|
||
|
* A regression in Git 2.12 era made "git fsck" fall into an infinite
|
||
|
loop while processing truncated loose objects.
|
||
|
|
||
|
Also contains various documentation updates and code clean-ups.
|