1Git 2.22 Release Notes 2====================== 3 4Updates since v2.21 5------------------- 6 7UI, Workflows & Features 8 9 * "git checkout --no-overlay" can be used to trigger a new mode of 10 checking out paths out of the tree-ish, that allows paths that 11 match the pathspec that are in the current index and working tree 12 and are not in the tree-ish. 13 14 * The %(trailers) formatter in "git log --format=..." now allows to 15 optionally pick trailers selectively by keyword, show only values, 16 etc. 17 18 * Four new configuration variables {author,committer}.{name,email} 19 have been introduced to override user.{name,email} in more specific 20 cases. 21 22 * Command-line completion (in contrib/) learned to tab-complete the 23 "git submodule absorbgitdirs" subcommand. 24 25 * "git branch" learned a new subcommand "--show-current". 26 27 * Output from "diff --cc" did not show the original paths when the 28 merge involved renames. A new option adds the paths in the 29 original trees to the output. 30 31 * The command line completion (in contrib/) has been taught to 32 complete more subcommand parameters. 33 34 35Performance, Internal Implementation, Development Support etc. 36 37 * The diff machinery, one of the oldest parts of the system, which 38 long predates the parse-options API, uses fairly long and complex 39 handcrafted option parser. This is being rewritten to use the 40 parse-options API. 41 42 * The implementation of pack-redundant has been updated for 43 performance in a repository with many packfiles. 44 45 * A more structured way to obtain execution trace has been added. 46 47 * "git prune" has been taught to take advantage of reachability 48 bitmap when able. 49 50 51Fixes since v2.21 52----------------- 53 54 * "git prune-packed" did not notice and complain against excess 55 arguments given from the command line, which now it does. 56 (merge 9b0bd87ed2 rj/prune-packed-excess-args later to maint). 57 58 * Split-index fix. 59 (merge 6e37c8ed3c nd/split-index-null-base-fix later to maint). 60 61 * "git diff --no-index" may still want to access Git goodies like 62 --ext-diff and --textconv, but so far these have been ignored, 63 which has been corrected. 64 (merge 287ab28bfa jk/diff-no-index-initialize later to maint). 65 66 * Unify RPC code for smart http in protocol v0/v1 and v2, which fixes 67 a bug in the latter (lack of authentication retry) and generally 68 improves the code base. 69 (merge a97d00799a jt/http-auth-proto-v2-fix later to maint). 70 71 * Code cleanup, docfix, build fix, etc. 72 (merge 11f470aee7 jc/test-yes-doc later to maint). 73 (merge 90503a240b js/doc-symref-in-proto-v1 later to maint). 74 (merge 5c326d1252 jk/unused-params later to maint). 75 (merge 68cabbfda3 dl/doc-submodule-wo-subcommand later to maint). 76 (merge 9903623761 ab/receive-pack-use-after-free-fix later to maint). 77 (merge 1ede45e44b en/merge-options-doc later to maint). 78 (merge 3e14dd2c8e rd/doc-hook-used-in-sample later to maint). 79 (merge c271dc28fd nd/no-more-check-racy later to maint).