1Git v1.7.8 Release Notes (draft) 2================================ 3 4Updates since v1.7.7 5-------------------- 6 7 * The build procedure has been taught to take advantage of computed 8 dependency automatically when the complier supports it. 9 10 * The date parser now accepts timezone designators that lack minutes 11 part and also has a colon between "hh:mm". 12 13 * "git am" learned how to read from patches generated by Hg. 14 15 * "git branch" learned an explicit --list option to ask for branches 16 listed, optionally with a glob matching pattern to limit its output. 17 18 * "git check-attr" learned "--cached" option to look at .gitattributes 19 files from the index, not from the working tree. 20 21 * Variants of "git cherry-pick" and "git revert" that take multiple 22 commits learned to "--continue". 23 24 * "git fetch" learned to honor transfer.fsckobjects configuration to 25 validate the objects that were received from the other end, just like 26 "git receive-pack" (the receiving end of "git push") does. 27 28 * "git fetch" makes sure that the set of objects it received from the 29 other end actually completes the history before updating the refs. 30 "git receive-pack" (the receiving end of "git push") learned to do the 31 same. 32 33 * "git for-each-ref" learned "%(contents:subject)", "%(contents:body)" 34 and "%(contents:signature)". The last one is useful for signed tags. 35 36 * "git ls-remote" learned to respond to "-h"(elp) requests. 37 38 * "git send-email" learned to respond to "-h"(elp) requests. 39 40 * "git stash" learned "--include-untracked" option to stash away 41 untracked/ignored cruft from the working tree. 42 43 * "mediawiki" remote helper can interact with (surprise!) MediaWiki 44 with "git fetch" & "git push". 45 46 * "gitweb" leaked unescaped control characters from syntax hiliter 47 outputs. 48 49 50Fixes since v1.7.7 51------------------ 52 53Unless otherwise noted, all fixes in the 1.7.7.X maintenance track are 54included in this release. 55 56 * "git diff $tree $path" used to apply the pathspec at the output stage, 57 reading the whole tree, wasting resources. 58 (merge 2f88c1970 jc/diff-index-unpack later to maint). 59 60 * The code to check for updated submodules during a "git fetch" of the 61 superproject had an unnecessary quadratic loop. 62 (merge 6859de45 jk/maint-fetch-submodule-check-fix later to maint). 63 64 * "git fetch" from a large bundle did not enable the progress output. 65 (merge be042aff jc/maint-bundle-too-quiet later to maint). 66 67 * When "git fsck --lost-and-found" found that an empty blob object in the 68 object store is unreachable, it incorrectly reported an error after 69 writing the lost blob out successfully. 70 (merge eb726f2d jc/maint-fsck-fwrite-size-check later to maint). 71 72 * "git filter-branch" did not refresh the index before checking that the 73 working tree was clean. 74 (merge 5347a50f jk/filter-branch-require-clean-work-tree later to maint). 75 76 * "git grep $tree" when run with multiple threads had an unsafe access to 77 the object database that should have been protected with mutex. 78 (merge 8cb5775b2 nm/grep-object-sha1-lock later to maint). 79 80 * The "--ancestry-path" option to "git log" and friends misbehaved in a 81 history with complex criss-cross merges and showed an uninteresting 82 side history as well. 83 (merge c05b988a6 bk/ancestry-path later to maint). 84 85 * "git merge" did not understand ":/<pattern>" as a way to name a commit. 86 87 * Tests with --valgrind failed to find "mergetool" scriptlets. 88 (merge ee0d7bf92 tr/mergetool-valgrind later to maint). 89 90 * "git patch-id" miscomputed the patch-id in a patch that has a line longer 91 than 1kB. 92 (merge b9ab810b ms/patch-id-with-overlong-line later to maint). 93 94 * When an "exec" insn failed after modifying the index and/or the working 95 tree during "rebase -i", we now check and warn that the changes need to 96 be cleaned up. 97 (merge 1686519a mm/rebase-i-exec-edit later to maint). 98 99--- 100it=master 101exec >/var/tmp/1 102O=v1.7.7 103O=v1.7.7-137-g2e49dab 104echo O=$(git describe --always $it) 105git log --first-parent --oneline --reverse ^$O $it 106echo 107git shortlog --no-merges ^$O $it