The latest maintenance release Git v2.25.2 is now available at the usual places. These merge down various fixes that have been merged to 'master' and will be part of the upcoming v2.26.0 release. The tarballs are found at: https://www.kernel.org/pub/software/scm/git/ The following public repositories all have a copy of the 'v2.25.2' 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 2.25.2 Release Notes ======================== Fixes since v2.25.1 ------------------- * Minor bugfixes to "git add -i" that has recently been rewritten in C. * An earlier update to show the location of working tree in the error message did not consider the possibility that a git command may be run in a bare repository, which has been corrected. * The "--recurse-submodules" option of various subcommands did not work well when run in an alternate worktree, which has been corrected. * Running "git rm" on a submodule failed unnecessarily when .gitmodules is only cache-dirty, which has been corrected. * "git rebase -i" identifies existing commits in its todo file with their abbreviated object name, which could become ambigous as it goes to create new commits, and has a mechanism to avoid ambiguity in the main part of its execution. A few other cases however were not covered by the protection against ambiguity, which has been corrected. * The index-pack code now diagnoses a bad input packstream that records the same object twice when it is used as delta base; the code used to declare a software bug when encountering such an input, but it is an input error. * The code to automatically shrink the fan-out in the notes tree had an off-by-one bug, which has been killed. * "git check-ignore" did not work when the given path is explicitly marked as not ignored with a negative entry in the .gitignore file. * The merge-recursive machinery failed to refresh the cache entry for a merge result in a couple of places, resulting in an unnecessary merge failure, which has been fixed. * Fix for a bug revealed by a recent change to make the protocol v2 the default. * "git merge signed-tag" while lacking the public key started to say "No signature", which was utterly wrong. This regression has been reverted. * MinGW's poll() emulation has been improved. * "git show" and others gave an object name in raw format in its error output, which has been corrected to give it in hex. * Both "git ls-remote -h" and "git grep -h" give short usage help, like any other Git subcommand, but it is not unreasonable to expect that the former would behave the same as "git ls-remote --head" (there is no other sensible behaviour for the latter). The documentation has been updated in an attempt to clarify this. Also contains various documentation updates, code clean-ups and minor fixups. ---------------------------------------------------------------- Changes since v2.25.1 are as follows: Alexandr Miloslavskiy (1): mingw: workaround for hangs when sending STDIN Beat Bolli (1): unicode: update the width tables to Unicode 13.0 David Turner (1): git rm submodule: succeed if .gitmodules index stat info is zero Derrick Stolee (2): partial-clone: demonstrate bugs in partial fetch partial-clone: avoid fetching when looking for objects Elijah Newren (4): unpack-trees: exit check_updates() early if updates are not wanted check-ignore: fix documentation and implementation to match t3433: new rebase testcase documenting a stat-dirty-like failure merge-recursive: fix the refresh logic in update_file_flags Emily Shaffer (2): prefix_path: show gitdir when arg is outside repo prefix_path: show gitdir if worktree unavailable Harald van Dijk (1): show_one_mergetag: print non-parent in hex form. Jeff King (9): merge-recursive: silence -Wxor-used-as-pow warning avoid computing zero offsets from NULL pointer xdiff: avoid computing non-zero offset from NULL pointer obstack: avoid computing offsets from NULL pointer index-pack: downgrade twice-resolved REF_DELTA to die() doc: move credential helper info into gitcredentials(7) doc/config/push: use longer "--" line for preformatted example doc-diff: use single-colon rule in rendering Makefile run-command.h: fix mis-indented struct member Johan Herland (2): t3305: check notes fanout more carefully and robustly notes.c: fix off-by-one error when decreasing notes fanout Johannes Schindelin (11): built-in add -i: do not try to `patch`/`diff` an empty list of files built-in add -i: accept open-ended ranges again parse_insn_line(): improve error message when parsing failed rebase -i: re-fix short SHA-1 collision rebase -i: also avoid SHA-1 collisions with missingCommitsCheck tests: fix --write-junit-xml with subshells t5580: test cloning without file://, test fetching via UNC paths mingw: add a helper function to attach GDB to the current process t/lib-httpd: avoid using macOS' sed ci: prevent `perforce` from being quarantined Azure Pipeline: switch to the latest agent pools Junio C Hamano (4): merge-recursive: use subtraction to flip stage Documentation: clarify that `-h` alone stands for `help` Revert "gpg-interface: prefer check_signature() for GPG verification" Git 2.25.2 Philippe Blain (4): t7410: rename to t2405-worktree-submodule.sh t2405: use git -C and test_commit -C instead of subshells t2405: clarify test descriptions and simplify test submodule.c: use get_git_dir() instead of get_git_common_dir()