| 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. |