Git - v2.39.3

Security

This release merges up the fix that appears in v2.30.9, v2.31.8,
v2.32.7, v2.33.8, v2.34.8, v2.35.8, v2.36.6, v2.37.7 and v2.38.5 to
address the security issues CVE-2023-25652, CVE-2023-25815, and
CVE-2023-29007; see the release notes for these versions for
details.

This release also merges fixes that have accumulated on the 'master'
front to prepare for the 2.40 release that are still relevant to
2.39.x maintenance track.

Fixes since v2.39.2

  • Stop running win+VS build by default.

  • CI updates. We probably want a clean-up to move the long shell
    script embedded in yaml file into a separate file, but that can
    come later.

  • Avoid unnecessary builds in CI, with settings configured in
    ci-config.

  • Redefining system functions for a few functions did not follow our
    usual "implement git_foo() and #define foo(args) git_foo(args)"
    pattern, which has broken build for some folks.

  • Deal with a few deprecation warning from cURL library.

  • Newer regex library macOS stopped enabling GNU-like enhanced BRE,
    where '(A\|B)' works as alternation, unless explicitly asked with
    the REG_ENHANCED flag. "git grep" now can be compiled to do so, to
    retain the old behaviour.

  • When given a pattern that matches an empty string at the end of a
    line, the code to parse the "git diff" line-ranges fell into an
    infinite loop, which has been corrected.

  • Fix the sequence to fsync $GIT_DIR/packed-refs file that forgot to
    flush its output to the disk..

  • "git diff --relative" did not mix well with "git diff --ext-diff",
    which has been corrected.

  • The logic to see if we are using the "cone" mode by checking the
    sparsity patterns has been tightened to avoid mistaking a pattern
    that names a single file as specifying a cone.

  • Doc update for environment variables set when hooks are invoked.

  • Document ORIG_HEAD a bit more.

  • "git ls-tree --format='%(path) %(path)' $tree $path" showed the
    path three times, which has been corrected.

  • Document that "branch -f " disables only the safety to
    avoid recreating an existing branch.

  • Clarify how "checkout -b/-B" and "git branch [-f]" are similar but
    different in the documentation.

Also contains minor documentation updates and code clean-ups.


Details

date
April 18, 2023, 1:54 a.m.
type
Patch
👇
Register or login to:
  • 🔍View and search all Git releases.
  • 🛠️Create and share lists to track your tools.
  • 🚨Setup notifications for major, security, feature or patch updates.
  • 🚀Much more coming soon!
Continue with GitHub
Continue with Google
or