[ANNOUNCE] Git v2.30.1

From: Junio C Hamano
Date: Mon Feb 08 2021 - 18:50:49 EST


The latest maintenance release Git v2.30.1 is now available at the
usual places. This is to propagate obvious fixes that have
accumulated on the 'master' front down to the 2.30.x series.

The tarballs are found at:

https://www.kernel.org/pub/software/scm/git/

The following public repositories all have a copy of the 'v2.30.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.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=<var> <cmd>" should not run <cmd> for
any repository when the configuration variable <var> 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.

----------------------------------------------------------------

Changes since v2.30.0 are as follows:

Adam Dinwoodie (1):
t4129: fix setfacl-related permissions failure

Antonio Russo (1):
t6016: move to lib-log-graph.sh framework

Daniel Levin (1):
git-p4: fix syncing file types with pattern

Derrick Stolee (1):
for-each-repo: do nothing on empty config

Elijah Newren (3):
t7012: add a testcase demonstrating stash apply bugs in sparse checkouts
stash: remove unnecessary process forking
stash: fix stash application in sparse-checkouts

Felipe Contreras (1):
test: bisect-porcelain: fix location of files

Jeff King (5):
git_connect_git(): forbid newlines in host and path
fsck: reject .gitmodules git:// urls with newlines
t5516: loosen "not our ref" error check
patch-ids: handle duplicate hashmap entries
p5303: avoid sed GNU-ism

Johannes Schindelin (1):
SKIP_DASHED_BUILT_INS: respect `config.mak`

Johannes Sixt (1):
annotate-tests: quote variable expansions containing path names

Jonathan Tan (1):
Doc: clarify contents of packfile sent as URI

Junio C Hamano (5):
parse-options: format argh like error messages
SubmittingPatches: tighten wording on "sign-off" procedure
ci/install-depends: attempt to fix "brew cask" stuff
Prepare for 2.30.1
Git 2.30.1

Martin Ågren (9):
t1300: remove duplicate test for `--file ../foo`
t1300: remove duplicate test for `--file no-such-file`
t1300: don't needlessly work with `core.foo` configs
pack-format.txt: document sizes at start of delta data
builtin/gc: don't peek into `struct lock_file`
commit-graph: don't peek into `struct lock_file`
midx: don't peek into `struct lock_file`
refs/files-backend: don't peek into `struct lock_file`
read-cache: try not to peek into `struct {lock_,temp}file`

Matheus Tavares (1):
t4129: don't fail if setgid is set in the test directory

Peter Kaestle (1):
submodules: fix of regression on fetching of non-init subsub-repo

Philippe Blain (3):
gitmodules.txt: fix 'GIT_WORK_TREE' variable name
mergetool--lib: fix '--tool-help' to correctly show available tools
ci: do not cancel all jobs of a matrix if one fails

René Scharfe (1):
rebase: verify commit parameter

Taylor Blau (2):
p7519: allow running without watchman prereq
Documentation/git-clone.txt: document race with --local

Thomas Ackermann (1):
doc: fix some typos

Utku Gultopu (1):
doc: remove "directory cache" from man pages

Vasyl Vavrychuk (1):
git-send-email.txt: mention less secure app access with Gmail

ZheNing Hu (1):
builtin/*: update usage format

brian m. carlson (1):
docs: rephrase and clarify the git status --short format

Ævar Arnfjörð Bjarmason (10):
branch: change "--local" to "--list" in comment
branch tests: add to --sort tests
ref-filter: add braces to if/else if/else chain
ref-filter: move "cmp_fn" assignment into "else if" arm
ref-filter: move ref_sorting flags to a bitfield
branch: sort detached HEAD based on a flag
branch: show "HEAD detached" first under reverse sort
Makefile: remove a warning about old GETTEXT_POISON flag
gettext.c: remove/reword a mostly-useless comment
fsck doc: remove ancient out-of-date diagnostics