115 lines
		
	
	
	
		
			5 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			115 lines
		
	
	
	
		
			5 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| Git v2.0.1 Release Notes
 | |
| ========================
 | |
| 
 | |
|  * We used to unconditionally disable the pager in the pager process
 | |
|    we spawn to feed out output, but that prevented people who want to
 | |
|    run "less" within "less" from doing so.
 | |
| 
 | |
|  * Tools that read diagnostic output in our standard error stream do
 | |
|    not want to see terminal control sequence (e.g. erase-to-eol).
 | |
|    Detect them by checking if the standard error stream is connected
 | |
|    to a tty.
 | |
|  * Reworded the error message given upon a failure to open an existing
 | |
|    loose object file due to e.g. permission issues; it was reported as
 | |
|    the object being corrupt, but that is not quite true.
 | |
| 
 | |
|  * "git log -2master" is a common typo that shows two commits starting
 | |
|    from whichever random branch that is not 'master' that happens to
 | |
|    be checked out currently.
 | |
| 
 | |
|  * The "%<(10,trunc)%s" pretty format specifier in the log family of
 | |
|    commands is used to truncate the string to a given length (e.g. 10
 | |
|    in the example) with padding to column-align the output, but did
 | |
|    not take into account that number of bytes and number of display
 | |
|    columns are different.
 | |
| 
 | |
|  * The "mailmap.file" configuration option did not support the tilde
 | |
|    expansion (i.e. ~user/path and ~/path).
 | |
| 
 | |
|  * The completion scripts (in contrib/) did not know about quite a few
 | |
|    options that are common between "git merge" and "git pull", and a
 | |
|    couple of options unique to "git merge".
 | |
| 
 | |
|  * "--ignore-space-change" option of "git apply" ignored the spaces
 | |
|    at the beginning of line too aggressively, which is inconsistent
 | |
|    with the option of the same name "diff" and "git diff" have.
 | |
| 
 | |
|  * "git blame" miscounted number of columns needed to show localized
 | |
|    timestamps, resulting in jaggy left-side-edge of the source code
 | |
|    lines in its output.
 | |
| 
 | |
|  * "git blame" assigned the blame to the copy in the working-tree if
 | |
|    the repository is set to core.autocrlf=input and the file used CRLF
 | |
|    line endings.
 | |
| 
 | |
|  * "git commit --allow-empty-message -C $commit" did not work when the
 | |
|    commit did not have any log message.
 | |
| 
 | |
|  * "git diff --find-copies-harder" sometimes pretended as if the mode
 | |
|    bits have changed for paths that are marked with assume-unchanged
 | |
|    bit.
 | |
| 
 | |
|  * "git format-patch" did not enforce the rule that the "--follow"
 | |
|    option from the log/diff family of commands must be used with
 | |
|    exactly one pathspec.
 | |
| 
 | |
|  * "git gc --auto" was recently changed to run in the background to
 | |
|    give control back early to the end-user sitting in front of the
 | |
|    terminal, but it forgot that housekeeping involving reflogs should
 | |
|    be done without other processes competing for accesses to the refs.
 | |
| 
 | |
|  * "git grep -O" to show the lines that hit in the pager did not work
 | |
|    well with case insensitive search.  We now spawn "less" with its
 | |
|    "-I" option when it is used as the pager (which is the default).
 | |
| 
 | |
|  * We used to disable threaded "git index-pack" on platforms without
 | |
|    thread-safe pread(); use a different workaround for such
 | |
|    platforms to allow threaded "git index-pack".
 | |
| 
 | |
|  * The error reporting from "git index-pack" has been improved to
 | |
|    distinguish missing objects from type errors.
 | |
| 
 | |
|  * "git mailinfo" used to read beyond the end of header string while
 | |
|    parsing an incoming e-mail message to extract the patch.
 | |
| 
 | |
|  * On a case insensitive filesystem, merge-recursive incorrectly
 | |
|    deleted the file that is to be renamed to a name that is the same
 | |
|    except for case differences.
 | |
| 
 | |
|  * "git pack-objects" unnecessarily copied the previous contents when
 | |
|    extending the hashtable, even though it will populate the table
 | |
|    from scratch anyway.
 | |
| 
 | |
|  * "git rerere forget" did not work well when merge.conflictstyle
 | |
|    was set to a non-default value.
 | |
| 
 | |
|  * "git remote rm" and "git remote prune" can involve removing many
 | |
|    refs at once, which is not a very efficient thing to do when very
 | |
|    many refs exist in the packed-refs file.
 | |
| 
 | |
|  * "git log --exclude=<glob> --all | git shortlog" worked as expected,
 | |
|    but "git shortlog --exclude=<glob> --all", which is supposed to be
 | |
|    identical to the above pipeline, was not accepted at the command
 | |
|    line argument parser level.
 | |
| 
 | |
|  * The autostash mode of "git rebase -i" did not restore the dirty
 | |
|    working tree state if the user aborted the interactive rebase by
 | |
|    emptying the insn sheet.
 | |
| 
 | |
|  * "git show -s" (i.e. show log message only) used to incorrectly emit
 | |
|    an extra blank line after a merge commit.
 | |
| 
 | |
|  * "git status", even though it is a read-only operation, tries to
 | |
|    update the index with refreshed lstat(2) info to optimize future
 | |
|    accesses to the working tree opportunistically, but this could
 | |
|    race with a "read-write" operation that modify the index while it
 | |
|    is running.  Detect such a race and avoid overwriting the index.
 | |
| 
 | |
|  * "git status" (and "git commit") behaved as if changes in a modified
 | |
|    submodule are not there if submodule.*.ignore configuration is set,
 | |
|    which was misleading.  The configuration is only to unclutter diff
 | |
|    output during the course of development, and should not to hide
 | |
|    changes in the "status" output to cause the users forget to commit
 | |
|    them.
 | |
| 
 | |
|  * The mode to run tests with HTTP server tests disabled was broken.
 |