Subject: [ANNOUNCE] Git v2.37.3

From: Junio C Hamano <[email-masked]>
Date: Tue, 30 Aug 2022 11:40:58 -0700

The latest maintenance release Git v2.37.3 is now available at
the usual places.  Updating to this version is not urgent, but
if you were affected by regressions in v2.37.0, it may be worth
your time to do so.

The tarballs are found at:

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

The following public repositories all have a copy of the 'v2.37.3'
tag and the 'maint' branch that the tag points at:

  url = https://git.kernel.org/pub/scm/git/git
  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.37.3 Release Notes
========================

This primarily is to backport various fixes accumulated on the 'master'
front since 2.37.2.

Fixes since v2.37.2
-------------------

 * The build procedure for Windows that uses CMake has been updated to
   pick up the shell interpreter from local installation location.

 * Conditionally allow building Python interpreter on Windows

 * Fix to lstat() emulation on Windows.

 * Older gcc with -Wall complains about the universal zero initializer
   "struct s = { 0 };" idiom, which makes developers' lives
   inconvenient (as -Werror is enabled by DEVELOPER=YesPlease).  The
   build procedure has been tweaked to help these compilers.

 * Plug memory leaks in the failure code path in the "merge-ort" merge
   strategy backend.

 * Avoid repeatedly running getconf to ask libc version in the test
   suite, and instead just as it once per script.

 * Platform-specific code that determines if a directory is OK to use
   as a repository has been taught to report more details, especially
   on Windows.

 * "vimdiff3" regression has been corrected.

 * "git fsck" reads mode from tree objects but canonicalizes the mode
   before passing it to the logic to check object sanity, which has
   hid broken tree objects from the checking logic.  This has been
   corrected, but to help exiting projects with broken tree objects
   that they cannot fix retroactively, the severity of anomalies this
   code detects has been demoted to "info" for now.

 * Fixes to sparse index compatibility work for "reset" and "checkout"
   commands.

 * Documentation for "git add --renormalize" has been improved.

Also contains other minor documentation updates and code clean-ups.

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

Changes since v2.37.2 are as follows:

Carlo Marcelo Arenas Belón (1):
      cmake: support local installations of git

Felipe Contreras (7):
      mergetools: vimdiff: fix comment
      mergetools: vimdiff: make vimdiff3 actually work
      mergetools: vimdiff: silence annoying messages
      mergetools: vimdiff: fix for diffopt
      mergetools: vimdiff: rework tab logic
      mergetools: vimdiff: fix single window layouts
      mergetools: vimdiff: simplify tabfirst

Glen Choo (1):
      Documentation/git-reflog: remove unneeded \ from \{

Jeff King (4):
      config.mak.dev: squelch -Wno-missing-braces for older gcc
      tree-walk: add a mechanism for getting non-canonicalized modes
      fsck: actually detect bad file modes in trees
      fsck: downgrade tree badFilemode to "info"

Johannes Schindelin (11):
      windows: include the Python bits when building Git for Windows
      mingw: remove unneeded `NO_GETTEXT` directive
      mingw: remove unneeded `NO_CURL` directive
      lstat(mingw): correctly detect ENOTDIR scenarios
      merge-ort: clean up after failed merge
      merge-ort: do leave trace2 region even if checkout fails
      setup: fix some formatting
      setup: prepare for more detailed "dubious ownership" messages
      mingw: provide details about unsafe directories' ownership
      mingw: be more informative when ownership check fails on FAT32
      mingw: handle a file owned by the Administrators group correctly

Junio C Hamano (2):
      A handful more topics from the 'master' front for 2.37.3
      Git 2.37.3

Philip Oakley (1):
      doc add: renormalize is not idempotent for CRCRLF

Phillip Wood (1):
      tests: cache glibc version check

Victoria Dye (4):
      checkout: fix nested sparse directory diff in sparse index
      oneway_diff: handle removed sparse directories
      cache.h: create 'index_name_pos_sparse()'
      unpack-trees: unpack new trees as sparse directories

Ævar Arnfjörð Bjarmason (1):
      hook API: don't segfault on strbuf_addf() to NULL "out"