Git v1.7.7.1 Release Notes ========================== Fixes since v1.7.7 ------------------ * On some BSD systems, adding +s bit on directories is detrimental (it is not necessary on BSD to begin with). "git init --shared" has been updated to take this into account without extra makefile settings on platforms the Makefile knows about. * After incorrectly written third-party tools store a tag object in HEAD, git diagnosed it as a repository corruption and refused to proceed in order to avoid spreading the damage. We now gracefully recover from such a situation by pretending as if the commit that is pointed at by the tag were in HEAD. * "git apply --whitespace=error" did not bother to report the exact line number in the patch that introduced new blank lines at the end of the file. * "git apply --index" did not check corrupted patch. * "git checkout $tree $directory/" resurrected paths locally removed or modified only in the working tree in $directory/ that did not appear in $directory of the given $tree. They should have been kept intact. * "git diff $tree $path" used to apply the pathspec at the output stage, reading the whole tree, wasting resources. * The code to check for updated submodules during a "git fetch" of the superproject had an unnecessary quadratic loop. * "git fetch" from a large bundle did not enable the progress output. * When "git fsck --lost-and-found" found that an empty blob object in the object store is unreachable, it incorrectly reported an error after writing the lost blob out successfully. * "git filter-branch" did not refresh the index before checking that the working tree was clean. * "git grep $tree" when run with multiple threads had an unsafe access to the object database that should have been protected with mutex. * The "--ancestry-path" option to "git log" and friends misbehaved in a history with complex criss-cross merges and showed an uninteresting side history as well. * Test t1304 assumed LOGNAME is always set, which may not be true on some systems. * Tests with --valgrind failed to find "mergetool" scriptlets. * "git patch-id" miscomputed the patch-id in a patch that has a line longer than 1kB. * When an "exec" insn failed after modifying the index and/or the working tree during "rebase -i", we now check and warn that the changes need to be cleaned up.