1Git 2.24 Release Notes 2====================== 3 4Updates since v2.23 5------------------- 6 7Backward compatibility note 8 9 * (no entry yet so far) 10 11 12UI, Workflows & Features 13 14 * The command line parser learned "--end-of-options" notation; the 15 standard convention for scripters to have hardcoded set of options 16 first on the command line, and force the command to treat end-user 17 input as non-options, has been to use "--" as the delimiter, but 18 that would not work for commands that use "--" as a delimiter 19 between revs and pathspec. 20 21 * A mechanism to affect the default setting for a (related) group of 22 configuration variables is introduced. 23 24 * "git fetch" learned "--set-upstream" option to help those who first 25 clone from their private fork they intend to push to, add the true 26 upstream via "git remote add" and then "git fetch" from it. 27 28 * Device-tree files learned their own userdiff patterns. 29 (merge 3c81760bc6 sb/userdiff-dts later to maint). 30 31 32Performance, Internal Implementation, Development Support etc. 33 34 * The code to write commit-graph over given commit object names has 35 been made a bit more robust. 36 37 * The first line of verbose output from each test piece now carries 38 the test name and number to help scanning with eyeballs. 39 40 * Further clean-up of the initialization code. 41 42 43Fixes since v2.23 44----------------- 45 46 * "git grep --recurse-submodules" that looks at the working tree 47 files looked at the contents in the index in submodules, instead of 48 files in the working tree. 49 (merge 6a289d45c0 mt/grep-submodules-working-tree later to maint). 50 51 * Codepaths to walk tree objects have been audited for integer 52 overflows and hardened. 53 (merge 5aa02f9868 jk/tree-walk-overflow later to maint). 54 55 * "git pack-refs" can lose refs that are created while running, which 56 is getting corrected. 57 (merge a613d4f817 sc/pack-refs-deletion-racefix later to maint). 58 59 * "git checkout" and "git restore" to re-populate the index from a 60 tree-ish (typically HEAD) did not work correctly for a path that 61 was removed and then added again with the intent-to-add bit, when 62 the corresponding working tree file was empty. This has been 63 corrected. 64 65 * Compilation fix. 66 (merge 70597e8386 rs/nedalloc-fixlets later to maint). 67 68 * "git gui" learned to call the clean-up procedure before exiting. 69 (merge 0d88f3d2c5 py/git-gui-do-quit later to maint). 70 71 * We promoted the "indent heuristics" that decides where to split 72 diff hunks from experimental to the default a few years ago, but 73 some stale documentation still marked it as experimental, which has 74 been corrected. 75 (merge 64e5e1fba1 sg/diff-indent-heuristic-non-experimental later to maint). 76 77 * Fix a mismerge that happened in 2.22 timeframe. 78 (merge acb7da05ac en/checkout-mismerge-fix later to maint). 79 80 * "git archive" recorded incorrect length in extended pax header in 81 some corner cases, which has been corrected. 82 (merge 71d41ff651 rs/pax-extended-header-length-fix later to maint). 83 84 * On-demand object fetching in lazy clone incorrectly tried to fetch 85 commits from submodule projects, while still working in the 86 superproject, which has been corrected. 87 (merge a63694f523 jt/diff-lazy-fetch-submodule-fix later to maint). 88 89 * Prepare get_short_oid() codepath to be thread-safe. 90 (merge 7cfcb16b0e rs/sort-oid-array-thread-safe later to maint). 91 92 * "for-each-ref" and friends that show refs did not protect themselves 93 against ancient tags that did not record tagger names when asked to 94 show "%(taggername)", which have been corrected. 95 (merge 8b3f33ef11 mp/for-each-ref-missing-name-or-email later to maint). 96 97 * The "git am" based backend of "git rebase" ignored the result of 98 updating ".gitattributes" done in one step when replaying 99 subsequent steps. 100 (merge 2c65d90f75 bc/reread-attributes-during-rebase later to maint). 101 102 * Other code cleanup, docfix, build fix, etc. 103 (merge d1387d3895 en/fast-import-merge-doc later to maint). 104 (merge 1c24a54ea4 bm/repository-layout-typofix later to maint). 105 (merge 415b770b88 ds/midx-expire-repack later to maint). 106 (merge 19800bdc3f nd/diff-parseopt later to maint). 107 (merge 58166c2e9d tg/t0021-racefix later to maint).