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.