blob: 5b65e352457794da4145ab8219852cd808f9c688 [file] [log] [blame]
Git v2.6.2 Release Notes
========================
Fixes since v2.6.1
------------------
* There were some classes of errors that "git fsck" diagnosed to its
standard error that did not cause it to exit with non-zero status.
* A test script for the HTTP service had a timing dependent bug,
which was fixed.
* Performance-measurement tests did not work without an installed Git.
* On a case insensitive filesystems, setting GIT_WORK_TREE variable
using a random cases that does not agree with what the filesystem
thinks confused Git that it wasn't inside the working tree.
* When "git am" was rewritten as a built-in, it stopped paying
attention to user.signingkey, which was fixed.
* After "git checkout --detach", "git status" reported a fairly
useless "HEAD detached at HEAD", instead of saying at which exact
commit.
* "git rebase -i" had a minor regression recently, which stopped
considering a line that begins with an indented '#' in its insn
sheet not a comment, which is now fixed.
* Description of the "log.follow" configuration variable in "git log"
documentation is now also copied to "git config" documentation.
* Allocation related functions and stdio are unsafe things to call
inside a signal handler, and indeed killing the pager can cause
glibc to deadlock waiting on allocation mutex as our signal handler
tries to free() some data structures in wait_for_pager(). Reduce
these unsafe calls.
* The way how --ref/--notes to specify the notes tree reference are
DWIMmed was not clearly documented.
* Customization to change the behaviour with "make -w" and "make -s"
in our Makefile was broken when they were used together.
* The Makefile always runs the library archiver with hardcoded "crs"
options, which was inconvenient for exotic platforms on which
people want to use programs with totally different set of command
line options.
* The ssh transport, just like any other transport over the network,
did not clear GIT_* environment variables, but it is possible to
use SendEnv and AcceptEnv to leak them to the remote invocation of
Git, which is not a good idea at all. Explicitly clear them just
like we do for the local transport.
* "git blame --first-parent v1.0..v2.0" was not rejected but did not
limit the blame to commits on the first parent chain.
* Very small number of options take a parameter that is optional
(which is not a great UI element as they can only appear at the end
of the command line). Add notice to documentation of each and
every one of them.
Also contains typofixes, documentation updates and trivial code
clean-ups.