[ANNOUNCE] Git v2.2.2

From: Junio C Hamano
Date: Mon Jan 12 2015 - 18:57:38 EST


The latest maintenance release Git v2.2.2 is now available at
the usual places.

This backports many fixes that were not in 2.2.1 that have been used
on 'master' for the past few weeks.

The tarballs are found at:

https://www.kernel.org/pub/software/scm/git/

The following public repositories all have a copy of the 'v2.2.2'
tag and the 'maint' branch that the tag points at:

url = https://kernel.googlesource.com/pub/scm/git/git
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 v2.2.2 Release Notes
========================

Fixes since v2.2.1
------------------

* "git checkout $treeish $path", when $path in the index and the
working tree already matched what is in $treeish at the $path,
still overwrote the $path unnecessarily.

* "git config --get-color" did not parse its command line arguments
carefully.

* open() emulated on Windows platforms did not give EISDIR upon
an attempt to open a directory for writing.

* A few code paths used abs() when they should have used labs() on
long integers.

* "gitweb" used to depend on a behaviour recent CGI.pm deprecated.

* "git init" (hence "git clone") initialized the per-repository
configuration file .git/config with x-bit by mistake.

* Git 2.0 was supposed to make the "simple" mode for the default of
"git push", but it didn't.

* "Everyday" document had a broken link.

* The build procedure did not bother fixing perl and python scripts
when NO_PERL and NO_PYTHON build-time configuration changed.

* The code that reads the reflog from the newer to the older entries
did not handle an entry that crosses a boundary of block it uses to
read them correctly.

* "git apply" was described in the documentation to take --ignore-date
option, which it does not.

* Traditionally we tried to avoid interpreting date strings given by
the user as future dates, e.g. GIT_COMMITTER_DATE=2014-12-10 when
used early November 2014 was taken as "October 12, 2014" because it
is likely that a date in the future, December 10, is a mistake.
This heuristics has been loosened to allow people to express future
dates (most notably, --until=<date> may want to be far in the
future) and we no longer tiebreak by future-ness of the date when

(1) ISO-like format is used, and
(2) the string can make sense interpreted as both y-m-d and y-d-m.

Git may still have to use the heuristics to tiebreak between dd/mm/yy
and mm/dd/yy, though.

* The code to abbreviate an object name to its short unique prefix
has been optimized when no abbreviation was requested.

* "git add --ignore-errors ..." did not ignore an error to
give a file that did not exist.

* Git did not correctly read an overlong refname from a packed refs
file.

Also contains typofixes, documentation updates and trivial code clean-ups.

----------------------------------------------------------------

Changes since v2.2.1 are as follows:

Alexander Kuleshov (1):
clean: typofix

Jeff King (17):
pass TIME_DATE_NOW to approxidate future-check
checkout $tree: do not throw away unchanged index entries
approxidate: allow ISO-like dates far in the future
Makefile: have perl scripts depend on NO_PERL setting
t0090: mark add-interactive test with PERL prerequisite
t960[34]: mark cvsimport tests as requiring perl
gitweb: hack around CGI's list-context param() handling
docs: describe ANSI 256-color mode
config: fix parsing of "git config --get-color some.key -1"
t4026: test "normal" color
push: truly use "simple" as default, not "upstream"
for_each_reflog_ent_reverse: fix newlines on block boundaries
for_each_reflog_ent_reverse: turn leftover check into assertion
read_packed_refs: use a strbuf for reading lines
read_packed_refs: pass strbuf to parse_ref_line
read_packed_refs: use skip_prefix instead of static array
is_hfs_dotgit: loosen over-eager match of \u{..47}

Johannes Sixt (1):
Windows: correct detection of EISDIR in mingw_open()

Jonathan Nieder (2):
Makefile: simplify by using SCRIPT_{PERL,SH}_GEN macros
Makefile: have python scripts depend on NO_PYTHON setting

Junio C Hamano (2):
Prepare for 2.2.2
Git 2.2.2

Michael Haggerty (1):
create_default_files(): don't set u+x bit on $GIT_DIR/config

Michael J Gruber (1):
add: ignore only ignored files

Mike Hommey (1):
sha1_name: avoid unnecessary sha1 lookup in find_unique_abbrev

Renà Scharfe (2):
use labs() for variables of type long instead of abs()
use labs() for variables of type long instead of abs()

Ronald Wampler (1):
git-am.txt: --ignore-date flag is not passed to git-apply

brian m. carlson (1):
Documentation: change "gitlink" typo in git-push

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/