65 lines
		
	
	
	
		
			2.8 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			65 lines
		
	
	
	
		
			2.8 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| Git v2.5.1 Release Notes
 | |
| ========================
 | |
| 
 | |
| Fixes since v2.5
 | |
| ----------------
 | |
| 
 | |
|  * Running an aliased command from a subdirectory when the .git thing
 | |
|    in the working tree is a gitfile pointing elsewhere did not work.
 | |
| 
 | |
|  * Often a fast-import stream builds a new commit on top of the
 | |
|    previous commit it built, and it often unconditionally emits a
 | |
|    "from" command to specify the first parent, which can be omitted in
 | |
|    such a case.  This caused fast-import to forget the tree of the
 | |
|    previous commit and then re-read it from scratch, which was
 | |
|    inefficient.  Optimize for this common case.
 | |
| 
 | |
|  * The "rev-parse --parseopt" mode parsed the option specification
 | |
|    and the argument hint in a strange way to allow '=' and other
 | |
|    special characters in the option name while forbidding them from
 | |
|    the argument hint.  This made it impossible to define an option
 | |
|    like "--pair <key>=<value>" with "pair=key=value" specification,
 | |
|    which instead would have defined a "--pair=key <value>" option.
 | |
| 
 | |
|  * A "rebase" replays changes of the local branch on top of something
 | |
|    else, as such they are placed in stage #3 and referred to as
 | |
|    "theirs", while the changes in the new base, typically a foreign
 | |
|    work, are placed in stage #2 and referred to as "ours".  Clarify
 | |
|    the "checkout --ours/--theirs".
 | |
| 
 | |
|  * An experimental "untracked cache" feature used uname(2) in a
 | |
|    slightly unportable way.
 | |
| 
 | |
|  * "sparse checkout" misbehaved for a path that is excluded from the
 | |
|    checkout when switching between branches that differ at the path.
 | |
| 
 | |
|  * The low-level "git send-pack" did not honor 'user.signingkey'
 | |
|    configuration variable when sending a signed-push.
 | |
| 
 | |
|  * An attempt to delete a ref by pushing into a repository whose HEAD
 | |
|    symbolic reference points at an unborn branch that cannot be
 | |
|    created due to ref D/F conflict (e.g. refs/heads/a/b exists, HEAD
 | |
|    points at refs/heads/a) failed.
 | |
| 
 | |
|  * "git subtree" (in contrib/) depended on "git log" output to be
 | |
|    stable, which was a no-no.  Apply a workaround to force a
 | |
|    particular date format.
 | |
| 
 | |
|  * "git clone $URL" in recent releases of Git contains a regression in
 | |
|    the code that invents a new repository name incorrectly based on
 | |
|    the $URL.  This has been corrected.
 | |
|    (merge db2e220 jk/guess-repo-name-regression-fix later to maint).
 | |
| 
 | |
|  * Running tests with the "-x" option to make them verbose had some
 | |
|    unpleasant interactions with other features of the test suite.
 | |
|    (merge 9b5fe78 jk/test-with-x later to maint).
 | |
| 
 | |
|  * "git pull" in recent releases of Git has a regression in the code
 | |
|    that allows custom path to the --upload-pack=<program>.  This has
 | |
|    been corrected.
 | |
| 
 | |
|  * pipe() emulation used in Git for Windows looked at a wrong variable
 | |
|    when checking for an error from an _open_osfhandle() call.
 | |
| 
 | |
| Also contains typofixes, documentation updates and trivial code
 | |
| clean-ups.
 |