83 lines
		
	
	
	
		
			3.5 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			83 lines
		
	
	
	
		
			3.5 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
Git v2.12.2 Release Notes
 | 
						|
=========================
 | 
						|
 | 
						|
Fixes since v2.12.1
 | 
						|
-------------------
 | 
						|
 | 
						|
 * "git status --porcelain" is supposed to give a stable output, but a
 | 
						|
   few strings were left as translatable by mistake.
 | 
						|
 | 
						|
 * "Dumb http" transport used to misparse a nonsense http-alternates
 | 
						|
   response, which has been fixed.
 | 
						|
 | 
						|
 * "git diff --quiet" relies on the size field in diff_filespec to be
 | 
						|
   correctly populated, but diff_populate_filespec() helper function
 | 
						|
   made an incorrect short-cut when asked only to populate the size
 | 
						|
   field for paths that need to go through convert_to_git() (e.g. CRLF
 | 
						|
   conversion).
 | 
						|
 | 
						|
 * There is no need for Python only to give a few messages to the
 | 
						|
   standard error stream, but we somehow did.
 | 
						|
 | 
						|
 * A leak in a codepath to read from a packed object in (rare) cases
 | 
						|
   has been plugged.
 | 
						|
 | 
						|
 * "git upload-pack", which is a counter-part of "git fetch", did not
 | 
						|
   report a request for a ref that was not advertised as invalid.
 | 
						|
   This is generally not a problem (because "git fetch" will stop
 | 
						|
   before making such a request), but is the right thing to do.
 | 
						|
 | 
						|
 * A "gc.log" file left by a backgrounded "gc --auto" disables further
 | 
						|
   automatic gc; it has been taught to run at least once a day (by
 | 
						|
   default) by ignoring a stale "gc.log" file that is too old.
 | 
						|
 | 
						|
 * "git remote rm X", when a branch has remote X configured as the
 | 
						|
   value of its branch.*.remote, tried to remove branch.*.remote and
 | 
						|
   branch.*.merge and failed if either is unset.
 | 
						|
 | 
						|
 * A caller of tempfile API that uses stdio interface to write to
 | 
						|
   files may ignore errors while writing, which is detected when
 | 
						|
   tempfile is closed (with a call to ferror()).  By that time, the
 | 
						|
   original errno that may have told us what went wrong is likely to
 | 
						|
   be long gone and was overwritten by an irrelevant value.
 | 
						|
   close_tempfile() now resets errno to EIO to make errno at least
 | 
						|
   predictable.
 | 
						|
 | 
						|
 * "git show-branch" expected there were only very short branch names
 | 
						|
   in the repository and used a fixed-length buffer to hold them
 | 
						|
   without checking for overflow.
 | 
						|
 | 
						|
 * The code that parses header fields in the commit object has been
 | 
						|
   updated for (micro)performance and code hygiene.
 | 
						|
 | 
						|
 * A test that creates a confusing branch whose name is HEAD has been
 | 
						|
   corrected not to do so.
 | 
						|
 | 
						|
 * "Cc:" on the trailer part does not have to conform to RFC strictly,
 | 
						|
   unlike in the e-mail header.  "git send-email" has been updated to
 | 
						|
   ignore anything after '>' when picking addresses, to allow non-address
 | 
						|
   cruft like " # stable 4.4" after the address.
 | 
						|
 | 
						|
 * "git push" had a handful of codepaths that could lead to a deadlock
 | 
						|
   when unexpected error happened, which has been fixed.
 | 
						|
 | 
						|
 * Code to read submodule.<name>.ignore config did not state the
 | 
						|
   variable name correctly when giving an error message diagnosing
 | 
						|
   misconfiguration.
 | 
						|
 | 
						|
 * "git ls-remote" and "git archive --remote" are designed to work
 | 
						|
   without being in a directory under Git's control.  However, recent
 | 
						|
   updates revealed that we randomly look into a directory called
 | 
						|
   .git/ without actually doing necessary set-up when working in a
 | 
						|
   repository.  Stop doing so.
 | 
						|
 | 
						|
 * The code to parse the command line "git grep <patterns>... <rev>
 | 
						|
   [[--] <pathspec>...]" has been cleaned up, and a handful of bugs
 | 
						|
   have been fixed (e.g. we used to check "--" if it is a rev).
 | 
						|
 | 
						|
 * The code to parse "git -c VAR=VAL cmd" and set configuration
 | 
						|
   variable for the duration of cmd had two small bugs, which have
 | 
						|
   been fixed.
 | 
						|
   This supersedes jc/config-case-cmdline topic that has been discarded.
 | 
						|
 | 
						|
Also contains various documentation updates and code clean-ups.
 |