Git 2.17 Release Notes ====================== Updates since v2.16 ------------------- UI, Workflows & Features * "diff" family of commands learned "--find-object=" option to limit the findings to changes that involve the named object. (merge 4d8c51aa19 sb/diff-blobfind-pickaxe later to maint). Performance, Internal Implementation, Development Support etc. * More perf tests for threaded grep (merge 7b31b55db1 ab/perf-grep-threads later to maint). * "perf" test output can be sent to codespeed server. (merge 19cf57a92e cc/codespeed later to maint). Also contains various documentation updates and code clean-ups. Fixes since v2.16 ----------------- * An old regression in "git describe --all $annotated_tag^0" has been fixed. (merge 1bba00130a dk/describe-all-output-fix later to maint). * "git status" after moving a path in the working tree (hence making it appear "removed") and then adding with the -N option (hence making that appear "added") detected it as a rename, but did not report the old and new pathnames correctly. (merge 176ea74793 nd/ita-wt-renames-in-status later to maint). * "git svn dcommit" did not take into account the fact that a svn+ssh:// URL with a username@ (typically used for pushing) refers to the same SVN repository without the username@ and failed when svn.pushmergeinfo option is set. (merge 8aaed892fd jm/svn-pushmergeinfo-fix later to maint). * API clean-up around revision traversal. (merge 6fcec2f9ae rs/lose-leak-pending later to maint). * "git merge -Xours/-Xtheirs" learned to use our/their version when resolving a conflicting updates to a symbolic link. (merge fd48b46474 jc/merge-symlink-ours-theirs later to maint). * "git clone $there $here" is allowed even when here directory exists as long as it is an empty directory, but the command incorrectly removed it upon a failure of the operation. (merge d45420c1c8 jk/abort-clone-with-existing-dest later to maint). * "git commit --fixup" did not allow "-m" option to be used at the same time; allow it to annotate resulting commit with more text. (merge 30884c9afc ab/commit-m-with-fixup later to maint). * When resetting the working tree files recursively, the working tree of submodules are now also reset to match. (merge 7dcc1f4df8 sb/submodule-update-reset-fix later to maint). * "git stash -- " incorrectly blew away untracked files in the directory that matched the pathspec, which has been corrected. (merge bba067d2fa tg/stash-with-pathspec-fix later to maint). * Instead of maintaining home-grown email address parsing code, ship a copy of reasonably recent Mail::Address to be used as a fallback in 'git send-email' when the platform lacks it. (merge d60be8acab mm/send-email-fallback-to-local-mail-address later to maint). * "git add -p" was taught to ignore local changes to submodules as they do not interfere with the partial addition of regular changes anyway. (merge 12434efc1d nd/add-i-ignore-submodules later to maint). * Other minor doc, test and build updates and code cleanups. (merge e2a5a028c7 bw/oidmap-autoinit later to maint). (merge f0a6068a9f ys/bisect-object-id-missing-conversion-fix later to maint). (merge 30221a3389 as/read-tree-prefix-doc-fix later to maint). (merge 9bd2ce5432 ab/doc-cat-file-e-still-shows-errors later to maint).