Git v2.30.1 Release Notes ========================= This release is primarily to merge fixes accumulated on the 'master' front to prepare for 2.31 release that are still relevant to 2.30.x maintenance track. Fixes since v2.30 ----------------- * "git fetch --recurse-submodules" failed to update a submodule when it has an uninitialized (hence of no interest to the user) sub-submodule, which has been corrected. * Command line error of "git rebase" are diagnosed earlier. * "git stash" did not work well in a sparsely checked out working tree. * Some tests expect that "ls -l" output has either '-' or 'x' for group executable bit, but setgid bit can be inherited from parent directory and make these fields 'S' or 's' instead, causing test failures. * "git for-each-repo --config= " should not run for any repository when the configuration variable is not defined even once. * "git mergetool --tool-help" was broken in 2.29 and failed to list all the available tools. * Fix for procedure to building CI test environment for mac. * Newline characters in the host and path part of git:// URL are now forbidden. * When more than one commit with the same patch ID appears on one side, "git log --cherry-pick A...B" did not exclude them all when a commit with the same patch ID appears on the other side. Now it does. * Documentation for "git fsck" lost stale bits that has become incorrect. * Doc for packfile URI feature has been clarified. * The implementation of "git branch --sort" wrt the detached HEAD display has always been hacky, which has been cleaned up. * Our setting of GitHub CI test jobs were a bit too eager to give up once there is even one failure found. Tweak the knob to allow other jobs keep running even when we see a failure, so that we can find more failures in a single run. Also contains minor documentation updates and code clean-ups.