| Git v2.14.2 Release Notes | |
| ========================= | |
| Fixes since v2.14.1 | |
| ------------------- | |
| * Because recent Git for Windows do come with a real msgfmt, the | |
| build procedure for git-gui has been updated to use it instead of a | |
| hand-rolled substitute. | |
| * "%C(color name)" in the pretty print format always produced ANSI | |
| color escape codes, which was an early design mistake. They now | |
| honor the configuration (e.g. "color.ui = never") and also tty-ness | |
| of the output medium. | |
| * The http.{sslkey,sslCert} configuration variables are to be | |
| interpreted as a pathname that honors "~[username]/" prefix, but | |
| weren't, which has been fixed. | |
| * Numerous bugs in walking of reflogs via "log -g" and friends have | |
| been fixed. | |
| * "git commit" when seeing an totally empty message said "you did not | |
| edit the message", which is clearly wrong. The message has been | |
| corrected. | |
| * When a directory is not readable, "gitweb" fails to build the | |
| project list. Work this around by skipping such a directory. | |
| * A recently added test for the "credential-cache" helper revealed | |
| that EOF detection done around the time the connection to the cache | |
| daemon is torn down were flaky. This was fixed by reacting to | |
| ECONNRESET and behaving as if we got an EOF. | |
| * Some versions of GnuPG fail to kill gpg-agent it auto-spawned | |
| and such a left-over agent can interfere with a test. Work it | |
| around by attempting to kill one before starting a new test. | |
| * "git log --tag=no-such-tag" showed log starting from HEAD, which | |
| has been fixed---it now shows nothing. | |
| * The "tag.pager" configuration variable was useless for those who | |
| actually create tag objects, as it interfered with the use of an | |
| editor. A new mechanism has been introduced for commands to enable | |
| pager depending on what operation is being carried out to fix this, | |
| and then "git tag -l" is made to run pager by default. | |
| * "git push --recurse-submodules $there HEAD:$target" was not | |
| propagated down to the submodules, but now it is. | |
| * Commands like "git rebase" accepted the --rerere-autoupdate option | |
| from the command line, but did not always use it. This has been | |
| fixed. | |
| * "git clone --recurse-submodules --quiet" did not pass the quiet | |
| option down to submodules. | |
| * "git am -s" has been taught that some input may end with a trailer | |
| block that is not Signed-off-by: and it should refrain from adding | |
| an extra blank line before adding a new sign-off in such a case. | |
| * "git svn" used with "--localtime" option did not compute the tz | |
| offset for the timestamp in question and instead always used the | |
| current time, which has been corrected. | |
| * Memory leaks in a few error codepaths have been plugged. | |
| * bash 4.4 or newer gave a warning on NUL byte in command | |
| substitution done in "git stash"; this has been squelched. | |
| * "git grep -L" and "git grep --quiet -L" reported different exit | |
| codes; this has been corrected. | |
| * When handshake with a subprocess filter notices that the process | |
| asked for an unknown capability, Git did not report what program | |
| the offending subprocess was running. This has been corrected. | |
| * "git apply" that is used as a better "patch -p1" failed to apply a | |
| taken from a file with CRLF line endings to a file with CRLF line | |
| endings. The root cause was because it misused convert_to_git() | |
| that tried to do "safe-crlf" processing by looking at the index | |
| entry at the same path, which is a nonsense---in that mode, "apply" | |
| is not working on the data in (or derived from) the index at all. | |
| This has been fixed. | |
| * Killing "git merge --edit" before the editor returns control left | |
| the repository in a state with MERGE_MSG but without MERGE_HEAD, | |
| which incorrectly tells the subsequent "git commit" that there was | |
| a squash merge in progress. This has been fixed. | |
| * "git archive" did not work well with pathspecs and the | |
| export-ignore attribute. | |
| * "git cvsserver" no longer is invoked by "git daemon" by default, | |
| as it is old and largely unmaintained. | |
| * Various Perl scripts did not use safe_pipe_capture() instead of | |
| backticks, leaving them susceptible to end-user input. They have | |
| been corrected. | |
| Also contains various documentation updates and code clean-ups. | |
| Credits go to joernchen <joernchen@phenoelit.de> for finding the | |
| unsafe constructs in "git cvsserver", and to Jeff King at GitHub for | |
| finding and fixing instances of the same issue in other scripts. |