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.