Documentation / RelNotes / 2.12.0.txton commit Merge branch 'jk/trailers-placeholder-in-pretty' (f008159)
   1Git 2.12 Release Notes
   2======================
   3
   4Backward compatibility notes.
   5
   6 * Use of an empty string that is used for 'everything matches' is
   7   still warned and Git asks users to use a more explicit '.' for that
   8   instead.  The hope is that existing users will not mind this
   9   change, and eventually the warning can be turned into a hard error,
  10   upgrading the deprecation into removal of this (mis)feature.  That
  11   is not scheduled to happen in the upcoming release (yet).
  12
  13 * The historical argument order "git merge <msg> HEAD <commit>..."
  14   has been deprecated for quite some time, and will be removed in the
  15   upcoming release.
  16
  17
  18Updates since v2.11
  19-------------------
  20
  21UI, Workflows & Features
  22
  23 * Various updates to "git p4".
  24
  25
  26Performance, Internal Implementation, Development Support etc.
  27
  28 *
  29
  30
  31Also contains various documentation updates and code clean-ups.
  32
  33 *
  34
  35
  36Fixes since v2.10
  37-----------------
  38
  39Unless otherwise noted, all the fixes since v2.9 in the maintenance
  40track are contained in this release (see the maintenance releases'
  41notes for details).
  42
  43 * We often decide if a session is interactive by checking if the
  44   standard I/O streams are connected to a TTY, but isatty() that
  45   comes with Windows incorrectly returned true if it is used on NUL
  46   (i.e. an equivalent to /dev/null).  This has been fixed.
  47   (merge cbb3f3c9b1 js/mingw-isatty later to maint).
  48
  49 * "git svn" did not work well with path components that are "0", and
  50   some configuration variable it uses were not documented.
  51   (merge ea9a93dcc2 ew/svn-fixes later to maint).
  52
  53 * "git rev-parse --symbolic" failed with a more recent notation like
  54   "HEAD^-1" and "HEAD^!".
  55   (merge a2e7b04c44 jk/rev-parse-symbolic-parents-fix later to maint).
  56
  57 * An empty directory in a working tree that can simply be nuked used
  58   to interfere while merging or cherry-picking a change to create a
  59   submodule directory there, which has been fixed..
  60   (merge 5423d2e700 dt/empty-submodule-in-merge later to maint).
  61
  62 * The code in "git push" to compute if any commit being pushed in the
  63   superproject binds a commit in a submodule that hasn't been pushed
  64   out was overly inefficient, making it unusable even for a small
  65   project that does not have any submodule but have a reasonable
  66   number of refs.
  67   (merge 250ab24ab3 hv/submodule-not-yet-pushed-fix later to maint).
  68
  69 * "git push --dry-run --recurse-submodule=on-demand" wasn't
  70   "--dry-run" in the submodules.
  71   (merge 0301c821c5 bw/push-dry-run later to maint).
  72
  73 * The output from "git worktree list" was made in readdir() order,
  74   and was unstable.
  75   (merge 4df1d4d466 nd/worktree-list-fixup later to maint).
  76
  77 * mergetool.<tool>.trustExitCode configuration variable did not apply
  78   to built-in tools, but now it does.
  79   (merge 2967284456 da/mergetool-trust-exit-code later to maint).
  80
  81 * "git p4" LFS support was broken when LFS stores an empty blob.
  82   (merge d5eb3cf5e7 ls/p4-empty-file-on-lfs later to maint).
  83
  84 * Other minor doc, test and build updates and code cleanups.
  85   (merge fa6ca11105 nd/qsort-in-merge-recursive later to maint).
  86   (merge fa3142c919 ak/lazy-prereq-mktemp later to maint).