| Git v2.1 Release Notes |
| ====================== |
| |
| Updates since v2.0 |
| ------------------ |
| |
| UI, Workflows & Features |
| |
| * "git commit --date=<date>" option learned to read from more |
| timestamp formats, including "--date=now". |
| |
| * "git grep" learned grep.fullname configuration variable to force |
| "--full-name" to be default. This may cause regressions on |
| scripted users that do not expect this new behaviour. |
| |
| * "git merge" without argument, even when there is an upstream |
| defined for the current branch, refused to run until |
| merge.defaultToUpstream is set to true. Flip the default of that |
| configuration variable to true. |
| |
| * "git mergetool" learned to drive the vimdiff3 backend. |
| |
| * mergetool.prompt used to default to 'true', always asking "do you |
| really want to run the tool on this path?". Among the two |
| purposes this prompt serves, ignore the use case to confirm that |
| the user wants to view particular path with the named tool, and |
| redefine the meaning of the prompt only to confirm the choice of |
| the tool made by the autodetection (for those who configured the |
| tool explicitly, the prompt shown for the latter purpose is |
| simply annoying). |
| |
| Strictly speaking, this is a backward incompatible change and the |
| users need to explicitly set the variable to 'true' if they want |
| to resurrect the now-ignored use case. |
| |
| * "git svn" learned to cope with malformed timestamps with only one |
| digit in the hour part, e.g. 2014-01-07T5:01:02.048176Z, emitted |
| by some broken subversion server implementations. |
| |
| |
| Performance, Internal Implementation, etc. |
| |
| * "git diff" that compares 3-or-more trees (e.g. parents and the |
| result of a merge) have been optimized. |
| |
| * The API to update/delete references are being converted to handle |
| updates to multiple references in a transactional way. As an |
| example, "update-ref --stdin [-z]" has been updated to use this |
| API. |
| |
| |
| Also contains various documentation updates and code clean-ups. |
| |
| |
| Fixes since v2.0 |
| ---------------- |
| |
| Unless otherwise noted, all the fixes since v2.0 in the maintenance |
| track are contained in this release (see the maintenance releases' |
| notes for details). |
| |
| * "--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. |
| (merge 14d3bb4 jc/apply-ignore-whitespace later to maint). |
| |
| * "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. |
| (merge dd75553 jx/blame-align-relative-time later to maint). |
| |
| * 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". |
| (merge 3953949 nd/index-pack-one-fd-per-thread later to maint). |
| |
| * "git rerere forget" did not work well when merge.conflictstyle |
| was set to a non-default value. |
| (merge de3d8bb fc/rerere-conflict-style later to maint). |
| |
| * "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. |
| (merge 426ddee ym/fix-opportunistic-index-update-race later to maint). |