1Git v1.7.5 Release Notes (draft) 2======================== 3 4Updates since v1.7.4 5-------------------- 6 7 * Various MinGW portability fixes. 8 9 * Various git-p4 enhancements (in contrib). 10 11 * Various vcs-svn enhancements. 12 13 * "git config" used to be also known as "git repo-config", but the old 14 name is now officially deprecated. 15 16 * "git checkout --detach <commit>" is a more user friendly synonym for 17 "git checkout <commit>^0". 18 19 * "git cherry-pick" and "git revert" can be told to use custom merge 20 strategy, similar to "git rebase". 21 22 * "git cherry-pick" remembers which commit failed to apply when it is 23 stopped by conflicts, making it unnecessary to use "commit -c $commit" 24 to conclude it. 25 26 * "git grep --no-index" did not honor pathspecs correctly, returning 27 paths outside the specified area. 28 29 * "git rev-list --objects $revs -- $pathspec" would limit the objects listed 30 in its output properly with the pathspec, in preparation for narrow 31 clones. 32 33 * "git log" family of commands now understand globbing pathspecs. You 34 can say "git log -- '*.txt'" for example. 35 36 * "git rerere" learned a new subcommand "remaining", that is similar to 37 "status" that lists the paths that had conflicts that are known to 38 rerere, but excludes the paths that have already been marked as 39 resolved in the index from its output. "git mergetool" has been 40 updated to use this facility. 41 42 * A possible value to the "push.default" configuration variable, 43 'tracking', gained a synonym that more naturally describes what it 44 does, 'upstream'. 45 46Also contains various documentation updates. 47 48 49Fixes since v1.7.4 50------------------ 51 52All of the fixes in the v1.7.4.X maintenance series are included in this 53release, unless otherwise noted. 54 55 * "git clone /no/such/path" did not fail correctly (jk/fail-null/clone). 56 57 * "git checkout $other_branch" silently removed untracked symbolic links 58 in the working tree that are in the way in order to check out paths 59 under it from the named branch (js/checkout-untracked-symlink). 60 61 * "git diff --stat -B" ran on binary files counted the changes in lines, 62 which was nonsensical (jk/diffstat-binary). 63 64 * "git diff -M" opportunisticly detected copies, which was not 65 necessarily a good thing, especially when it is internally run by 66 recursive merge. 67 68 * "git merge" triggers prepare-commit-msg hook. Earlier, only "git 69 commit" to conclude an interrupted merge triggered the hook, leading to 70 an inconsistent overall user experience (js/maint-merge-use-prepare-commit-msg-hook). 71 72 * "git submodule update" used to honor --merge/--rebase option (or 73 corresponding configuration variables) even for a newly cloned 74 subprojects, which made no sense (so/submodule-no-update-first-time). 75 76--- 77exec >/var/tmp/1 78O=v1.7.4.1-224-g66ecd2d 79echo O=$(git describe 'master') 80git shortlog --no-merges ^maint ^$O master