Documentation / RelNotes / 2.17.0.txton commit Merge branch 'pw/rebase-keep-empty-fixes' into pw/rebase-signoff (56173d2)
   1Git 2.17 Release Notes
   2======================
   3
   4Updates since v2.16
   5-------------------
   6
   7UI, Workflows & Features
   8
   9 * "diff" family of commands learned "--find-object=<object-id>" option
  10   to limit the findings to changes that involve the named object.
  11   (merge 4d8c51aa19 sb/diff-blobfind-pickaxe later to maint).
  12
  13
  14Performance, Internal Implementation, Development Support etc.
  15
  16 * More perf tests for threaded grep
  17   (merge 7b31b55db1 ab/perf-grep-threads later to maint).
  18
  19 * "perf" test output can be sent to codespeed server.
  20   (merge 19cf57a92e cc/codespeed later to maint).
  21
  22
  23Also contains various documentation updates and code clean-ups.
  24
  25
  26Fixes since v2.16
  27-----------------
  28
  29 * An old regression in "git describe --all $annotated_tag^0" has been
  30   fixed.
  31   (merge 1bba00130a dk/describe-all-output-fix later to maint).
  32
  33 * "git status" after moving a path in the working tree (hence making
  34   it appear "removed") and then adding with the -N option (hence
  35   making that appear "added") detected it as a rename, but did not
  36   report the  old and new pathnames correctly.
  37   (merge 176ea74793 nd/ita-wt-renames-in-status later to maint).
  38
  39 * "git svn dcommit" did not take into account the fact that a
  40   svn+ssh:// URL with a username@ (typically used for pushing) refers
  41   to the same SVN repository without the username@ and failed when
  42   svn.pushmergeinfo option is set.
  43   (merge 8aaed892fd jm/svn-pushmergeinfo-fix later to maint).
  44
  45 * API clean-up around revision traversal.
  46   (merge 6fcec2f9ae rs/lose-leak-pending later to maint).
  47
  48 * "git merge -Xours/-Xtheirs" learned to use our/their version when
  49   resolving a conflicting updates to a symbolic link.
  50   (merge fd48b46474 jc/merge-symlink-ours-theirs later to maint).
  51
  52 * "git clone $there $here" is allowed even when here directory exists
  53   as long as it is an empty directory, but the command incorrectly
  54   removed it upon a failure of the operation.
  55   (merge d45420c1c8 jk/abort-clone-with-existing-dest later to maint).
  56
  57 * "git commit --fixup" did not allow "-m<message>" option to be used
  58   at the same time; allow it to annotate resulting commit with more
  59   text.
  60   (merge 30884c9afc ab/commit-m-with-fixup later to maint).
  61
  62 * When resetting the working tree files recursively, the working tree
  63   of submodules are now also reset to match.
  64   (merge 7dcc1f4df8 sb/submodule-update-reset-fix later to maint).
  65
  66 * "git stash -- <pathspec>" incorrectly blew away untracked files in
  67   the directory that matched the pathspec, which has been corrected.
  68   (merge bba067d2fa tg/stash-with-pathspec-fix later to maint).
  69
  70 * Instead of maintaining home-grown email address parsing code, ship
  71   a copy of reasonably recent Mail::Address to be used as a fallback
  72   in 'git send-email' when the platform lacks it.
  73   (merge d60be8acab mm/send-email-fallback-to-local-mail-address later to maint).
  74
  75 * "git add -p" was taught to ignore local changes to submodules as
  76   they do not interfere with the partial addition of regular changes
  77   anyway.
  78   (merge 12434efc1d nd/add-i-ignore-submodules later to maint).
  79
  80 * Other minor doc, test and build updates and code cleanups.
  81   (merge e2a5a028c7 bw/oidmap-autoinit later to maint).
  82   (merge f0a6068a9f ys/bisect-object-id-missing-conversion-fix later to maint).
  83   (merge 30221a3389 as/read-tree-prefix-doc-fix later to maint).
  84   (merge 9bd2ce5432 ab/doc-cat-file-e-still-shows-errors later to maint).