Git v1.7.5 Release Notes (draft) ======================== Updates since v1.7.4 -------------------- * Various MinGW portability fixes. * Various git-p4 enhancements (in contrib). * Various vcs-svn enhancements. * "git config" used to be also known as "git repo-config", but the old name is now officially deprecated. * "git checkout --detach " is a more user friendly synonym for "git checkout ^0". * "git cherry-pick" and "git revert" can be told to use custom merge strategy, similar to "git rebase". * "git cherry-pick" remembers which commit failed to apply when it is stopped by conflicts, making it unnecessary to use "commit -c $commit" to conclude it. * "git grep --no-index" did not honor pathspecs correctly, returning paths outside the specified area. * "git rev-list --objects $revs -- $pathspec" would limit the objects listed in its output properly with the pathspec, in preparation for narrow clones. * "git log" family of commands now understand globbing pathspecs. You can say "git log -- '*.txt'" for example. * "git rerere" learned a new subcommand "remaining", that is similar to "status" that lists the paths that had conflicts that are known to rerere, but excludes the paths that have already been marked as resolved in the index from its output. "git mergetool" has been updated to use this facility. * A possible value to the "push.default" configuration variable, 'tracking', gained a synonym that more naturally describes what it does, 'upstream'. Also contains various documentation updates. Fixes since v1.7.4 ------------------ All of the fixes in the v1.7.4.X maintenance series are included in this release, unless otherwise noted. * "git clone /no/such/path" did not fail correctly (jk/fail-null/clone). * "git checkout $other_branch" silently removed untracked symbolic links in the working tree that are in the way in order to check out paths under it from the named branch (js/checkout-untracked-symlink). * "git diff --stat -B" ran on binary files counted the changes in lines, which was nonsensical (jk/diffstat-binary). * "git diff -M" opportunisticly detected copies, which was not necessarily a good thing, especially when it is internally run by recursive merge. * "git merge" triggers prepare-commit-msg hook. Earlier, only "git commit" to conclude an interrupted merge triggered the hook, leading to an inconsistent overall user experience (js/maint-merge-use-prepare-commit-msg-hook). * "git submodule update" used to honor --merge/--rebase option (or corresponding configuration variables) even for a newly cloned subprojects, which made no sense (so/submodule-no-update-first-time). --- exec >/var/tmp/1 O=v1.7.4.1-224-g66ecd2d echo O=$(git describe 'master') git shortlog --no-merges ^maint ^$O master