The latest maintenance release Git v2.15.1 is now available at the usual places. The tarballs are found at: https://www.kernel.org/pub/software/scm/git/ The following public repositories all have a copy of the 'v2.15.1' tag and the 'maint' branch that the tag points at: url = https://kernel.googlesource.com/pub/scm/git/git url = git://repo.or.cz/alt-git.git url = https://github.com/gitster/git ---------------------------------------------------------------- Git v2.15.1 Release Notes ========================= Fixes since v2.15 ----------------- * TravisCI build updates. * "auto" as a value for the columnar output configuration ought to judge "is the output consumed by humans?" with the same criteria as "auto" for coloured output configuration, i.e. either the standard output stream is going to tty, or a pager is in use. We forgot the latter, which has been fixed. * The experimental "color moved lines differently in diff output" feature was buggy around "ignore whitespace changes" edges, which has been corrected. * Instead of using custom line comparison and hashing functions to implement "moved lines" coloring in the diff output, use the pair of these functions from lower-layer xdiff/ code. * Some codepaths did not check for errors when asking what branch the HEAD points at, which have been fixed. * "git commit", after making a commit, did not check for errors when asking on what branch it made the commit, which has been corrected. * "git status --ignored -u" did not stop at a working tree of a separate project that is embedded in an ignored directory and listed files in that other project, instead of just showing the directory itself as ignored. * A broken access to object databases in recent update to "git grep --recurse-submodules" has been fixed. * A recent regression in "git rebase -i" that broke execution of git commands from subdirectories via "exec" instruction has been fixed. * "git check-ref-format --branch @{-1}" bit a "BUG()" when run outside a repository for obvious reasons; clarify the documentation and make sure we do not even try to expand the at-mark magic in such a case, but still call the validation logic for branch names. * Command line completion (in contrib/) update. * Description of blame.{showroot,blankboundary,showemail,date} configuration variables have been added to "git config --help". * After an error from lstat(), diff_populate_filespec() function sometimes still went ahead and used invalid data in struct stat, which has been fixed. * UNC paths are also relevant in Cygwin builds and they are now tested just like Mingw builds. * Correct start-up sequence so that a repository could be placed immediately under the root directory again (which was broken at around Git 2.13). * The credential helper for libsecret (in contrib/) has been improved to allow possibly prompting the end user to unlock secrets that are currently locked (otherwise the secrets may not be loaded). * Updates from GfW project. * "git rebase -i" recently started misbehaving when a submodule that is configured with 'submodule.<name>.ignore' is dirty; this has been corrected. * Some error messages did not quote filenames shown in it, which have been fixed. * Building with NO_LIBPCRE1_JIT did not disable it, which has been fixed. * We used to add an empty alternate object database to the system that does not help anything; it has been corrected. * Error checking in "git imap-send" for empty response has been improved. * An ancient bug in "git apply --ignore-space-change" codepath has been fixed. * There was a recent semantic mismerge in the codepath to write out a section of a configuration section, which has been corrected. Also contains various documentation updates and code clean-ups. ---------------------------------------------------------------- Changes since v2.15.0 are as follows: Adam Dinwoodie (3): t5580: add Cygwin support rebase -i: fix comment typo doc/SubmittingPatches: correct subject guidance Andrey Okoshkin (2): commit: check result of resolve_ref_unsafe diff: fix lstat() error handling in diff_populate_filespec() Brandon Williams (1): wt-status: actually ignore submodules when requested Carlos Martín Nieto (1): diff: --indent-heuristic is no longer experimental Charles Bailey (2): t4201: make use of abbreviation in the test more robust grep: fix NO_LIBPCRE1_JIT to fully disable JIT Dennis Kaarsemaker (1): credential-libsecret: unlock locked secrets Jacob Keller (1): sequencer: pass absolute GIT_DIR to exec commands Jakub Bereżański (2): t0302: check helper can handle empty credentials wincred: handle empty username/password correctly Jean Carlo Machado (1): fix typos in 2.15.0 release notes Jeff King (11): t4015: refactor --color-moved whitespace test t4015: check "negative" case for "-w --color-moved" t4015: test the output of "diff --color-moved -b" diff: fix whitespace-skipping with --color-moved diff: handle NULs in get_string_hash() test-ref-store: avoid passing NULL to printf remote: handle broken symrefs log: handle broken HEAD in decoration check worktree: handle broken symrefs in find_shared_symref() setup: avoid double slashes when looking for HEAD link_alt_odb_entries: make empty input a noop Johannes Schindelin (5): status: do not get confused by submodules in excluded directories mingw: include the full version information in the resources mingw: add experimental feature to redirect standard handles mingw: optionally redirect stderr/stdout via the same handle mingw: document the standard handle redirection Junio C Hamano (9): t5601: rm the target file of cp that could still be executing check-ref-format --branch: do not expand @{...} outside repository check-ref-format --branch: strip refs/heads/ using skip_prefix check-ref-format doc: --branch validates and expands <branch> column: do not include pager.c Start preparation for 2.15.1 Almost ready for 2.15.1 A bit more fixes for 2.15.1 Git 2.15.1 Kaartic Sivaraam (1): mailmap: use Kaartic Sivaraam's new address Kevin Daudt (1): column: show auto columns when pager is active Martin Ågren (7): grep: take the read-lock when adding a submodule bisect: change calling-convention of `find_bisection()` bisect: fix memory leak in `find_bisection()` bisect: fix off-by-one error in `best_bisection_sorted()` bisect: fix memory leak when returning best element builtin/merge-base: free commit lists reduce_heads: fix memory leaks René Scharfe (6): sequencer: factor out rewrite_file() sequencer: use O_TRUNC to truncate files imap-send: handle NULL return of next_arg() imap-send: handle missing response codes gracefully apply: avoid out-of-bounds access in fuzzy_matchlines() config: flip return value of write_section() SZEDER Gábor (2): travis-ci: fix running P4 and Git LFS tests in Linux build jobs travis-ci: don't build Git for the static analysis job Simon Ruderich (2): sequencer.c: check return value of close() in rewrite_file() wrapper.c: consistently quote filenames in error messages Stefan Beller (3): xdiff-interface: export comparing and hashing strings diff.c: get rid of duplicate implementation config: document blame configuration Thomas Braun (1): completion: add remaining flags to checkout Todd Zullinger (3): Replace Free Software Foundation address in license notices Replace Free Software Foundation address in license notices RelNotes: minor typo fixes in 2.15.1 draft