| Git 2.12 Release Notes |
| ====================== |
| |
| Backward compatibility notes. |
| |
| * Use of an empty string that is used for 'everything matches' is |
| still warned and Git asks users to use a more explicit '.' for that |
| instead. The hope is that existing users will not mind this |
| change, and eventually the warning can be turned into a hard error, |
| upgrading the deprecation into removal of this (mis)feature. That |
| is not scheduled to happen in the upcoming release (yet). |
| |
| * The historical argument order "git merge <msg> HEAD <commit>..." |
| has been deprecated for quite some time, and will be removed in the |
| upcoming release. |
| |
| |
| Updates since v2.11 |
| ------------------- |
| |
| UI, Workflows & Features |
| |
| * Various updates to "git p4". |
| |
| |
| Performance, Internal Implementation, Development Support etc. |
| |
| * |
| |
| |
| Also contains various documentation updates and code clean-ups. |
| |
| * |
| |
| |
| Fixes since v2.10 |
| ----------------- |
| |
| Unless otherwise noted, all the fixes since v2.9 in the maintenance |
| track are contained in this release (see the maintenance releases' |
| notes for details). |
| |
| * We often decide if a session is interactive by checking if the |
| standard I/O streams are connected to a TTY, but isatty() that |
| comes with Windows incorrectly returned true if it is used on NUL |
| (i.e. an equivalent to /dev/null). This has been fixed. |
| (merge cbb3f3c9b1 js/mingw-isatty later to maint). |
| |
| * "git svn" did not work well with path components that are "0", and |
| some configuration variable it uses were not documented. |
| (merge ea9a93dcc2 ew/svn-fixes later to maint). |
| |
| * "git rev-parse --symbolic" failed with a more recent notation like |
| "HEAD^-1" and "HEAD^!". |
| (merge a2e7b04c44 jk/rev-parse-symbolic-parents-fix later to maint). |
| |
| * An empty directory in a working tree that can simply be nuked used |
| to interfere while merging or cherry-picking a change to create a |
| submodule directory there, which has been fixed.. |
| (merge 5423d2e700 dt/empty-submodule-in-merge later to maint). |
| |
| * The code in "git push" to compute if any commit being pushed in the |
| superproject binds a commit in a submodule that hasn't been pushed |
| out was overly inefficient, making it unusable even for a small |
| project that does not have any submodule but have a reasonable |
| number of refs. |
| (merge 250ab24ab3 hv/submodule-not-yet-pushed-fix later to maint). |
| |
| * "git push --dry-run --recurse-submodule=on-demand" wasn't |
| "--dry-run" in the submodules. |
| (merge 0301c821c5 bw/push-dry-run later to maint). |
| |
| * The output from "git worktree list" was made in readdir() order, |
| and was unstable. |
| (merge 4df1d4d466 nd/worktree-list-fixup later to maint). |
| |
| * mergetool.<tool>.trustExitCode configuration variable did not apply |
| to built-in tools, but now it does. |
| (merge 2967284456 da/mergetool-trust-exit-code later to maint). |
| |
| * "git p4" LFS support was broken when LFS stores an empty blob. |
| (merge d5eb3cf5e7 ls/p4-empty-file-on-lfs later to maint). |
| |
| * Other minor doc, test and build updates and code cleanups. |
| (merge fa6ca11105 nd/qsort-in-merge-recursive later to maint). |
| (merge fa3142c919 ak/lazy-prereq-mktemp later to maint). |