78 lines
3.2 KiB
Text
78 lines
3.2 KiB
Text
|
Git v1.8.4.2 Release Notes
|
||
|
==========================
|
||
|
|
||
|
Fixes since v1.8.4.1
|
||
|
--------------------
|
||
|
|
||
|
* "git clone" gave some progress messages to the standard output, not
|
||
|
to the standard error, and did not allow suppressing them with the
|
||
|
"--no-progress" option.
|
||
|
|
||
|
* "format-patch --from=<whom>" forgot to omit unnecessary in-body
|
||
|
from line, i.e. when <whom> is the same as the real author.
|
||
|
|
||
|
* "git shortlog" used to choke and die when there is a malformed
|
||
|
commit (e.g. missing authors); it now simply ignore such a commit
|
||
|
and keeps going.
|
||
|
|
||
|
* "git merge-recursive" did not parse its "--diff-algorithm=" command
|
||
|
line option correctly.
|
||
|
|
||
|
* "git branch --track" had a minor regression in v1.8.3.2 and later
|
||
|
that made it impossible to base your local work on anything but a
|
||
|
local branch of the upstream repository you are tracking from.
|
||
|
|
||
|
* "git ls-files -k" needs to crawl only the part of the working tree
|
||
|
that may overlap the paths in the index to find killed files, but
|
||
|
shared code with the logic to find all the untracked files, which
|
||
|
made it unnecessarily inefficient.
|
||
|
|
||
|
* When there is no sufficient overlap between old and new history
|
||
|
during a "git fetch" into a shallow repository, objects that the
|
||
|
sending side knows the receiving end has were unnecessarily sent.
|
||
|
|
||
|
* When running "fetch -q", a long silence while the sender side
|
||
|
computes the set of objects to send can be mistaken by proxies as
|
||
|
dropped connection. The server side has been taught to send a
|
||
|
small empty messages to keep the connection alive.
|
||
|
|
||
|
* When the webserver responds with "405 Method Not Allowed", "git
|
||
|
http-backend" should tell the client what methods are allowed with
|
||
|
the "Allow" header.
|
||
|
|
||
|
* "git cvsserver" computed the permission mode bits incorrectly for
|
||
|
executable files.
|
||
|
|
||
|
* The implementation of "add -i" has a crippling code to work around
|
||
|
ActiveState Perl limitation but it by mistake also triggered on Git
|
||
|
for Windows where MSYS perl is used.
|
||
|
|
||
|
* We made sure that we notice the user-supplied GIT_DIR is actually a
|
||
|
gitfile, but did not do the same when the default ".git" is a
|
||
|
gitfile.
|
||
|
|
||
|
* When an object is not found after checking the packfiles and then
|
||
|
loose object directory, read_sha1_file() re-checks the packfiles to
|
||
|
prevent racing with a concurrent repacker; teach the same logic to
|
||
|
has_sha1_file().
|
||
|
|
||
|
* "git commit --author=$name", when $name is not in the canonical
|
||
|
"A. U. Thor <au.thor@example.xz>" format, looks for a matching name
|
||
|
from existing history, but did not consult mailmap to grab the
|
||
|
preferred author name.
|
||
|
|
||
|
* The commit object names in the insn sheet that was prepared at the
|
||
|
beginning of "rebase -i" session can become ambiguous as the
|
||
|
rebasing progresses and the repository gains more commits. Make
|
||
|
sure the internal record is kept with full 40-hex object names.
|
||
|
|
||
|
* "git rebase --preserve-merges" internally used the merge machinery
|
||
|
and as a side effect, left merge summary message in the log, but
|
||
|
when rebasing, there should not be a need for merge summary.
|
||
|
|
||
|
* "git rebase -i" forgot that the comment character can be
|
||
|
configurable while reading its insn sheet.
|
||
|
|
||
|
Also contains a handful of trivial code clean-ups, documentation
|
||
|
updates, updates to the test suite, etc.
|