88 lines
3.5 KiB
Text
88 lines
3.5 KiB
Text
|
Git v2.7.1 Release Notes
|
||
|
========================
|
||
|
|
||
|
Fixes since v2.7
|
||
|
----------------
|
||
|
|
||
|
* An earlier change in 2.5.x-era broke users' hooks and aliases by
|
||
|
exporting GIT_WORK_TREE to point at the root of the working tree,
|
||
|
interfering when they tried to use a different working tree without
|
||
|
setting GIT_WORK_TREE environment themselves.
|
||
|
|
||
|
* The "exclude_list" structure has the usual "alloc, nr" pair of
|
||
|
fields to be used by ALLOC_GROW(), but clear_exclude_list() forgot
|
||
|
to reset 'alloc' to 0 when it cleared 'nr' to discard the managed
|
||
|
array.
|
||
|
|
||
|
* "git send-email" was confused by escaped quotes stored in the alias
|
||
|
files saved by "mutt", which has been corrected.
|
||
|
|
||
|
* A few unportable C construct have been spotted by clang compiler
|
||
|
and have been fixed.
|
||
|
|
||
|
* The documentation has been updated to hint the connection between
|
||
|
the '--signoff' option and DCO.
|
||
|
|
||
|
* "git reflog" incorrectly assumed that all objects that used to be
|
||
|
at the tip of a ref must be commits, which caused it to segfault.
|
||
|
|
||
|
* The ignore mechanism saw a few regressions around untracked file
|
||
|
listing and sparse checkout selection areas in 2.7.0; the change
|
||
|
that is responsible for the regression has been reverted.
|
||
|
|
||
|
* Some codepaths used fopen(3) when opening a fixed path in $GIT_DIR
|
||
|
(e.g. COMMIT_EDITMSG) that is meant to be left after the command is
|
||
|
done. This however did not work well if the repository is set to
|
||
|
be shared with core.sharedRepository and the umask of the previous
|
||
|
user is tighter. They have been made to work better by calling
|
||
|
unlink(2) and retrying after fopen(3) fails with EPERM.
|
||
|
|
||
|
* Asking gitweb for a nonexistent commit left a warning in the server
|
||
|
log.
|
||
|
|
||
|
* "git rebase", unlike all other callers of "gc --auto", did not
|
||
|
ignore the exit code from "gc --auto".
|
||
|
|
||
|
* Many codepaths that run "gc --auto" before exiting kept packfiles
|
||
|
mapped and left the file descriptors to them open, which was not
|
||
|
friendly to systems that cannot remove files that are open. They
|
||
|
now close the packs before doing so.
|
||
|
|
||
|
* A recent optimization to filter-branch in v2.7.0 introduced a
|
||
|
regression when --prune-empty filter is used, which has been
|
||
|
corrected.
|
||
|
|
||
|
* The description for SANITY prerequisite the test suite uses has
|
||
|
been clarified both in the comment and in the implementation.
|
||
|
|
||
|
* "git tag" started listing a tag "foo" as "tags/foo" when a branch
|
||
|
named "foo" exists in the same repository; remove this unnecessary
|
||
|
disambiguation, which is a regression introduced in v2.7.0.
|
||
|
|
||
|
* The way "git svn" uses auth parameter was broken by Subversion
|
||
|
1.9.0 and later.
|
||
|
|
||
|
* The "split" subcommand of "git subtree" (in contrib/) incorrectly
|
||
|
skipped merges when it shouldn't, which was corrected.
|
||
|
|
||
|
* A few options of "git diff" did not work well when the command was
|
||
|
run from a subdirectory.
|
||
|
|
||
|
* dirname() emulation has been added, as Msys2 lacks it.
|
||
|
|
||
|
* The underlying machinery used by "ls-files -o" and other commands
|
||
|
have been taught not to create empty submodule ref cache for a
|
||
|
directory that is not a submodule. This removes a ton of wasted
|
||
|
CPU cycles.
|
||
|
|
||
|
* Drop a few old "todo" items by deciding that the change one of them
|
||
|
suggests is not such a good idea, and doing the change the other
|
||
|
one suggested to do.
|
||
|
|
||
|
* Documentation for "git fetch --depth" has been updated for clarity.
|
||
|
|
||
|
* The command line completion learned a handful of additional options
|
||
|
and command specific syntax.
|
||
|
|
||
|
Also includes a handful of documentation and test updates.
|