1 Git v2.39.3 Release Notes
2 =========================
4 This release is primarily to merge fixes accumulated on the 'master'
5 front to prepare for 2.40 release that are still relevant to 2.39.x
11 * Stop running win+VS build by default.
13 * CI updates. We probably want a clean-up to move the long shell
14 script embedded in yaml file into a separate file, but that can
17 * Avoid unnecessary builds in CI, with settings configured in
20 * Redefining system functions for a few functions did not follow our
21 usual "implement git_foo() and #define foo(args) git_foo(args)"
22 pattern, which has broken build for some folks.
24 * Deal with a few deprecation warning from cURL library.
26 * Newer regex library macOS stopped enabling GNU-like enhanced BRE,
27 where '\(A\|B\)' works as alternation, unless explicitly asked with
28 the REG_ENHANCED flag. "git grep" now can be compiled to do so, to
29 retain the old behaviour.
31 * When given a pattern that matches an empty string at the end of a
32 line, the code to parse the "git diff" line-ranges fell into an
33 infinite loop, which has been corrected.
35 * Fix the sequence to fsync $GIT_DIR/packed-refs file that forgot to
36 flush its output to the disk..
38 * "git diff --relative" did not mix well with "git diff --ext-diff",
39 which has been corrected.
41 * The logic to see if we are using the "cone" mode by checking the
42 sparsity patterns has been tightened to avoid mistaking a pattern
43 that names a single file as specifying a cone.
45 * Doc update for environment variables set when hooks are invoked.
47 * Document ORIG_HEAD a bit more.
49 * "git ls-tree --format='%(path) %(path)' $tree $path" showed the
50 path three times, which has been corrected.
52 * Document that "branch -f <branch>" disables only the safety to
53 avoid recreating an existing branch.
55 * Clarify how "checkout -b/-B" and "git branch [-f]" are similar but
56 different in the documentation.
58 Also contains minor documentation updates and code clean-ups.