| Git v2.8.4 Release Notes | |
| ======================== | |
| Fixes since v2.8.3 | |
| ------------------ | |
| * Documentation for "git merge --verify-signatures" has been updated | |
| to clarify that the signature of only the commit at the tip is | |
| verified. Also the phrasing used for signature and key validity is | |
| adjusted to align with that used by OpenPGP. | |
| * On Windows, .git and optionally any files whose name starts with a | |
| dot are now marked as hidden, with a core.hideDotFiles knob to | |
| customize this behaviour. | |
| * Portability enhancement for "rebase -i" to help platforms whose | |
| shell does not like "for i in <empty>" (which is not POSIX-kosher). | |
| * "git fsck" learned to catch NUL byte in a commit object as | |
| potential error and warn. | |
| * CI test was taught to build documentation pages. | |
| * Many 'linkgit:<git documentation page>' references were broken, | |
| which are all fixed with this. | |
| * "git describe --contains" often made a hard-to-justify choice of | |
| tag to give name to a given commit, because it tried to come up | |
| with a name with smallest number of hops from a tag, causing an old | |
| commit whose close descendant that is recently tagged were not | |
| described with respect to an old tag but with a newer tag. It did | |
| not help that its computation of "hop" count was further tweaked to | |
| penalize being on a side branch of a merge. The logic has been | |
| updated to favor using the tag with the oldest tagger date, which | |
| is a lot easier to explain to the end users: "We describe a commit | |
| in terms of the (chronologically) oldest tag that contains the | |
| commit." | |
| * Running tests with '-x' option to trace the individual command | |
| executions is a useful way to debug test scripts, but some tests | |
| that capture the standard error stream and check what the command | |
| said can be broken with the trace output mixed in. When running | |
| our tests under "bash", however, we can redirect the trace output | |
| to another file descriptor to keep the standard error of programs | |
| being tested intact. | |
| * "http.cookieFile" configuration variable clearly wants a pathname, | |
| but we forgot to treat it as such by e.g. applying tilde expansion. | |
| * When de-initialising all submodules, "git submodule deinit" gave a | |
| faulty recommendation to use "git submodule deinit .", which would | |
| result in a strange error message in a pathological corner case. | |
| This has been corrected to suggest "submodule deinit --all" instead. | |
| * Many commands normalize command line arguments from NFD to NFC | |
| variant of UTF-8 on OSX, but commands in the "diff" family did | |
| not, causing "git diff $path" to complain that no such path is | |
| known to Git. They have been taught to do the normalization. | |
| * A couple of bugs around core.autocrlf have been fixed. | |
| * "git difftool" learned to handle unmerged paths correctly in | |
| dir-diff mode. | |
| * The "are we talking with TTY, doing an interactive session?" | |
| detection has been updated to work better for "Git for Windows". | |
| Also contains other minor documentation updates and code clean-ups. |