The latest maintenance release Git 18.104.22.168 is available. It contains
accumulated fixes that applies to the 1.7.8.X maintenance track that have
already been applied to the master branch to be part of the upcoming
The release tarballs are found at:
and their SHA-1 checksums are:
7187c1af96db0c181b801957d6e152ec7cd60ab6 git-22.214.171.124.tar.gz 9047175e5c46aa3260c42e6b4459cf4ee5a7bb8a git-htmldocs-126.96.36.199.tar.gz cc394a0a9689297fddad40c1ccbded0ba9d708da git-manpages-188.8.131.52.tar.gz
Also the following public repositories all have a copy of the v184.108.40.206
tag and the maint branch that the tag points at:
url = git://repo.or.cz/alt-git.git url = https://code.google.com/p/git-core/ url = git://git.sourceforge.jp/gitroot/git-core/git.git url = git://git-core.git.sourceforge.net/gitroot/git-core/git-core url = https://github.com/gitster/git
Git v220.127.116.11 Release Notes
Fixes since v18.104.22.168
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 implemention 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 techinically 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 <current branch> HEAD” is an obvious no-op but was not
“git checkout -m” did not recreate the conflicted state in a “both
sides added, without any common ancestor version” conflict
“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”
“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
“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.
Junio C Hamano wrote on 28 Dec 2011