Home Explore Blog CI



git

Documentation/RelNotes/1.7.7.1.adoc
2d0eff7c49c39d1ee725cd9e39d6ca6047e444fc17c3d1110000000300000980
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.

Chunks
9e2d6952 (1st chunk of `Documentation/RelNotes/1.7.7.1.adoc`)
Title: Git v1.7.7.1 Release Notes
Summary
This release of Git fixes various issues, including problems with repository initialization, tag handling, patch application, and error reporting, as well as improvements to performance, security, and test coverage.