Git v1.7.8.2 Release Notes
==========================
Fixes since v1.7.8.1
--------------------
* Porcelain commands like "git reset" did not distinguish deletions
and type-changes from ordinary modification, and reported them with
the same 'M' moniker. They now use 'D' (for deletion) and 'T' (for
type-change) to match "git status -s" and "git diff --name-status".
* The configuration file parser used for sizes (e.g. bigFileThreshold)
did not correctly interpret 'g' suffix.
* The replacement implementation for snprintf used on platforms with
native snprintf that is broken did not use va_copy correctly.
* LF-to-CRLF streaming filter replaced all LF with CRLF, which might
be technically correct but not friendly to people who are trying
to recover from earlier mistakes of using CRLF in the repository
data in the first place. It now refrains from doing so for LF that
follows a CR.
* git native connection going over TCP (not over SSH) did not set
SO_KEEPALIVE option which failed to receive link layer errors.
* "git branch -m HEAD" is an obvious no-op but was not
allowed.
* "git checkout -m" did not recreate the conflicted state in a "both
sides added, without any common ancestor version" conflict
situation.
* "git cherry-pick $commit" (not a range) created an unnecessary
sequencer state and interfered with valid workflow to use the
command during a session to cherry-pick multiple commits.
* You could make "git commit" segfault by giving the "--no-message"
option.
* "fast-import" did not correctly update an existing notes tree,
possibly corrupting the fan-out.
* "git fetch-pack" accepted unqualified refs that do not begin with
refs/ by mistake and compensated it by matching the refspec with
tail-match, which was doubly wrong. This broke fetching from a
repository with a funny named ref "refs/foo/refs/heads/master" and a
'master' branch with "git fetch-pack refs/heads/master", as the
command incorrectly considered the former a "match".
* "git log --follow" did not honor the rename threshold score given
with the -M option (e.g. "-M50%").
* "git mv" gave suboptimal error/warning messages when it overwrites
target files. It also did not pay attention to "-v" option.
* Authenticated "git push" over dumb HTTP were broken with a recent
change and failed without asking for password when username is
given.
* "git push" to an empty repository over HTTP were broken with a
recent change to the ref handling.
* "git push -v" forgot how to be verbose by mistake. It now properly
becomes verbose when asked to.
* When a "reword" action in "git rebase -i" failed to run "commit --amend",
we did not give the control back to the user to resolve the situation, and
instead kept the original commit log message.
Also contains minor fixes and documentation updates.