105 lines
		
	
	
	
		
			4.4 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			105 lines
		
	
	
	
		
			4.4 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
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.
 |