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 * Update to more modern HP-UX port. 14 15 * "git apply -v" reports offset lines when the patch does not apply at 16 the exact location recorded in the diff output. 17 18 * "git branch --track" (and "git checkout --track --branch") used to 19 allow setting up a random non-branch that does not make sense to follow 20 as the "upstream". The command correctly diagnoses it as an error. 21 22 * "git config" used to be also known as "git repo-config", but the old 23 name is now officially deprecated. 24 25 * "git checkout --detach <commit>" is a more user friendly synonym for 26 "git checkout <commit>^0". 27 28 * "git checkout" performed on detached HEAD gives a warning and an 29 advice when the commit being left behind will become unreachable from 30 any branch or tag. 31 32 * "git cherry-pick" and "git revert" can be told to use custom merge 33 strategy, similar to "git rebase". 34 35 * "git cherry-pick" remembers which commit failed to apply when it is 36 stopped by conflicts, making it unnecessary to use "commit -c $commit" 37 to conclude it. 38 39 * "git cvsimport" bails out immediately when the cvs server cannot be 40 reached, without spewing unnecessary error messages that complain about 41 the server response it never got. 42 43 * "git grep --no-index" did not honor pathspecs correctly, returning 44 paths outside the specified area. 45 46 * "git log" family of commands now understand globbing pathspecs. You 47 can say "git log -- '*.txt'" for example. 48 49 * "git rev-list --objects $revs -- $pathspec" would limit the objects listed 50 in its output properly with the pathspec, in preparation for narrow 51 clones. 52 53 * "git push" with no parameters gives better advice messages when 54 "tracking" is used as the push.default semantics or there is no remote 55 configured yet. 56 57 * "git rerere" learned a new subcommand "remaining", that is similar to 58 "status" that lists the paths that had conflicts that are known to 59 rerere, but excludes the paths that have already been marked as 60 resolved in the index from its output. "git mergetool" has been 61 updated to use this facility. 62 63 * A possible value to the "push.default" configuration variable, 64 'tracking', gained a synonym that more naturally describes what it 65 does, 'upstream'. 66 67Also contains various documentation updates. 68 69 70Fixes since v1.7.4 71------------------ 72 73All of the fixes in the v1.7.4.X maintenance series are included in this 74release, unless otherwise noted. 75 76 * We used to keep one file descriptor open for each and every packfile 77 that we have a mmap window on it (read: "in use"), even when for very 78 tiny packfiles. We now close the file descriptor early when the entire 79 packfile fits inside one mmap window. 80 81 * "git apply" used to confuse lines updated by previous hunks as lines 82 that existed before when applying a hunk, contributing misapplication 83 of patches with offsets. 84 85 * "git clone /no/such/path" did not fail correctly (jk/fail-null/clone). 86 87 * "git checkout $other_branch" silently removed untracked symbolic links 88 in the working tree that are in the way in order to check out paths 89 under it from the named branch (js/checkout-untracked-symlink). 90 91 * "git diff --stat -B" ran on binary files counted the changes in lines, 92 which was nonsensical (jk/diffstat-binary). 93 94 * "git diff -M" opportunisticly detected copies, which was not 95 necessarily a good thing, especially when it is internally run by 96 recursive merge. 97 98 * "git merge" triggers prepare-commit-msg hook. Earlier, only "git 99 commit" to conclude an interrupted merge triggered the hook, leading to 100 an inconsistent overall user experience (js/maint-merge-use-prepare-commit-msg-hook). 101 102 * "git submodule update" used to honor --merge/--rebase option (or 103 corresponding configuration variables) even for a newly cloned 104 subprojects, which made no sense (so/submodule-no-update-first-time). 105 106--- 107exec >/var/tmp/1 108O=v1.7.4.1-265-gd0ef5a7 109echo O=$(git describe 'master') 110git shortlog --no-merges ^maint ^$O master